Composite Bypass Support Sharply Bumps XMir's Performance
Composition bypass support finally landed this morning into the mainline Mir code-base ahead of the Ubuntu 13.10 feature-freeze. With the feature being merged and packages already being pushed into the 13.10 archive, benchmarks at Phoronix have already been conducted. The benchmarks to share this afternoon are of the Mir/XMir packages from yesterday against the Mir packages today with composite bypass support. Lastly, there are benchmarks of a pure X.Org Server running on the same hardware to look at the performance impact and current (reduced) overhead of Mir.
The feature that was merged at the last minute comes down to avoiding compositing when a full-screen game is running, since there shouldn't be tearing and by skipping the compositing process the system compositor overhead is sharply reduced. There are still performance optimizations to make in reducing the lost frame-rates from switching away from a raw X.Org Server running on the hardware, but this change is a big win for gamers. One issue that I've still found though and that these tests today still seem to confirm is that if running certain full-screen games at a lower resolution (where scaling to the real frame-buffer size), the composition bypass support doesn't seem to presently work.
With today's testing I used a System76 Gazelle Professional laptop for testing, that is presently on loan as a review sample from the kind Ubuntu-friendly folks at System76. This laptop is loaded with an Intel Core i7 4900MQ "Haswell" processor that provides HD Graphics 4600. Haswell graphics are great under Linux if using the very latest Linux driver code and overall I'm a big fan of Haswell. Intel graphics also seem to be what Mir developers are using the most when it comes to desktop development while the open-source Radeon and Nouveau drivers are working on Mir but potentially more buggy and less performant.
The testing in this article was of the Unity 7.1.0 desktop running atop X.Org Server 1.14.3, then atop X.Org Server 1.14.3 RC1 with the Mir/XMir packages as of last night, and then when only upgrading the Ubuntu Saucy packages this morning when the composite bypass support was running. Other Ubuntu 13.10 packages at the time were the Linux 3.11 kernel, xf86-video-intel 2.21.4, and Mesa 9.1.6. Mesa 9.2 was pulled into the Ubuntu 13.10 archive today finally and tomorrow on Phoronix will be Mesa 9.2 X.Org/Mir benchmarks.
All of this testing was facilitated by the Phoronix Test Suite, which Canonical is also using for running many of their Mir/X.Org OpenGL performance tests. Benchmark hosting is provided by OpenBenchmarking.org.