Cairo 1.12 Is A Good Performance Story
As I reported earlier this week, Cairo 1.12 was released earlier this week after being in development for the past year and a half. Besides other new features, the performance of Cairo 1.12 should be better than previous releases.
As mentioned in the earlier Cairo 1.12 article, "For bringing the Cairo performance improvements, the library's rasterization pipeline was overhauled and now allows for the different Cairo back-ends the ability to implement their own specific pipeline while being able to leverage a library of common routines. Clipping was also overhauled, stroking was made faster, and there's also four new anti-aliasing hints."
This week there's blog posts and performance results by Chris Wilson, the Intel OTC employee who works on Intel's open-source Linux graphics driver and is also heavily involved with Cairo's development.
Wilson's first blog post highlights the Intel performance on Cairo 1.12 compared to the earlier 1.10 release. "Across the board, with one or two exceptions, Cairo version 1.12 is much faster than 1.10. (Those one or two exceptions are interesting and quite unexpected. Analysing those regressions should help push Cairo further.) If we focus on the yellow bar, you can see that the performance of the baseline image backend has been improved consistently, peaking at almost 4 times faster, but on average around 50% faster. Note this excludes any performance gains also made by pixman within the same time frame...That tells us that we have made good improvements to Cairo’s performance, but a question that is often asked is whether using XRender is worthwhile and whether we would have better performance and more responsive user interfaces if we were just to use CPU rasterisation (using the image backend) and push those images to the X server."
In a second blog post, Chris Wilson has benchmarks from a NVIDIA ION setup. "What we can see is that as a result of Nvidia investing engineering time in their driver, on the whole, it performs better than we could by just using the CPU. Better performance means more responsive user interfaces that sip less power, meaning happier users for longer."
Via the Phoronix Test Suite you can also conduct your own Cairo benchmarks using cairo-demos and cairo-perf-trace.
As mentioned in the earlier Cairo 1.12 article, "For bringing the Cairo performance improvements, the library's rasterization pipeline was overhauled and now allows for the different Cairo back-ends the ability to implement their own specific pipeline while being able to leverage a library of common routines. Clipping was also overhauled, stroking was made faster, and there's also four new anti-aliasing hints."
This week there's blog posts and performance results by Chris Wilson, the Intel OTC employee who works on Intel's open-source Linux graphics driver and is also heavily involved with Cairo's development.
Wilson's first blog post highlights the Intel performance on Cairo 1.12 compared to the earlier 1.10 release. "Across the board, with one or two exceptions, Cairo version 1.12 is much faster than 1.10. (Those one or two exceptions are interesting and quite unexpected. Analysing those regressions should help push Cairo further.) If we focus on the yellow bar, you can see that the performance of the baseline image backend has been improved consistently, peaking at almost 4 times faster, but on average around 50% faster. Note this excludes any performance gains also made by pixman within the same time frame...That tells us that we have made good improvements to Cairo’s performance, but a question that is often asked is whether using XRender is worthwhile and whether we would have better performance and more responsive user interfaces if we were just to use CPU rasterisation (using the image backend) and push those images to the X server."
In a second blog post, Chris Wilson has benchmarks from a NVIDIA ION setup. "What we can see is that as a result of Nvidia investing engineering time in their driver, on the whole, it performs better than we could by just using the CPU. Better performance means more responsive user interfaces that sip less power, meaning happier users for longer."
Via the Phoronix Test Suite you can also conduct your own Cairo benchmarks using cairo-demos and cairo-perf-trace.
4 Comments