DXGI 1.3 Verbesserungen

Die folgende Funktionalität wurde in Microsoft DirectX Graphics Infrastructure (DXGI) 1.3 hinzugefügt, die ab Windows 8.1 enthalten ist.

Trimmen der DXGI-Adapter-Speicherauslastung

Ab Windows 8.1 fügt DXGI 1.3 die Funktion zum Leeren und Freigeben nicht verwendeter Speicherressourcen hinzu, die vom DXGI-Adapter zugewiesen wurden. Dies ermöglicht es Apps, temporären Speicher freizugeben, während sie sich im Standby-Modus befinden. Dadurch verringert sich die Wahrscheinlichkeit, dass die App beendet wird, um Ressourcen für andere Apps freizugeben. Wenn die Anwendung fortgesetzt wird, werden Gerätetreiber, die das Trimmen unterstützen, die Ressourcen nach Bedarf neu erstellen. Ab Windows 8.1 müssen alle von einer App erstellten Direct3D-Geräte IDXGIDevice3::Trim aufrufen, um den Speicherbedarf zu reduzieren und die Wahrscheinlichkeit zu verringern, dass die App beendet wird, um Systemressourcen freizugeben.

Überlagerungen mit mehreren Ebenen

Ab Windows 8.1 unterstützt DXGI 1.3 Überlagerungen mit mehreren Ebenen. Sie können herausfinden, ob das Gerät Überlagerungen mit mehreren Ebenen in der Hardware unterstützt, indem Sie IDXGIOutput2::SupportsOverlays verwenden.

Überlappende Swapchains und Swapchainskalierung

Ab Windows 8.1 unterstützt DXGI 1.3 überlappende Swapchains. Überlappende Swapchains werden verwendet, um 3D-Grafiken bei nicht nativen Auflösungen (mit Hardware-Upscaling) zu zeichnen, während die Benutzeroberfläche in systemeigener Auflösung dargestellt wird. Auf diese Weise können Spiele höhere Füllraten für ein reaktionsfähiges Spiel nutzen, ohne die visuelle Qualität von UI-Elementen wie Spielerbewertung und Dialogtext zu beeinträchtigen. Auf Geräten, die Überlagerungen mit mehreren Ebenen unterstützen, verwendet Direct3D Überlagerungen mit mehreren Ebenen für überlappende Swapchains. Erstellen Sie eine Vordergrund-Swapchain, indem Sie die DXGI_SWAP_CHAIN_FLAG_FOREGROUND_LAYER Flag beim Erstellen der Swapchain angeben, und verwenden Sie IDXGISwapChain2::SetMatrixTransform und IDXGISwapChain2::GetMatrixTransform, um die Swapchain zu skalieren, die für das Spiel verwendet wird.

Auswahl der Backbuffer-Unterregion für Swapchain

Ab Windows 8.1 kann DXGI 1.3 verwendet werden, um eine Unterregion des Backbuffers für die Verwendung mit der Swapchain auszuwählen, sodass es möglich ist, einen kleineren Hintergrundpuffer zu rendern, ohne die Swapchain neu zu erstellen. Siehe IDXGISwapChain2::SetSourceSize und IDXGISwapChain2::GetSourceSize.

Präsentation der Swapchain mit geringerer Latenz

Ab Windows 8.1 kann DXGI 1.3 die Latenz reduzieren, indem die Swapchain die Darstellung des vorherigen Frames beenden lässt, bevor sie mit der Verwendung des Geräts zum Zeichnen des nächsten Frames beginnt. Siehe IDXGISwapChain2::GetFrameLatencyWaitableObject, IDXGISwapChain2::GetMaximumFrameLatency und IDXGISwapChain2::SetMaximumFrameLatency.

Programmierhandbuch für DXGI