Linked by Eugenia Loli-Queru on Mon 1st Jul 2002 17:50 UTC
Original OSNews Interviews David Dawes is maybe the most active XFree86 developer and he is also the lead founder of the project. He works for Tungsten Graphics, which is the main company working on the XFree, DRI and Mesa codebases today. We are happy to host an interview with David, discussing the present and future of XFree86 project. Update: Still confused how a VSYNCed desktop look like? Read here.
Permalink for comment
To read all comments associated with this story, please click here.
A vsync-ed desktop?
by null_pointer_us on Tue 2nd Jul 2002 19:04 UTC

What exactly is that, anyway? The desktop is always drawn at the refresh rate, just like anything displayed on the screen. If you have an 85 Hz refresh rate, the screen gets redrawn 85 times per second regardless of whether or not it actually changes. Do you mean that the GUI collects and schedules drawing operations to prevent them from being executed mid-refresh?

If it could be done, it would prevent tearing, but then again you have another problem: redrawing speed. If the application can't redraw the window fast enough, dragging will not be smooth. Most applications don't really optimize that because unlike games they don't spend much time redrawing.


The Amiga didn't just have a VSYNC interrupt - what Amigans called "double buffering", PC people called "page flipping", while what PC people call "double buffering" Amiga people called "massive waste of precious graphics memory bandwidth".

Rather than copying memory into each buffer, the amiga just changed the display hardware's pointer into graphics memory every frame, and to animate, you just need to copy into each frame the deltas from frame-2 instead of frame-1...

Only some gfx cards on the PC can do this. A minimal prerequisite for decent, smooth, animation is VSYNC support. Page-flipping stops you wasting massive amounts of bus bandwidth.


Pure BS!

The only real difference between page flipping and double buffering is that page flipping swaps the pointers to the buffers, whereas double buffering requires a blit from one buffer to the other.

You cannot say that massive amounts of bus bandwidth is saved because the bus isn't used - both buffers reside on the graphics card. Neither can you say that page flipping requires less memory than double buffering because both require at least two buffers.

PC people have used page flipping since the good ol' DOS days, and Windows supported it from DirectX 2. Whereas DOS required special drivers for each game, the DirectX API exposes a common interface to this feature.