SDL_Flip does not wait for V. retrace under DirectX 8! (was SDL_Flip causes HUGE loss of fps)

What DirectX Vers. is installed on your Comp. ???

Man, what a bummer, I’ve more or less confirmed
that it is DirectX 8 that was causing testsprite.c
with -hw and -flip turned on to still produce tearing
and frame rates exceeding the monitor refresh rate,
pointing to the fact that the vertical retrace is not
being waited for before flipping.

The same exe run under a vanilla WinMe install
(presumably using DX7) worked fine. No tearing,
and a greatly slowed down frame rate matching my
monitor refresh rate. As is typical with
sloppy/arrogant MS software practices, uninstalling
the DX 8 SDK does not seem to revert the DX dlls to
those in DX 7 since that did not fix the tearing
problem. In fact even the debug DLLs from a mistaken
install of DirectX8 SDK (w/ debug library option turned
on) were not scrubbed and coexist with the retail dlls.

Perhaps the libSDL DirectX code needs a few additional
settings to ensure vertical retrace wait? It is not
likely and should not be the case (though that may be
giving MS too much credit) that DX8 would break older
games. I haven’t really tried running the really old
ones under DX8 though.

Note: I’m using a Voodoo 3 2000 AGP video card with
the latest drivers as of Feb 2001.

What DirectX Vers. is installed on your Comp. ???

Man, what a bummer, I’ve more or less confirmed
that it is DirectX 8 that was causing testsprite.c
with -hw and -flip turned on to still produce tearing
and frame rates exceeding the monitor refresh rate,
pointing to the fact that the vertical retrace is not
being waited for before flipping.

The same exe run under a vanilla WinMe install
(presumably using DX7) worked fine. No tearing,
and a greatly slowed down frame rate matching my
monitor refresh rate. As is typical with
sloppy/arrogant MS software practices, uninstalling
the DX 8 SDK does not seem to revert the DX dlls to
those in DX 7 since that did not fix the tearing
problem. In fact even the debug DLLs from a mistaken
install of DirectX8 SDK (w/ debug library option turned
on) were not scrubbed and coexist with the retail dlls.

Perhaps the libSDL DirectX code needs a few additional
settings to ensure vertical retrace wait? It is not
likely and should not be the case (though that may be
giving MS too much credit) that DX8 would break older
games. I haven’t really tried running the really old
ones under DX8 though.

Note: I’m using a Voodoo 3 2000 AGP video card with
the latest drivers as of Feb 2001.

Does DX8 for Win2k and DX8 for WinME have the same problems ???

I had also problems getting flicker free graphics with ALLEGRO on my Comp.
I used Win2k / DX8 !!!

CU

“Andy Sy” schrieb im Newsbeitrag news:98fmnb$dpu$2 at ftp.lokigames.com…> > What DirectX Vers. is installed on your Comp. ???

Man, what a bummer, I’ve more or less confirmed
that it is DirectX 8 that was causing testsprite.c
with -hw and -flip turned on to still produce tearing
and frame rates exceeding the monitor refresh rate,
pointing to the fact that the vertical retrace is not
being waited for before flipping.

The same exe run under a vanilla WinMe install
(presumably using DX7) worked fine. No tearing,
and a greatly slowed down frame rate matching my
monitor refresh rate. As is typical with
sloppy/arrogant MS software practices, uninstalling
the DX 8 SDK does not seem to revert the DX dlls to
those in DX 7 since that did not fix the tearing
problem. In fact even the debug DLLs from a mistaken
install of DirectX8 SDK (w/ debug library option turned
on) were not scrubbed and coexist with the retail dlls.

Perhaps the libSDL DirectX code needs a few additional
settings to ensure vertical retrace wait? It is not
likely and should not be the case (though that may be
giving MS too much credit) that DX8 would break older
games. I haven’t really tried running the really old
ones under DX8 though.

Note: I’m using a Voodoo 3 2000 AGP video card with
the latest drivers as of Feb 2001.

