Attendre un événement lorsque le rendu n’est pas nécessaire

Les applications peuvent attendre un événement lorsque le rendu à l’écran n’est pas nécessaire (c’est-à-dire pendant qu’ils sont obstrués). Lorsque le Gestionnaire de fenêtres de bureau (DWM) ou une application est obstrué, aucun rendu n’est nécessaire et le système d’exploitation peut rester dans des états d’alimentation plus faibles pendant des périodes plus longues. Cela permet d’économiser de l’énergie et d’allonger l’autonomie de la batterie.

Une application peut attendre un événement lorsque :

  • Tous les moniteurs sont désactivés.
  • La session dans laquelle l’application s’exécute est déconnectée.
  • L’application s’exécute en plein écran exclusivement sur une configuration de moniteur unique.
  • L’application s’exécute sur un bureau différent du bureau actif et ne dispose pas de l’autorisation de rendu sur le bureau actif.

Le système d’exploitation déclenche l’événement lorsque l’application est en mesure d’effectuer un rendu. L’événement n’est pas effacé lors d’une mise à niveau du pilote ou d’une procession de détection et de récupération du délai d’expiration (TDR), mais il est effacé lorsque la nouvelle carte et les moniteurs deviennent actifs.

Si vous souhaitez que votre application soit informée des modifications apportées à l’occlusion status, l’application doit s’inscrire à ces modifications. Une application peut s’inscrire pour être informée des modifications apportées à l’occlusion status par le biais d’un message vers une fenêtre ou par le biais de la signalisation d’événements. Pour s’inscrire afin de recevoir des messages de notification dans une fenêtre sur l’occlusion status modifications, une application appelle la méthode IDXGIFactory2::RegisterOcclusionStatusWindow. Pour s’inscrire afin de recevoir une notification d’occlusion status modifications via la signalisation d’événements, une application appelle la méthode IDXGIFactory2::RegisterOcclusionStatusEvent. Les deux méthodes retournent un pointeur vers une valeur de clé que l’application peut utiliser pour annuler l’inscription de la notification. Pour annuler l’inscription de la notification, l’application transmet cette valeur de clé à la méthode IDXGIFactory2::UnregisterOcclusionStatus .

Améliorations apportées à DXGI 1.2