Joined: 12 Dec 2007
|Posted: Sat Jul 26, 2008 1:04 am Post subject: SDL_ASYNCBLIT
|I got some help from qmc2 on the Emuversal board with a patch for sdlmame that enables SDL_ASYNCBLIT (Surface uses asynchronous blits if possible). Here's the thread.
I tried doing something similar in Quake 2 (sdlquake2 from icculus.org) got a framerate increase there, too (around +5 FPS at 960x720, I think).
EDIT: That was just looking at timerefresh -- actually running a timedemo only shows about +2 FPS increase, but it's something, at least
I looked at the source for mplayer and see it includes this comment in vo_sdl.c:
// XXX:FIXME: ASYNCBLIT should be enabled for SMP systems
So it looks like that would help out with mplayer, too (haven't compiled it yet, though). I haven't looked at any other applications that use SDL, yet, but I'd expect that some would see improvements (like Duke3D, QEMU, Hexen 2, if it's not enabled already).
It looks like this should give a general performance improvement across anything that uses SDL video on PS3 Linux.
EDIT: using this does give a slight framerate increase in Duke3D (about +8 FPS at 960x720) and D2X-Rebirth (about +4 FPS at 1280x720) on PS3 Linux.