R300 + EXA slowness
21 septembre 2007Note : Cet article est en anglais car tout ce que je peux y raconter devrait surtout intéresser des anglophones !
As ATI proprietary drivers doesn’t work with recent (1.4.0) X.org server due to ABI changes, I cannot play World Of Warcraft anymore on my main computer… Not a bad thing as I now doesn’t waste my time on it anymore. :-)
So I tried Debian experimental ATI driver (that is xserver-xorg-video-ati package) together with (the new) EXA acceleration method. It is quite slow compared to XAA, so I used oprofile and sysprofile to see where the time was spent… About 60% is spent in memmove, called from RADEONCopySwap, called from RADEONDownloadFromScreenCP…
I didn’t found much on this issue using Google, so I asked on #xorg-devel. It seems that the main reason of slowness is the lack of support for (hardware) compositing in the R300 driver. But there is hope as Dave Airlie explained to me that we have all the info to do this in the current driver (no need for reverse engineering to implement this). All I have to do is writing a fragment shader for this (oh, and incidentally to learn about OpenGL and fragment shader !).