[nvidia] XSync usage is a massive bottlenecking factor (nvidia performance regression in Compiz 0.9.8+)
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Compiz |
In Progress
|
High
|
Daniel van Vugt | ||
ubuntu-nexus7 |
Confirmed
|
Undecided
|
Unassigned | ||
compiz (Ubuntu) |
Triaged
|
High
|
Unassigned |
Bug Description
Currently our usage of XSync is very inefficient, and on drivers which likely send the command queue over the protocol, this can kill performance.
Neutering XSync usage throughout compiz had the effect of lifting framerates from 30fps to 50fps. Obviously we require synchronous operation for certain things, for example:
1) Updating clients on new window positions and stack positions if they are reparented
2) Ensuring tear-free window pixmap updates
3) Ensuring tear-free damage repair.
Doing one XSync for every event handled had a negligible performance impact (0.001 of a frame). We should look into batching all of our synchronous operations with the server into this window and avoid synchronizing the server all the time.
This also applies to other synchronous X11 operations such as XGetWindowAttri
Changed in compiz: | |
status: | New → Confirmed |
importance: | Undecided → High |
assignee: | nobody → Sam Spilsbury (smspillaz) |
milestone: | none → 0.9.8.4 |
description: | updated |
tags: | added: performance |
Changed in compiz: | |
status: | Confirmed → Triaged |
tags: | added: nvidia-is-slow |
Changed in compiz: | |
milestone: | 0.9.8.4 → 0.9.9.0 |
summary: |
- [nvidia] XSync usage is a massive bottlenecking factor + [nvidia] XSync usage is a massive bottlenecking factor (nvidia + performance regression in Compiz 0.9.8+) |
Changed in compiz: | |
assignee: | Sam Spilsbury (smspillaz) → Daniel van Vugt (vanvugt) |
Changed in compiz: | |
status: | Triaged → In Progress |
Changed in ubuntu-nexus7: | |
status: | New → Confirmed |
smspillaz:
Does reverting r3265 solve the problem significantly?