什么时候应该使用WS_EX_NOREDIRECTIONBITMAP?

MSDN说( 扩展窗口样式 ):

WS_EX_NOREDIRECTIONBITMAP :窗口不呈现到redirect表面。 这是针对没有可见内容的窗口或者使用表面之外的机制来提供其视觉效果的窗口。

在这种情况下,“窗口渲染到redirect表面”vs“表面以外的其他机制”是什么意思? 其中:GDI,D3D9,D3D11,D3D12算作前者还是后者? 当我使用Direct3D绘图时,是否应该使用此扩展窗口样式?

DirectComposition是您可以用来绘制没有重定向位图的窗口的主要api。 不使用DirectComposition的交换链上的DXGI_SWAP_EFFECT_FLIP_SEQUENTIAL也可能触发此模式。

使用api时需要担心的一件事情是,不一定会有不透明的窗口背景,所以dwm可以做很多额外的工作,混合窗口后面的东西,这些东西实际上并不可见