Bug 146792 - slow libSDL screen updates w/ composite
Summary: slow libSDL screen updates w/ composite
Status: RESOLVED FIXED
Alias: None
Product: SUSE Linux 10.1
Classification: openSUSE
Component: X.Org (show other bugs)
Version: Beta 1
Hardware: x86-64 Other
: P4 - Low : Minor (vote)
Target Milestone: ---
Assignee: Matthias Hopf
QA Contact: Stefan Dirsch
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2006-01-30 21:22 UTC by Martin Bickel
Modified: 2006-10-26 20:35 UTC (History)
2 users (show)

See Also:
Found By: Other
Services Priority:
Business Priority:
Blocker: ---
Marketing QA Status: ---
IT Deployment: ---


Attachments
program to test SDL screen update speed (1.07 KB, text/plain)
2006-01-30 21:23 UTC, Martin Bickel
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Martin Bickel 2006-01-30 21:22:41 UTC
All SDL based 2D-applications (which are most 2D-games and emulators) show an absolutely pathetic performance, caused by slow screen updates. The problem can already be seen by the initial drawing of the window.

The problem can be reproduced with the attached test program I wrote, which just makes screen updates for 10 seconds without drawing anything.

I tested the program on two of my Linux installations: Debian unstable and SuSE 10.1 b1. Both use x86-64 , X.org 6.9.0 , SDL 1.2.9 , default radeon driver on ATI RV350 (Radeon 9600) AGP. On Debian I'm running a vanilla 2.6.14.2 kernel.

On my Debian installation I get 230 fps (which is to be expected), on SuSE 10.1 only 2 fps! 2 fps is therefore the upper limit which any 2D-game or emulator can reach!

Compiling SDL 1.2.9 myself from source didn't change anything. Running the application with aa-lib or DGA output resulted in normal speed, so it's definitly related to X11. 

I've installed the updated fontconfig-packages, which didn't change anything.


Build instructions for testprogram:
g++ -I/usr/X11R6/include -I/usr/include/SDL -D_REENTRANT -c testfps.cpp
g++ -o testfps  testfps.o -lm -lSDL -lpthread
Comment 1 Martin Bickel 2006-01-30 21:23:28 UTC
Created attachment 65766 [details]
program to test SDL screen update speed
Comment 2 Stefan Dirsch 2006-01-31 22:08:54 UTC
Does replacing "radeon" with "radeonold" in /etc/X11/xorg.conf and restarting the Xserver afterwards help? We see many regressions in X.Org 6.9.0 radeon driver. radeonold is the old driver of SUSE 10.0. Not a fix, but at least we know then, that it's driver related.
Comment 3 Egbert Eich 2006-02-01 10:41:07 UTC
As this involves the RADEON driver it may qualify for duplicate on #117163.
Comment 4 Martin Bickel 2006-02-01 19:27:42 UTC
I've changed to the radeonold driver, but the problem is still present. 
Comment 5 Stefan Dirsch 2006-02-01 19:32:28 UTC
Hmm ...
Comment 6 Martin Bickel 2006-02-01 19:40:51 UTC
After reading #117163 I tried a lower screen resolution (1024*768 instead of 1600*1200), but it didn't help...
Comment 7 Stefan Dirsch 2006-02-02 17:46:37 UTC
I can reproduce this on my ATI Radeon X850 XT (5fps). After removing the
'Option "Composite" "On"' line in /etc/X11/xorg.conf, I get 420 fps!
Comment 8 Stefan Dirsch 2006-02-02 17:51:38 UTC
Can you verify this?
Comment 9 Martin Bickel 2006-02-02 18:44:49 UTC
Removing 'Option "Composite" "On"' brought the speed up to 82 fps on my system, which is good enough for my purposes, but still just 1/3 of the framerate on my Debian installation.

After comparing the xorg.conf of both systems I added  'Load	"dri"' in die Modules section and now get the same 230 fps as on Debian. 
Comment 10 Stefan Dirsch 2006-02-02 18:47:03 UTC
Ok. Just curious. What does adding Composite again in combination with 'Load "dri"' give you? Still 2fps?
Comment 11 Martin Bickel 2006-02-02 19:14:52 UTC
Yes, still 2 fps
Comment 12 Stefan Dirsch 2006-02-02 20:01:40 UTC
Ok. Thanks.
Comment 13 Stefan Dirsch 2006-02-06 21:11:11 UTC
This might already have been fixed by a XAA patch in Beta4. Please test.
Comment 14 Martin Bickel 2006-02-07 20:39:24 UTC
I installed these packages:

xorg-x11	6.9.0-10
xorg-x11-driver-video 6.9.0-13
xorg-x11-libs	6.9.0-10
xorg-x11-server	6.9.0-10

Are these the beta4 Versions?

With these packages the problem is still present.

Comment 15 Stefan Dirsch 2006-02-07 21:15:16 UTC
Search in the changelog of xorg-x11-server for this entry

-------------------------------------------------------------------
Thu Feb  2 19:43:12 CET 2006 - sndirsch@suse.de

- p_xorg-compositefastpath-4320.diff:
  * improves Fastpath from XAAComposite (Bug #117163)

But it doesn't matter since we decided to no longer enable Composite by default anyway. Therefore I'm closing this one now as FIXED.
Comment 16 Matthias Hopf 2006-02-15 14:09:20 UTC
This issue isn't fixed, it just doesn't surface any more.

I'll look into this when I've got some time.
Comment 17 Matthias Hopf 2006-08-17 12:52:23 UTC
Can you test this issue once more with Xorg 7.1? It has a couple of improvements that might change the behavior here. Note that we typically don't have Composite enabled by default any more.
Comment 18 Stefan Dirsch 2006-08-17 13:09:41 UTC
Just for the record. We never had it enabled by default.
Comment 19 Martin Bickel 2006-10-26 20:35:14 UTC
I just tested it with 10.2 Alpha5 and default X.org config:

82 fps without Composite (not bad, but not really good either)
64 fps with Composite

Apart from X11 the Alpha5 includes an update to libSDL (now 1.2.11), which may have changed some things.

Regarding the non-Composite speed: my current Debian unstable with X.org 7.1 and libSDL 1.2.11 is significantly slower than before, too. So it doesn't seem to be a SuSE specific problem.

And since both speeds are still acceptable, we can close this bug.