Problems with Mac OS 10.2 and SDL 1.2.4

Hello,

i have a strange problem with Mac OS 10.2 and SDL 1.2.4.
when i render a screen there is a strange “flicker” on
the screen. please excuse my bad wording, but i haven’t
seen such a problem before.
if you want to see the problem, i have uploaded a sample
screenshot at this url : http://www.sdloids.com/bilder/bild1.jpg
i call the SDL_SetVideoMode function with these parameters:
SDL_SetVideoMode(650, 480, 16, SDL_HWSURFACE | SDL_DOUBLEBUF);
the page flipping is done with SDL_Flip.

any help is very welcome!

best regards,

 Sven

I’ve noticed this too, it is a problem in SDL, not your application.
There is no fix at the moment.

I have experimental code additions to SDL that eliminate this effect,
but I haven’t figured out what exactly causes it in the current
implementation.

My suspicion is that in 10.2, the backbuffer is transferred to the
screen via busmaster DMA, but that operation is asynchronous and
doesn’t block - hence you can draw into the window buffer again before
the DMA transfer is complete. If this is a case, putting a small
SDL_Delay() call after SDL_Flip() (for the time being) will give the
graphics hardware time to play catch up.On Monday, September 9, 2002, at 03:09 PM, Sven Carstensen wrote:

Hello,

i have a strange problem with Mac OS 10.2 and SDL 1.2.4.
when i render a screen there is a strange “flicker” on
the screen. please excuse my bad wording, but i haven’t
seen such a problem before.
if you want to see the problem, i have uploaded a sample
screenshot at this url : http://www.sdloids.com/bilder/bild1.jpg
i call the SDL_SetVideoMode function with these parameters:
SDL_SetVideoMode(650, 480, 16, SDL_HWSURFACE | SDL_DOUBLEBUF);
the page flipping is done with SDL_Flip.

any help is very welcome!

best regards,

Sven

SDL mailing list
SDL at libsdl.org
http://www.libsdl.org/mailman/listinfo/sdl

My suspicion is that in 10.2, the backbuffer is transferred to the
screen via busmaster DMA, but that operation is asynchronous and
doesn’t block - hence you can draw into the window buffer again before
the DMA transfer is complete. If this is a case, putting a small
SDL_Delay() call after SDL_Flip() (for the time being) will give the
graphics hardware time to play catch up.

Maybe this is an Quartz extreme sideeffect? Could be a problem while
passing the window to OpenGl (that’s what they are doing as I’ve heard).
Anyone tried to disable Quartz extreme, yet? (I dunno how, but maybe
this fixes the problem).

Ciao
Arne

My suspicion is that in 10.2, the backbuffer is transferred to the
screen via busmaster DMA, but that operation is asynchronous and
doesn’t block - hence you can draw into the window buffer again
before the DMA transfer is complete. If this is a case, putting a
small SDL_Delay() call after SDL_Flip() (for the time being) will
give the graphics hardware time to play catch up.

Maybe this is an Quartz extreme sideeffect?

I’ve seen the same effect with QE disabled, so I find this unlikely.
More likely is that 10.2 has added DMA support for the gfx hardware.

Could be a problem while passing the window to OpenGl (that’s what
they are doing as I’ve heard).

We don’t actually pass the window to OpenGL - QE is completely
transparent to SDL. But there may be some required locking/unlocking of
the window buffer now that dma is used.

Anyone tried to disable Quartz extreme, yet? (I dunno how, but maybe
this fixes the problem).

As root, edit
/System/Library/Frameworks/ApplicationServices.framework/Frameworks/
CoreGraphics.framework/Resources/Configuration.plist.

Change IOAGPDevice to IOPCIDevice to enable/disable. You’ll have to
logout for the change to take effect.

-DOn Monday, September 9, 2002, at 03:56 PM, Arne wrote:

I’ve been having the same problem in 10.1.5 so I doubt it has to do with
Quartz Extreme.

According to the bug list in 1.2.4 there were “some artifacts” in full
screen mode. I assumed this is what they met and have been programming
in windowed mode to bide my time while waiting for a fix since (I’m
using SDL because I’m new to Mac programming, any assistance I could
provide would likely be counterproductive)

Hello,

i have a strange problem with Mac OS 10.2 and SDL 1.2.4.
when i render a screen there is a strange “flicker” on
the screen. please excuse my bad wording, but i haven’t
seen such a problem before.
if you want to see the problem, i have uploaded a sample
screenshot at this url : http://www.sdloids.com/bilder/bild1.jpg
i call the SDL_SetVideoMode function with these parameters:
SDL_SetVideoMode(650, 480, 16, SDL_HWSURFACE | SDL_DOUBLEBUF);
the page flipping is done with SDL_Flip.

any help is very welcome!

best regards,

 Sven_______________________________________________

SDL mailing list
SDL at libsdl.org
http://www.libsdl.org/mailman/listinfo/sdl

-------------- next part --------------
A non-text attachment was scrubbed…
Name: not available
Type: text/enriched
Size: 1369 bytes
Desc: not available
URL: http://lists.libsdl.org/pipermail/sdl-libsdl.org/attachments/20020910/2b49af4e/attachment.bin