在不需要轉譯時等候事件
當轉譯至畫面時,應用程式可以在不必要的情況下等候事件 (也就是遭到遮蔽) 。 當桌面視窗管理員 (DWM) 或應用程式被遮蔽時,不需要轉譯,而且作業系統可以在較長時間內保持較低的電源狀態。 這會節省電源並延長電池使用時間。
應用程式可以在:
- 所有監視器都會關閉。
- 應用程式執行所在的會話已中斷連線。
- 應用程式會在單一監視器組態上以全螢幕獨佔方式執行。
- 應用程式會在與使用中桌面不同的桌面上執行,而且沒有在作用中桌面上轉譯的許可權。
當應用程式能夠再次轉譯時,作業系統就會觸發事件。 在驅動程式升級期間不會清除事件,或 TDR) 進程 (逾時偵測和復原,不過當新的介面卡和監視器變成作用中時,就會清除事件。
如果您想要讓應用程式收到有關遮蔽狀態變更的通知,應用程式必須註冊這些變更。 應用程式可以註冊,以透過訊息向視窗或事件訊號通知有關遮蔽狀態的變更。 若要註冊以接收有關遮蔽狀態變更之視窗的通知訊息,應用程式會呼叫 IDXGIFactory2::RegisterOcclusionStatusWindow 方法。 若要註冊以透過事件訊號接收遮蔽狀態變更的通知,應用程式會呼叫 IDXGIFactory2::RegisterOcclusionStatusEvent 方法。 這兩種方法都會傳回應用程式可用來取消註冊通知的索引鍵值指標。 若要取消註冊通知,應用程式會將此金鑰值傳遞至 IDXGIFactory2::UnregisterOcclusionStatus 方法。
相關主題