Comment 31 for bug 988079

Revision history for this message
Kenneth Russell (kbr-g) wrote : Re: [nvidia] Dismal compiz performance on HP Z600 with 30" landscape monitor

glxinfo output attached.

xrandr was reporting a 50 Hz refresh rate. I disabled "Detect Refresh Rate" in CCSM -> Composite, forced the refresh rate to 60 Hz, logged out, logged back in, confirmed the settings stuck, and re-tested glxgears and glmark2. No significant difference.

I installed glmark2 and ran the first few scenes under gnome-shell ("GNOME Classic (No effects)" from the login menu), gnome-shell with compiz ("GNOME Classic" from the login menu), and Unity ("Ubuntu" from the login menu), with -s 2550x1450 for all, which mostly fills the machine's screen. The detailed results are attached above. The first time I ran it with gnome-shell+compiz I didn't have the "Force full screen redraws" workaround enabled in CCSM; thus the two attachments.

In all situations, Sync to VBlank was turned on both in nvidia-settings and CCSM.

Without compiz glmark2 achieves a smooth framerate.

With compiz and gnome-shell glmark2 claims to be reaching between about 170 and 240 FPS depending on whether "Force full-screen redraws" is turned on in CCSM. However, it is *not* achieving this frame rate. The on-screen animation is visibly dropping frames. This clearly indicates that compiz is part of the problem.

With Unity glmark2 gets about 1 frame per second, confirmed from visual inspection. This clearly indicates that Unity is a major part of the problem.

Some colleagues have indicated that Unity is working well in similar workstations with recent NVIDIA graphics cards. I suspect that the problems occur when the GPU is fully saturated, which is much less likely to happen with newer cards. Unfortunately, we have thousands of Quadro FX 380 and 580 cards in deployment, and they have been working reasonably well up until now under Ubuntu 10.04.

It may well be that bug 987304 and bug 1005074 describe part of the problem reported here, but compiz is also unquestionably imposing overhead that is affecting the performance of OpenGL applications; the Unity shell is not the only problem.