delorie.com/archives/browse.cgi   search  
Mail Archives: djgpp/1999/06/07/05:19:08

Message-ID: <8D53104ECD0CD211AF4000A0C9D60AE30140E955@probe-2.acclaim-euro.net>
From: Shawn Hargreaves <ShawnH AT Probe DOT co DOT uk>
To: djgpp AT delorie DOT com
Subject: Re: Allegro:Page Flipping or Double Buffer?
Date: Mon, 7 Jun 1999 10:18:57 +0100
MIME-Version: 1.0
X-Mailer: Internet Mail Service (5.0.1460.8)
Reply-To: djgpp AT delorie DOT com

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 -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019