Freigeben über


Verhalten im Vollbildmodus

Ein Benutzermodusanzeigetreiber kann bestimmen, dass sich ein Renderinggerät im Vollbildmodus befindet:

Eine Anwendung, die für Microsoft DirectX 9.0 oder früher entwickelt wurde, bewirkt, dass die Microsoft Direct3D-Runtime OpenResource aufruft, um die freigegebene primäre Oberfläche zu öffnen, und dann CreateResource , um zusätzliche Backpuffer zu erstellen. Eine Microsoft DirectX 9L-Anwendung bewirkt, dass die Direct3D-Runtime CreateResource aufruft (ohne OpenResource aufzurufen), um alle Swap-Chain-Puffer zu erstellen. Die Direct3D-Runtime gibt die primäre Oberflächenausrichtung im Rotationselement der D3DDDIARG_OPENRESOURCE - und D3DDDIARG_CREATERESOURCE-Strukturen an, auf die der pResource-Parameter in Aufrufen der OpenResource-Funktion bzw. der CreateResource-Funktion verweist.

Bei einem Vollbildgerät muss ein Benutzermodusanzeigetreiber eine gedrehte Ressource sperren, in eine gedrehte Ressource rendern und Bitblockübertragungen (Bitblt) aus einer gedrehten Ressource ausführen. In der Regel erstellt der Benutzermodusanzeigetreiber Zwischenrenderziele in der gedrehten Ausrichtung (alle Sperren, Bitblts und Renderings gehen an diese Zwischenrenderziele) und primäre Zuordnungen in der Querformatausrichtung (also die Ausrichtung, die der Digital-analog-Konverter [DAC] zum Scannen verwendet). Wenn der Benutzermodusanzeigetreiber aufgerufen wird, um die Daten umzudrehen, führt er einen rotierenden Bitblt vom Zwischenrenderziel in den Querformatpuffer aus, bevor er die PfnPresentCb-Funktion aufruft, um den Flip-Befehl auszusetzen.

Wenn ein Benutzermodusanzeigetreiber eine Bitblt ausführen muss, die eine gedrehte Ressource und eine nicht gedrehte Ressource umfasst, gibt die Direct3D-Runtime das Bitfeldflagge rotieren im Flags-Member der D3DDDIARG_BLT-Struktur in einem Aufruf der Blt-Funktion des Treibers an, um dem Treiber anzuzeigen, dass die richtige Drehung für die Bitblt erfolgen muss.

DirectX 9L-Anwendungen können drehfähig sein, was bedeutet, dass sie alles in der richtigen Ausrichtung rendern und Sperren für einen gedrehten Puffer ordnungsgemäß behandeln. Wenn die Direct3D-Runtime eine Swapchain für eine rotationsfähige Anwendung erstellt, gibt die Runtime immer die Drehung als D3DDDI_ROTATION_IDENTITY im Rotationselement der D3DDDIARG_CREATERESOURCE Struktur an, da der Benutzermodusanzeigetreiber keine speziellen Aktionen ausführen muss, damit die rotationsfähige Anwendung funktioniert.