2016-07-04 16 views
7

MSDN sagt (Extended Window Styles):Wann sollte WS_EX_NOREDIRECTIONBITMAP verwendet werden?

WS_EX_NOREDIRECTIONBITMAP: Das Fenster nicht auf eine Umleitung Oberfläche nicht machen. Dies gilt für Fenster, die keinen sichtbaren Inhalt haben oder andere Mechanismen als Oberflächen verwenden, um ihre visuelle Darstellung bereitzustellen.

Was bedeutet in diesem Fall "Fenster rendern zu einer Umlenkungsfläche" vs "Mechanismen anders als Oberflächen"? Welche von diesen: GDI, D3D9, D3D11, D3D12 zählen als erster gegen letzter? Soll ich diesen erweiterten Fensterstil verwenden, wenn ich nur mit Direct3D zeichne?

+3

Es ist eine Optimierung, um zu verhindern, dass der Back-Puffer erstellt wird. Dasjenige, das DWM (aka Aero) verwendet, um die Fenster in Ihrer Benutzeroberfläche mit dem Bildschirm zu verbinden. Definitiv nicht geeignet für GDI, definitiv für DirectComposition, vielleicht für DirectX. Immer leicht zu erkennen, wenn Sie es nicht verwenden sollten, der Client-Bereich Ihres winodw wird unsichtbar sein oder Funktionen wie Live-Thumbnails und Aero Peek funktionieren nicht. –

+2

[Kenny Kerr] (http://stackoverflow.com/users/500701/kenny-kerr) erklärt kurz, was der Fensterstil in seinem Artikel [Windows mit C++: Hochleistungsfenster-Layering mit der Windows Composition Engine] tut (https : //msdn.microsoft.com/magazine/dn745861.aspx). – IInspectable

Antwort

2

DirectComposition ist die Haupt-API, die Sie verwenden können, um ein Fenster ohne Umleitungsbitmap zu zeichnen. DXGI_SWAP_EFFECT_FLIP_SEQUENTIAL auf Swapchains ohne DirectComposition kann auch diesen Modus auslösen.

Eine Sache zu kümmern, wenn die api ist, dass es nicht unbedingt ein undurchsichtiges Fenster Hintergrund sein, so dwm kann hinter dem Fenster, die nicht tatsächlich nicht sichtbar

mit Dingen Mischen einer Menge zusätzlicher Arbeit tun
+0

Meinst du nicht "... mit Dingen hinter dem Fenster, die nicht ** eigentlich sichtbar sind?" –

Verwandte Themen