What happens with the off-screen front buffers in Windows 7 when DWM is disabled?

1

These two articles indicate that the off-screen front buffer is part of the Windows Vista/7 driver model (WDDM).

http://www.opengl.org/pipeline/article/vol003_7/

Not even switching the DWM off is likely to fix these, given that the off-screen front buffer is a requirement of the driver model itself.

http://blogs.msdn.com/b/greg_schechter/archive/2006/05/02/588934.aspx

It is widely documented that the Desktop Window Manager (DWM) composites the front buffers for rendering to the screen.

My question is this: if the off-screen front buffers are used whether DWM is enabled or not, what performs the composition operation when DWM is disabled?

I'm also looking for any good references about how Windows 7 behaves when DWM is disabled. Does it just fall back to the stacking window model of XP?

Cooper

Posted 2011-07-29T16:23:56.900

Reputation: 365

Answers

1

The stacking window model is gone. Vista and up use a composite desktop model

I remember these discussions back when Vista first showed up. I'll try my best. You should google these topics with Vista instead of Windows 7.

It is widely documented that the Desktop Window Manager (DWM) composites the front buffers for >rendering to the screen.

My question is this: if the off-screen front buffers are used whether DWM is enabled or not, >what does the composition do when DWM is disabled?

You can see for yourself. Turn off Aero and switch to Basic. You are now running without the DWM. Boom, no DWM. But if you try to write to the graphics card memory what happens? Most of the time you get redirected to the offscreen buffers, unless you are an experienced programmer. In that case, you wouldn't be asking this question. And you would know what happens

The reason the off-screen front buffer is still being used is because Drivers no longer have control of the front buffers. The front buffer is virtualized away. This concerns GDI AND DirectX. It's like the reason for a virtual memory manager is because you are no longer allowed to write directly to physical memory. Thus the reason why an off screen buffer is necessary.

I learned most of this while learning WPF, since, well, the DWM in many ways is just a gargantuous WPF applications. They both use DirectX and the MIL to compose their respective workspaces. I'd start with some of technet articles under Vista and WPF. The changes to the DVM and DDK under Windows 7 are minor and don't really concern your question.

I hope all that makes sense.

surfasb

Posted 2011-07-29T16:23:56.900

Reputation: 21 453