共用方式為


先前 WDDM 2.X 版本中新增的功能

此頁面描述在舊版 WDDM 2.X for Windows 10 中新增的顯示和圖形驅動程式功能。 若要查看針對最新 WDDM 2.X 版本新增的功能,請參閱 Windows 10 顯示器和圖形驅動程式的新功能。

WDDM 2.6

超級濕墨

超濕筆跡是圍繞前端緩衝區轉譯的功能。 IHV 驅動程式可以支援建立硬體不支援之格式或模式的「可顯示」紋理。 他們可以藉由配置應用程式所要求的紋理,以及可顯示之格式/版面配置的「陰影」紋理,然後在目前兩者之間複製,來執行此動作。 這個「陰影」可能不一定是我們認為它的正常紋理,但可能只是壓縮數據。 此外,可能不需要存在,但可能是優化。

執行時間會演進以瞭解可顯示介面的這些層面:

  • 陰影是否必須存在,才能在特定 VidPnSource/平面上顯示。

  • 陰影是否存在是否更理想。

  • 何時將內容從應用程式介面傳輸到陰影表面。 運行時間會明確表示此作業,而不是在 Present 中隱含。

  • 如何要求設定模式,或在原始和陰影表面之間動態翻轉。

掃描可能在 VBlank 之後不久開始,從影像的頂端到底部垂直掃描,並在下一個 VBlank 之前不久完成。 這不一定是這樣,視圖元時鐘的時間和紋理中的數據配置而定:特別是如果有實際可用的壓縮。

新的 DIS 已新增至分隔並瞭解在掃描前發生的轉換,以便(可能的話)啟用前端緩衝區轉譯。 請參閱 D3DWDDM2_6DDI_SCANOUT_FLAGSPFND3DWDDM2_6DDI_PREPARE_SCANOUT_TRANSFORMATION

可變速率底紋

可變速率底紋或粗圖元底紋是一種機制,可在轉譯影像之間以不同的速率配置轉譯效能/電源。

在上一個模型中,若要使用 MSAA(多重樣本消除鋸齒)來減少幾何別名:

  • 在配置目標時,需要預先知道減少幾何別名的數量。
  • 一旦配置目標之後,就無法變更減少幾何別名的數量。

在WDDM 2.6中,新模型藉由新增粗陰影概念,將 MSAA 延伸到相反的粗圖元方向。 這是以比圖元粗略的頻率執行底紋的地方。 一組圖元可以著色為單一單位,然後結果會廣播到群組中的所有樣本。

粗細陰影 API 可讓應用程式指定屬於陰影群組的像素數目。 在配置轉譯目標之後,粗略圖元大小可能會有所不同。 因此,螢幕的不同部分或不同的繪製通行證可以有不同的課程底紋速率。

多層式實作有兩個用戶可查詢的上限可供使用。 對於第 1 層和 2 層,單一取樣和 MSAA 資源都可使用粗略底紋。 針對 MSAA 資源,陰影可以像往常一樣執行每個粗圖元或個別樣本。 不過,在 MSAA 資源的第 1 層和第 2 層上,無法使用粗略取樣來以每圖元和每個樣本之間的頻率來著色。

第 1 層:

  • 底紋速率只能以每一繪製為基礎指定;沒有什麼比這更細微的

  • 底紋速率會統一套用至與其位於轉譯目標內的位置無關繪製的內容

第 2 層:

  • 底紋速率可以依每一繪製來指定,如第 1 層所示。 也可以透過每一繪製基礎的組合,以及下列專案來指定:

    • 來自每個挑釁頂點的語意,以及
    • 屏幕空間影像
  • 三個來源的底紋速率會使用一組結合器來合併

  • 屏幕空間影像磚大小為 16x16 或更小。 應用程式所要求的底紋速率保證會完全傳遞(針對時態性和其他重建篩選器的精確度)

  • 支援SV_ShadingRate PS 輸入。 每個引發頂點的速率,也稱為每個基本速率,只有在使用一個檢視區,且未寫入SV_ViewportIndex時,才會有效。

  • 如果 SupportsPerVertexShadingRateWithMultipleViewports cap 標示為 true,則每個引發頂點速率也稱為個別基本速率,可以搭配多個檢視區使用。 此外,在此情況下,當寫入SV_ViewportIndex時,可以使用它。

請參閱 PFND3D12DDI_RS_SET_SHADING_RATE_0062D3D12DDI_SHADING_RATE_0062

收集診斷資訊

收集診斷資訊 可讓OS從圖形適配卡的驅動程式收集私人數據,其中包含轉譯和顯示函式。 這項新功能是 WDDM 2.6 中的需求。

新的 DDI 應該允許作業系統在載入驅動程式時隨時收集資訊。 目前操作系統會使用 Miniport 所實作的 DxgkDdiCollectDebugInfo 函式來查詢 TDR 的驅動程式私用數據(逾時偵測和復原)相關案例。 新的 DDI 將因各種原因而用來收集數據。 當需要診斷時,OS 會呼叫此 DDI,以提供所要求的信息類型。 驅動程序應該收集所有重要的私用資訊,以調查問題,並將其提交至OS。 DxgkDdiCollectDebugInfo 最終會被取代,並以 DxgkDdiCollectDiagnosticInfo 取代。

請參閱 DXGKDDI_COLLECTDIAGNOSTICINFO

背景處理

背景處理可讓使用者模式驅動程式表達所需的線程行為,以及運行時間來控制/監視它。 使用者模式驅動程式會啟動背景線程,並盡可能將線程指派為低優先順序,並依賴 NT 排程器來確保這些線程不會中斷關鍵路徑線程,通常成功。

