Comparison of KDE4 Graphics Performance on nVidia 8600GT and ATI HD3450
Five months ago I wrote a post about inadequate graphics performance of KDE4 and Qt4 applications on nVidia cards using the proprietary nVidia driver.
I was unhappy with the nVidia 8600GT performance and bought el cheapo ATI HD3450 card and was happy with how well it worked with KDE. But after I posted my KDE4 review I got several comments from people saying that nVidia fixed their driver. So I became curious and took my old 8600GT and tried it.
In short, the performance has been indeed improved. But... I felt something is still wrong. In particular, text rendering was not fast enough. Konsole suffered from this the most. The problem was also visible in Kate (see my bugreport with callgrind profile if you're curious).
I decided to isolate the problematic code and try it with different drivers and cards to see what's going on. I wrote a simple program which renders one long line (16000 chars) on the screen several times and compared the rendering time (see the code).
I ran it on my desktop with ATI and nVidia cards and also on my EeePC. I have Qt 4.5 on the desktop and was able to try the new "Raster" graphics system in Qt which basically does all the drawing bypassing X11. Rumors are the "raster" system is faster.
Here are the numbers I got (smaller is better):
Video Card | Driver | X11 | Raster |
---|---|---|---|
ATI Radeon HD3450 | fglrx 9.1 | 918 | 117 |
radeonhd | 768 | 112 | |
nVidia GeForce 8600GT | nvidia 180.29 | 1571 | 113 |
nv | 895 | 114 | |
nouveau | 1699 | 111 | |
Intel GMA 950 on EeePC | intel | 1029 | N/A |
Immediate conclusions from that comparison are:
- New raster graphics system from Qt 4.5 is 10x faster then usual Qt rendering code
- Proprietary nVidia driver is still 1.5x slower than opensource 'nv' driver or any ATI driver
- EeePC is so cool because Qt4/KDE4 renders text on it as fast as it does on more powerful graphics cards
Looking at these tests you might conclude that opensource nv and radeonhd drivers are the best. Yes, but only at rendering text. On my home computer I also want video and I wasn't able to use XV with any of the opensource drivers. With older cards XV may work, with mine it did not. Playing video through X11 was simply too slow so at this moment I'm forced to use proprietary driver. And exactly as five months ago, I choose ATI just because it's still faster.
I'm really looking forward distributions compiling Qt itself or Qt-based programs with Raster graphics system by default. Yes, it will make Qt/KDE applications slower on remote X sessions, but I'm ready to pay that penalty for the impressive 10x speedup in regular usage. For people who often use remove X, distributions may provide replacement Qt binaries compiled with X11 graphics system or provide a system-wide configuration.
ATI fglrx driver warnings and hints
Remember that video and 3d won't work with Composite. Also, X11 may freeze on shutdown. To avoid freezes, try these solutions one by one:
- do not use 'evdev' driver for keyboard and mouse, use 'kbd' and 'mouse' drivers instead
- stop atieventsd daemon
- add 'Option "Composite" "off"' to xorg.conf to turn off Composite completely
Next: | I'm Speaking at RailsConf 2009! |
Previous: | KDE 4.2 on EeePC Mini Review |