Mail Archives: djgpp/1999/06/07/05:19:08
Thomas Harte writes:
>> scroll_screen() waits for a vsync automatically.
>
> As does 'show_video_bitmap', but it still flickers for me on the
> usually very complete 's3vbe20'
Does vsync() delay at all with this driver? If not, it is a VESA bug.
This is unfortunately quite a common failing of VBE 2.0 and VBE 3.0
implementations, and seems to be mostly the fault of people ignoring
correctness in order to make Quake run slightly faster. In Quake,
there were options to run either with or without a vsync(). Disabling
the sync usually made things slightly faster, but also caused flicker
on some cards, so the default was to have the syncing enabled. But
instead of doing the sensible thing and just editing the Quake config
to tell it not to do this, a lot of driver writers decided to simply
ignore the sync calls in their VESA implementation, in order to get
what seemed to be slightly better benchmark results (of course this
means nothing and would only fool people who didn't bother to set up
Quake properly before running the tests, but hey, that's the way to
get good scores when consumer mags run a head-to-head comparison).
The end result of all this is that we now have to deal with a large
number of VESA drivers that contain deliberate errors...
Shawn Hargreaves.
- Raw text -