GTK 2 and general Linux graphics performance analysis

Written by Gionatan Danti on . Posted in Linux & Unix

User Rating:  / 9


From this short article, we learned that the vast majority of CPU time/resources are use by the font rendering system and the pixel manager libraries. From a certain standpoint, this is absolutely natural: the graphical system has to do with fonts and pixels for all the time.

However, it seems to me that the absolute number of resource utilization is simply too high: it is not so difficult to see the GUI of a Linux machine to slow down noticeably, also on powerful hardware. Obviously, the situation is much worse on less recent PC. I clearly remember that on a PC equipped with an AthlonXP @ 2500 MHz, 512 MB of DDR RAM and a Nvidia 6600GT card some font-intensive applications as Mozilla Firefox where quite slow until I disabled Pango. On older machine, as a 1 GHz Celeron PC, Mozilla Firefox was virtually unusable until I again disabled Pango.

Also, these two old PC where perfectly capable of rendering web pages fast enough using a QT-based browser (as Opera), outperforming also the disabled-pango Firefox, so the problem is not in the hardware. As another point of reference please note that using Microsoft Windows these very same machines runs Firefox without problems.

So, I think that we have some serious bottlenecks on GTK 2 and especially Pango performances.

Speaking about Pango, these bottlenecks seems to not be related to the font rendering mode (with or without antialiasing and hinting), but with the font rendering itself.

Very ofter the X server is blamed for below-average Linux (and Unix) graphics speed, but I really think that with a not-archaic PC this is simply not true, as any last-decade PC should be able to manage X overhead without too much troubles. After all, I was running X on a 200 MHz PentumPro machine and I was happy with its performance. However, I'm sure that if I try to run on that old PentiumPro any GTK 2 application, the system would be brought to its knees...

You have no rights to post comments