Created attachment 25583 [details]
Xorg.0.log and benchmark results in different setups with git HEAD (broken) and 6.12.2 (working)
I noticed a massive performance slow down recently. As an example I went from:
8000 reps @ 0.8995 msec ( 1110.0/sec): PutImage XY 100x100 square
20 reps @ 257.8685 msec ( 3.9/sec): PutImage XY 100x100 square
git bisect isolated this commit, but the story is not /that/ easy.
When running git HEAD with a default config I see in the logs:
(EE) RADEON(0): Static buffer allocation failed. Disabling DRI.
Then I get slow performance with EXA and UXA acceleration. The situation is normal with XAA acceleration.
Thinking that the problem might be that DRI is failing I fixed my 'Virtual' setting in xorg.conf and now DRI is working again. However EXA acceleration is still slow. XAA acceleration is still fast.
So the problem is related to the DRI but failing DRI is not the only cause. For some reason past 2c8e130f73c680d4a7381b2ef37982b82c6ee478 EXA and UXA seems always slow, but I need to confirm this again (I did all tests with 1 screen and the working DRI tests with 2 screens attached).
I've attached the outputs for the situation with the broken DRI for git HEAD and for 6.12.2 (working).
If you want I can give you the same results with DRI fixed...
Best regards, Peter
UXA is an intel only acceleration architecture, it's not applicable to radeon.
First of all, there's no such thing as UXA in this driver... I assume when you tried that it just fell back to the default EXA.
I don't think any kind of modern application uses PutImage XY operations, so that benchmark probably isn't representative of your problem. What kind of actual applications / operations are slow? Does using a compositing manager help, even just xcompmgr -a?
Looking at the logs I suspect the main problem is that the EXA offscreen memory area is small. Do you really need such a large max desktop size?
(I also notice that video RAM seems to be reserved for the GART table and textures when the DRI is disabled, even though they aren't needed in that case. We should fix this, but in general performance is expected to be better with DRI enabled)
I am running KDE 4.2.2 and I was noticing very large delays in changing tabs in konsole. Switching from one console to another would take upto 2 seconds. Which was not what I wanted.
The large desktop size was because my (big) external screen can be rotated and I wanted to have a 'Virtual' to accommodate both orientations.
Using KDE in Xrender 'enhanced' mode did not seem to improve the situation, but I have done no timing tests.
I will test if xcompmgr improved the problem. What 'modern' benchmarking tool do you suggest to use?
And I did not complain that the performance is slower without DRI, but that after the commit the performance is _really_ slow.
(In reply to comment #3)
> I am running KDE 4.2.2 and I was noticing very large delays in changing tabs in
> konsole. Switching from one console to another would take upto 2 seconds. Which
> was not what I wanted.
FWIW, this may be fixed or at least better with EXA (and with the DRI enabled, so there is RENDER acceleration) from xserver Git, which will become the 1.7 release.
> What 'modern' benchmarking tool do you suggest to use?
Real-world use cases are preferable over artificial benchmarks.
> And I did not complain that the performance is slower without DRI, but that
> after the commit the performance is _really_ slow.
Understood, what I'm saying is that the DRI is required for best performance with EXA. (Maybe we should still default to XAA without DRI)
>Understood, what I'm saying is that the DRI is required for best performance
>with EXA. (Maybe we should still default to XAA without DRI)
Indeed that seems to be the root cause for the behaviour that I've seen.
I've retitled the bug to this effect.
Incidentally, with DRI+EXA KDE is now nice and fast :-)
Another possibility might be to enable the CP even when there isn't enough video RAM for direct rendering clients...
Phoronix Test Suite is a pretty nice benchmarking tool because it tests with real world apps but still has some nice "testing aspects" compare to just launching the games directly (it runs the tests several times to iron out noise and it also runs the exact same level / player movement every time making the test more repeatable).
Closing as WONTFIX; XAA is too far gone these days. If EXA does not work, file a new bug or attach yourself to an existing bug matching your issues.