API 可讓應用程式調整適合其工作負載的背景處理量,以及何時執行該工作。

請參閱 PFND3D12DDI_QUEUEPROCESSINGWORK_CB_0062

驅動程式經常性更新

需要更新作業系統元件時,驅動程式熱更新可儘可能減少伺服器停機時間。

驅動程式熱修補可用來將安全性修補程式套用至核心模式驅動程式。 在此情況下,系統會要求驅動程式儲存適配卡記憶體、停止適配卡、卸除驅動程式、載入新的驅動程式,並再次啟動適配卡。

請參閱DXGKDDI_SAVEMEMORYFORHOTUPDATEDXGKDDI_RESTOREMEMORYFORHOTUPDATE

WDDM 2.5

追蹤的工作負載

追蹤的工作負載是一項實驗性功能,可提供更快速處理器執行與較低耗電量之間的取捨控制,而且在進一步通知之前無法使用。 實作已從 Windows 10 版本 2003 中移除;和已從舊版作業系統取代為安全性修正的一部分。

內容變更

主題 Date 描述
HMD 和特製化顯示器的 EDID 擴充功能 (VSDB) 12/03/2018 顯示器製造商的規格
DirectX 圖形核心子系統 (Dxgkrnl.sys) 12/04/2018 Windows 作業系統透過 Microsoft DirectX 圖形核心子系統實作的核心模式介面(Dxgkrnl.sys)。
WDDM 2.1 功能 01/10/2019 描述 WDDM 2.1 的新功能和更新功能

Raytracing

新的 Direct3D DDI 是與 Direct3D API 平行建立,以支持硬體加速的光線追蹤。 範例 DIS 包括:

如需有關光線追蹤的詳細資訊,請參閱:

顯示同步處理

OS 會在驅動程式向 OS 公開顯示器時,檢查顯示同步處理的功能,因此在啟用顯示器之前。 針對 TypeIntegratedDisplay 子裝置,這是透過呼叫 DxgkDdiQueryAdapterInfo,在配接器初始化期間使用 Type DXGKQAITYPE_INTEGRATED_DISPLAY_DESCRIPTOR2回報。 針對從 WDDM 2.5 開始支援的 TypeVideoOutput 子裝置,這些功能會透過 DxgkDdiUpdateMonitorLinkInfo 回報為熱插即用處理中的一部分,讓功能可能會根據目標或連線的監視器而變更。

OS 會在每個路徑的 [輸入] 字段中指定 DxgkDdiSetTimingsFromVidPn 呼叫中的顯示同步處理DXGK_SET_TIMING_PATH_INFO結構。

WDDM 2.1

WDDM 2.1 可啟用新的案例,並針對 Windows 圖形子系統提供效能、可靠性、升級復原、診斷改善和未來系統進步方面的顯著改善。 WDDM 2.0 驅動程式模型是 D3D12 的必要條件。 WDDM 2.0 和 DirectX12 僅適用於 Windows 10 和更新版本。

以下是 WDDM 2.1 的功能新增和更新清單。

  • 藉由減少記憶體管理所花費的額外負荷時間,以及更有效率地使用稀缺圖形記憶體,以改善圖形效能。 圖形效能改善包括:

    • 提供和回收資源 - 提供和回收改善,以減少在背景模式中執行之應用程式的記憶體使用量。
    • 支援 2MB 頁面表格項目編碼 - 在 WDDM 2.1 中,已啟用 VRAM 中的大型分頁表專案 (PTE) 編碼。 這項變更可提升支援其系統的效能。
    • 支援 64KB 記憶體頁面 - WDDM 2.1 也支援使用 64KB 數據粒度的虛擬記憶體配置。 這項變更特別有利於 APU 和 SoC,方法是降低存取虛擬記憶體頁面的額外負荷。
  • 以硬體為基礎的受保護內容已改善,目前 批處理PlayReady 3.0

  • 圖形驅動程式的驅動程式市集安裝,以改善驅動程序升級復原能力。

  • DXIL,新的著色器編譯程序語言

  • D3D12 效能和優化改善

  • 已改善開發人員的診斷選項

如需詳細資訊,請參閱 WDDM 2.1 功能

WDDM 2.0

WDDM 2.0 包含記憶體管理更新。

GPU 虛擬記憶體

  • 所有物理記憶體都會抽象化成可由圖形處理單元 (GPU) 記憶體管理員管理的虛擬區段。
  • 每個進程都會取得自己的 GPU 虛擬位址空間。
  • 已移除對令人眼花繚亂的範圍支援。

如需詳細資訊,請參閱 WDDM 2.0 中的 GPU 虛擬記憶體。

司機落地

  • 影片記憶體管理員會在將命令緩衝區提交至驅動程式之前,先確定配置位於記憶體中。 為了方便此功能,已新增使用者模式驅動程式設備驅動器介面 (DIS) (MakeResidentTrimResidencyEvict)。
  • 配置和修補程式位置清單已逐步淘汰,因為 WDDM 2.0 模型中不需要此清單。
  • 使用者模式驅動程式現在負責處理配置追蹤。 已新增數個 DIS 以啟用此功能。
  • 驅動程式會獲得記憶體預算,並預期會在記憶體壓力下進行調整。 這可讓通用 Windows 驅動程式跨應用程式平台運作。
  • 已新增 DIS 以進行進程同步處理和內容監視。

如需詳細資訊,請參閱 WDDM 2.0 中的驅動程式落地。