DxgkDdi_ControlInterrupt3 函式會啟用或停用圖形硬體上指定 VidPnSourceId 的指定插斷類型。
語法
DXGKDDI_CONTROLINTERRUPT3 DxgkddiControlinterrupt3;
NTSTATUS DxgkddiControlinterrupt3(
[in] IN_CONST_HANDLE hAdapter,
[in] IN_CONST_PDXGKARG_CONTROLINTERRUPT3 InterruptControl
)
{...}
參數
[in] hAdapter
圖形處理單位 (GPU) 之配接器物件的句柄。 驅動程式會從呼叫其 DxgkDdiAddDevice 函式,傳回 MiniportDeviceContext 參數中的這個句柄。
[in] InterruptControl
提供中斷類型、VSYNC 狀態和 VidPnSourceId 的 DXGKARG_CONTROLINTERRUPT3 結構。
傳回值
DxgkDdi_ControlInterrupt3 會傳回下列其中一個值:
傳回碼 | 描述 |
---|---|
STATUS_SUCCESS | 中斷類型已成功在圖形硬體上啟用或停用。 |
STATUS_NOT_IMPLEMENTED | DxgkDdi_ControlInterrupt3 不支援啟用或停用指定的中斷類型。 |
言論
在 WDDM 中使用 VSync 控制項來切換 VSync ON 和 OFF,以透過關閉 VSync 來平衡使用 VidPn 來源的作用中使用量,以及關閉 VSync 所達到的省電。 一般而言,作系統會控制 VSync 應保持開啟和關閉的邏輯,並透過 DDI 呼叫通知 IHV 核心模式驅動程式 (KMD)。 KMD 會執行要求。 在 Windows 10 版本 2004 (WDDM 2.7) 之前,VSync 控件的數據粒度是每個適配卡;也就是說,針對指定的配接器,VSync 控件會套用至配接器的每個 VidPn 來源。 例如,假設有兩個 VidPn 來源連線到兩個不同輸出的配接器。 如果其中一個輸出沒有活動,而且沒有 VSync/VBlank 的取用者,則只有一個選項:OS 必須保留非使用中輸出的 VSync ON。
若為雙螢幕可攜式裝置,若不需要 VSync ON,則保留一個畫面的電源成本相當高。 它需要顯示控制器/顯示連結保持作用中,並防止支援自我重新整理的面板進入低頻率、低功率的自我重新整理模式。 在 Windows 10 版本 2004 和更新版本中,DxgkDdiControlInterrupt3 允許更精細的 VSync 控制每張配接器的 VidPn 來源。
在配接器存留期間,OS 只會使用其中一個 DxgkDdiControlInterrupt3 或 DxgkDdi_ControlInterrupt2。
未實作 DxgkDdi_ControlInterrupt3 的 WDDM 2.7 驅動程式退出宣告獨立的 VidPn VSync 控制件,而 OS 只會呼叫 DxgkDdi_ControlInterrupt2。 DXGK_DRIVERCAPS->IndependentVidPnVSync 功能在不支援 DxgkDdi_ControlInterrupt3的驅動程式中必須是 0;否則,OS 將會失敗的適配卡初始化。 如果驅動程式確實實作 DxgkDdi_ControlInterrupt3,則功能可以設定為 0 或 1,表示 Per-VidPn 支援。
要求
要求 | 價值 |
---|---|
最低支援的用戶端 | Windows 10 版本 2004 |
標頭 | d3dkmddi.h |