Freigeben über


Warten auf ein Ereignis, wenn das Rendern nicht erforderlich ist

Apps können auf ein Ereignis warten, wenn das Rendern auf dem Bildschirm unnötig ist (d. a. während sie verworren sind). Wenn der Desktopfenster-Manager (DWM) oder eine App verworren ist, ist kein Rendering erforderlich, und das Betriebssystem kann für längere Zeit in einem niedrigeren Leistungszustand bleiben. Dies spart Strom und verlängert die Akkulaufzeit.

Eine App kann auf ein Ereignis warten, wenn:

  • Alle Monitore sind deaktiviert.
  • Die Sitzung, in der die App ausgeführt wird, wird getrennt.
  • Die App wird ausschließlich im Vollbildmodus auf einer einzelnen Monitorkonfiguration ausgeführt.
  • Die App wird auf einem anderen Desktop als auf dem aktiven Desktop ausgeführt und verfügt nicht über die Berechtigung zum Rendern auf dem aktiven Desktop.

Das Betriebssystem löst das Ereignis aus, wenn die App erneut gerendert werden kann. Das Ereignis wird während eines Treiberupgrades oder einer TDR-Prozession (Timeouterkennung und -wiederherstellung) nicht gelöscht, es wird jedoch gelöscht, wenn der neue Adapter und die neuen Monitore aktiv werden.

Wenn Sie möchten, dass Ihre App über Änderungen der Okklusion status benachrichtigt wird, muss sich die App für diese Änderungen registrieren. Eine App kann sich registrieren, um über Änderungen der Okklusion status über eine Nachricht an ein Fenster oder durch Ereignissignalisierung benachrichtigt zu werden. Um sich zu registrieren, um Benachrichtigungen für ein Fenster über Verdeckungen status Änderungen zu erhalten, ruft eine App die IDXGIFactory2::RegisterOcclusionStatusWindow-Methode auf. Um sich zu registrieren, um Benachrichtigungen über Okklusion status Änderungen per Ereignissignalisierung zu erhalten, ruft eine App die IDXGIFactory2::RegisterOcclusionStatusEvent-Methode auf. Beide Methoden geben einen Zeiger auf einen Schlüsselwert zurück, den die App zum Aufheben der Registrierung der Benachrichtigung verwenden kann. Um die Registrierung der Benachrichtigung aufzuheben, übergibt die App diesen Schlüsselwert an die IDXGIFactory2::UnregisterOcclusionStatus-Methode .

DXGI 1.2 Verbesserungen