GTK 2 and general Linux graphics performance analysis

Written by Gionatan Danti on . Posted in Linux & Unix

User Rating:  / 9

Testbed and methods

To benchmark the graphical rendering speed I've use the Gtkperf benchmark program. It was configured to run 500 iteration of its base benchmark, which in turn draw the base GTK 2 elements (buttons, checkboxes, text, etc.) in a timed fashion.

After that, I run a second Gtkper instance while concurrently use the Oprofile software to profile some keys system data, in particular the usage of CPU cycles and the number of issued instructions. Hopefully, Oprofile will give us some hints on the most CPU-intensive libraries.

The tests were run on a Dell D620 laptop featuring

  • Core2 T7200 dual core processor @ 2.0 GHz (with disabled speedstep)

  • 4 GB of DDR-2 667 RAM

  • Quadro NVS 110 (GeForce 7300go) used with the standard VESA driver

  • Display resolution of 1024x768

A note about the video card and the display resolution: why use the standard vesa driver instead of the proprietary Nvidia driver or, maybe, the new nouveau driver? Simply put, the Nvidia driver is an high optimized but closed source driver, so it is quite difficult to know what it is doing. For example, based on driver version and display settings, font antialiasing could be or not be accelerated. On the other hand, the nouveau driver is an experimental one and quite often it fails to work.

The vesa driver is the most supported, most simple and most compatible driver available, yet it has a decent level of 2D acceleration. The only drawback is that the 16:10 and 16:9 resolutions are not supported, so I had to stick with the classic 1024x768 (instead of the panel's native resolution of 1440x900). Moreover, with the vesa driver we are sure that some advanced features (eg: font antialiasing) are managed by the software stack and not by the hardware chip, so we can amplify the eventual differences in rendering speed.

Ok, it's time for some benchmarks now...

You have no rights to post comments