What video card are you using? I don’t want
to upgrade to DX 8 on WinME because it’s
likely I will not be able to downgrade
to DX 7 anymore. Perhaps other people out
there who are using DX 8 on WinME could
enlighten us?

“WIZARD / SYNTHETIC - Crew” wrote in message
news:98fn9k$dtm$1 at ftp.lokigames.com…> Does DX8 for Win2k and DX8 for WinME have the same problems ???

I had also problems getting flicker free graphics with ALLEGRO on my Comp.
I used Win2k / DX8 !!!

CU

Sigh… I managed to fix it by guess what? Going
to an older version of the Voodoo 3 drivers. Now
who’s gonna fix this problem now that 3dfx is out of
business? The older driver could have more problems
with DirectX 8 while being more compatible with older
DirectX interfaces.

“WIZARD / SYNTHETIC - Crew” wrote in message
news:98fn9k$dtm$1 at ftp.lokigames.com…> Does DX8 for Win2k and DX8 for WinME have the same problems ???

I had also problems getting flicker free graphics with ALLEGRO on my Comp.
I used Win2k / DX8 !!!

CU

Just a quick note that you can disable/enable vsync in the 3dfx tools
settings. If it’s disabled in the driver, then the application cannot
override that setting to my knowledge. If it’s enabled, there are OpenGL
extensions which can allow it to be disabled.

I don’t remember if the drivers I installed originally shipped with it set
or cleared… It’s worth a look, though.

– Jeff

Andy Sy wrote in message
news:98h59v$egb$1 at ftp.lokigames.com

Sigh… I managed to fix it by guess what? Going
to an older version of the Voodoo 3 drivers. Now
who’s gonna fix this problem now that 3dfx is out of
business? The older driver could have more problems
with DirectX 8 while being more compatible with older
DirectX interfaces.

“WIZARD / SYNTHETIC - Crew” wrote in message
news:98fn9k$dtm$1 at ftp.lokigames.com

Does DX8 for Win2k and DX8 for WinME have the same problems ???

I had also problems getting flicker free graphics with ALLEGRO on my
Comp.> > I used Win2k / DX8 !!!

CU

I checked my 3dfx tools and it seems like this is for
OpenGL only so it shouldn’t affect 2d blitting stuff.
I managed to have my cake and eat it too (i.e.
use the latest WHQL 1.03.000 drivers plus DirectX 8
plus no flicker).

How did I do it? Revert to old Voodoo 3 driver.

“Jeff Duncan” wrote in message
news:98j055$eg4$1 at ftp.lokigames.com…> Just a quick note that you can disable/enable vsync in the 3dfx tools

settings. If it’s disabled in the driver, then the application cannot
override that setting to my knowledge. If it’s enabled, there are OpenGL
extensions which can allow it to be disabled.

I don’t remember if the drivers I installed originally shipped with it set
or cleared… It’s worth a look, though.

I checked my 3dfx tools and it seems like this is for
OpenGL only so it shouldn’t affect 2d blitting stuff.
I managed to have my cake and eat it too (i.e.
use the latest WHQL 1.03.000 drivers plus DirectX 8
plus no flicker).

How did I do it?

  1. Revert to old Voodoo 3 driver.
  2. Uninstall DirectX8 SDK
  3. Reinstall DirectX8 SDK
  4. Reinstall WHQL 1.03.000 Voodoo3/Win2K drivers

Presto, no more flicker and Flip() now waits for
vertical retrace. I had problems with the older
Voodoo 3 driver (probably bec. of DX 8) so took
a chance and reinstalled WHQL 1.03.000.

“Jeff Duncan” wrote in message
news:98j055$eg4$1 at ftp.lokigames.com…> Just a quick note that you can disable/enable vsync in the 3dfx tools

settings. If it’s disabled in the driver, then the application cannot
override that setting to my knowledge. If it’s enabled, there are OpenGL
extensions which can allow it to be disabled.

I don’t remember if the drivers I installed originally shipped with it set
or cleared… It’s worth a look, though.