Condividi tramite


Attesa di un evento quando il rendering non è necessario

Le app possono attendere un evento quando il rendering sullo schermo non è necessario , ovvero mentre sono occluse. Quando Desktop Window Manager (DWM) o un'app è bloccata, non è necessario eseguire il rendering e il sistema operativo può rimanere in stati di alimentazione inferiori per periodi di tempo più lunghi. In questo modo si risparmia energia e si estende la durata della batteria.

Un'app può attendere un evento quando:

  • Tutti i monitor sono disattivati.
  • La sessione in cui viene eseguita l'app è disconnessa.
  • L'app funziona a schermo intero esclusivamente su una configurazione con un singolo monitor.
  • L'app viene eseguita su un desktop diverso da quello attivo e non dispone dell'autorizzazione per il rendering sul desktop attivo.

Il sistema operativo attiva l'evento quando l'app è in grado di eseguire di nuovo il rendering. L'evento non viene eliminato durante un aggiornamento del driver o durante il processo di rilevamento e recupero del timeout (TDR); tuttavia, viene eliminato quando il nuovo adattatore e i monitor diventano attivi.

Se vuoi che l'app riceva notifiche sulle modifiche dello stato di occlusione, l'app deve registrarsi a queste notifiche. Un'app può registrarsi per ricevere una notifica sulle modifiche dello stato di occlusione tramite un messaggio a una finestra o tramite segnalazione di eventi. Per registrarsi per ricevere messaggi di notifica in una finestra sulle modifiche dello stato di occlusione, un'app chiama il metodo IDXGIFactory2::RegisterOcclusionStatusWindow. Per registrarsi per ricevere la notifica delle modifiche dello stato di occlusione tramite segnalazione eventi, un'app chiama il metodo IDXGIFactory2::RegisterOcclusionStatusEvent. Entrambi i metodi restituiscono un puntatore a un valore chiave che l'app può usare per annullare la registrazione della notifica. Per annullare la registrazione della notifica, l'app passa questo valore di chiave al metodo IDXGIFactory2::UnregisterOcclusionStatus.

miglioramenti di DXGI 1.2