How does Windows XP buffer the screen?

MistaPi

Regular
AFAIK dual buffering is something new in Vista, with the benefit of vsync etc. But does that mean Windows XP has only one display buffer? How would that work, does it fill the buffer while the screen is displaying it? Wouldnt that cause lot of distortion?

Also, will Vista z-buffer the hole screen and what about AA, will it use the gfx card MSAA abilities? In short Will Vista have the same framebuffer size as a 3D game would?
 
MistaPi said:
AFAIK dual buffering is something new in Vista, with the benefit of vsync etc. But does that mean Windows XP has only one display buffer? How would that work, does it fill the buffer while the screen is displaying it? Wouldnt that cause lot of distortion?

Also, will Vista z-buffer the hole screen and what about AA, will it use the gfx card MSAA abilities? In short Will Vista have the same framebuffer size as a 3D game would?

I doubt it will use MSAA.
I've tested several versions of the latest betas and the Flip3D feature shows some really terrible aliasing at the edges of each window...
 
MistaPi said:
AFAIK dual buffering is something new in Vista, with the benefit of vsync etc. But does that mean Windows XP has only one display buffer? How would that work, does it fill the buffer while the screen is displaying it? Wouldnt that cause lot of distortion?
This is referring to the desktop only, I assume? On XP, there is only a single desktop and everything is rendered directly to it. Typically, the rendering is so fast you don't see tearing. When your game is running fullscreen, then you get double or triple buffering, depending on what the application requested.
 
MistaPi said:
AFAIK dual buffering is something new in Vista, with the benefit of vsync etc. But does that mean Windows XP has only one display buffer? How would that work, does it fill the buffer while the screen is displaying it? Wouldnt that cause lot of distortion?

Also, will Vista z-buffer the hole screen and what about AA, will it use the gfx card MSAA abilities? In short Will Vista have the same framebuffer size as a 3D game would?
The Desktop will have a much simpler model than any current game and beeing much more predictable - so its not a sophisticated 3D-Engine as found in Games. A Z-Buffer is still required, but thats Peanuts as unlike previous OSes which just draw the visible Parts of Windows, Vista will have to keep a "Texture" for each Window. Very much Memory is wasted for that, lucky it will be GFX-Card Memory thats wasted.
 
Another to thing, the mouse pointer is normally an overlay, a hardware sprite, so only required the X/Y position data to be changed, no saving and restoring the background image.
 
Npl said:
but thats Peanuts as unlike previous OSes which just draw the visible Parts of Windows,
If you have the time, an interesting experiment is to single step GDI drawing commands and actually see how windows redraws the screen.

When I did this I was surprised how many times the same window was redrawn.
 
Npl said:
The Desktop will have a much simpler model than any current game and beeing much more predictable - so its not a sophisticated 3D-Engine as found in Games. A Z-Buffer is still required, but thats Peanuts as unlike previous OSes which just draw the visible Parts of Windows, Vista will have to keep a "Texture" for each Window. Very much Memory is wasted for that, lucky it will be GFX-Card Memory thats wasted.
Is it just the windows that are z-buffered or the hole desktop?
 
MistaPi said:
Is it just the windows that are z-buffered or the hole desktop?
Desktop atleast - thats 1 Z-Buffer of the resolution of your screen. The Windows depend on the Applications drawing them - games certainly have their private Z-Buffer to render the Contents of the Window.
 
Z303 said:
If you have the time, an interesting experiment is to single step GDI drawing commands and actually see how windows redraws the screen.

When I did this I was surprised how many times the same window was redrawn.
Reminds me of when Windows was young - I first ran 2.03 on a Hercules monochrome video chip (can't remember the res, better than CGA) and it wasn't hard to slow it down to individual elements being drawn... The multiple draws were particularly infuriating.

http://www.guidebookgallery.org/screenshots/win203

Jawed
 
Z303 said:
Another to thing, the mouse pointer is normally an overlay, a hardware sprite, so only required the X/Y position data to be changed, no saving and restoring the background image.

The very same reason why you can't capture mouse cursor when using Prt Scrn button or when you want to make a screnshot of a video (you just end up with player window and black square where video image should be).
 
MistaPi said:
Is it just the windows that are z-buffered or the hole desktop?
A z-buffer is just a depth buffer. So you need it to tell the graphics card which windows are in front of which other windows.

Individual windows themselves might also use a z-buffer if they do any 3D rendering (say, like a 3D modelling app or a game played in windowed mode).
 
Back
Top