The Cost Of Running Compiz
With the most demanding OpenGL benchmark available for Linux right now, Unigine Heaven, the Radeon HD 4830 finally ended up being faster with the Catalyst driver when Compiz was disabled, but it was only a 2 FPS / 5% difference. When Compiz was running with the GeForce 9800GT on the proprietary NVIDIA driver its average frame-rate was 14 FPS while with Metacity it was at 25 FPS -- a striking 63% faster!
For those unfamiliar with how Compiz affects the OpenGL performance of a system even when running full-screen, now you know. With the Intel Linux driver and open-source Radeon driver as found in Ubuntu 10.04 with other newer distributions using kernel mode-setting and DRI2, there is about a 15% performance hit taken when Compiz is running with just the standard desktop effects. There are some games where the performance hit is not as much, but other cases where it is more. However, the Radeon driver when using the older user-space mode-setting with DRI1 support was barely affected by Compiz and in general is faster than the KMS-DRI2 code-paths that still need to be better optimized.
AMD's binary driver -- the ATI Catalyst driver -- overall did the best where it was immune from any performance drops when using Compiz over Metacity. Only with the very demanding Unigine Heaven was there any measurable impact from using Compiz and that was just at 5% while the performance of NVIDIA's driver had changed in that same test by more than 60%.
Like the Intel and Radeon DRI2/KMS drivers, the proprietary NVIDIA driver was also prone to noticeably lower frame-rates when Compiz was enabled to provide basic desktop effects on Ubuntu. Fortunately the NVIDIA driver is much faster than the open-source ATI/Intel drivers and their hardware is also faster, so the NVIDIA Linux gamer isn't affected as much unless the configuration right now is just on the brink of being playable. Some of NVIDIA's performance losses when running Compiz may also be recovered if starting Compiz with the --loose-binding argument where Compiz textures are enabled when they are created, which works around an issue of some NVIDIA driver releases being slow at binding textures. Of course, if you are unsatisfied with the performance when running a full-screen game or program under Compiz, you can always temporarily stop it until your driver(s) have better optimized composite performance or Compiz is changed to do direct rendering when running a full-screen application.
If you enjoyed this article consider joining Phoronix Premium to view this site ad-free, multi-page articles on a single page, and other benefits. PayPal or Stripe tips are also graciously accepted. Thanks for your support.