Fullscreen slowdown with OpenGL on some Macs using SDL 1.3?

Anyone else out there using SDL and OpenGL to do Mac games? If so, have you experienced problems with some users having much slower than normal frame rates when going fullscreen? About half of my beta testers are experiencing this. Yet it’s only on specific systems.

The odd thing is that even on the affected systems, switching to windowed and back to fullscreen several times resolves the issue – it then runs normal speed when fullscreen.

The SDL demo testgl2 replicates this slowdown on the affected machines too, if you modify it to go fullscreen. Windowed, it’ll get frame rates in the thousands, but fullscreen, it’ll be about 30fps on the affected systems. This is not due to the higher resolution. Something else strange is going on.

-Vern

Hey!

I have the same problem on iOS.I think it has something to do with how
shaders are cached. When you minimize and maximize a few times the cache is
rebuilt and then it moves smoothly. In my case I tracked down the slowdown
to a zero hit rate on the shader cache, and every time I modified the
colormod it made a new shader. Of course iOS uses GLES2 and maybe your
problem has nothing to do with that but it just seems so similar to a
problem I had.

PS. use ‘Instruments’ to find the slowdown.
Goodluck!On Sun, Jul 3, 2011 at 7:00 AM, VernJensen wrote:

**
Anyone else out there using SDL and OpenGL to do Mac games? If so, have you
experienced problems with some users having much slower than normal frame
rates when going fullscreen? About half of my beta testers are experiencing
this. Yet it’s only on specific systems.

The odd thing is that even on the affected systems, switching to windowed
and back to fullscreen several times resolves the issue – it then runs
normal speed when fullscreen.

The SDL demo testgl2 replicates this slowdown on the affected machines too,
if you modify it to go fullscreen. Windowed, it’ll get frame rates in the
thousands, but fullscreen, it’ll be about 30fps on the affected systems.
This is not due to the higher resolution. Something else strange is going
on.

-Vern


SDL mailing list
SDL at lists.libsdl.org
http://lists.libsdl.org/listinfo.cgi/sdl-libsdl.org

Do you know if it’s possible to rebuild the cache manually then, without the fullscreen/windowed swap? If there is a workaround that is fast and works reliably, I’m all for it!

Could you tell me more about what “Instruments” is, or a link to where I could read more?