模型簡介 功能 WDDM 使用戶能夠同時運行多個 GPU 密集型
應用程式 。
一個
Direct3D 的圖形表面(surface)的記憶體區域,包含紋理格線(textured meshes)用於呈現
2D 或3D場景。WDDM 允許不同的執行緒(process)共享整個Direct3D表面。在WDDM 推出之前, 進程之間共享紋理是困難的,因為這個過程需要能夠將數據從
視頻記憶體 (
顯存 )複製到
系統記憶體 ,然後返回到視頻記憶體的新設備。
一旦某個WDDM驅動程式出現故障,圖形
堆疊 (stack)將重新啟動驅動程式。圖形硬體故障時也會被攔截,必要時驅動程式將被重新設定。
WDDM還允許在顯示驅動出錯時,重置
顯示設備 ,而不用重新啟動計算機。
在
WindowsXP 時代有20%的系統
藍屏 故障是
顯示卡驅動 問題造成的。WDDM在技術水平上有兩個組件:一個
核心模式 驅動程式 (KMD)和一個執行大部分密集計算的用戶模式驅動程式。新版WDDM模型已將代碼的大部分移出了核心模式。由於與顯示相關的操作只在用戶模式下完成,所以大大提高了
系統穩定性 。
限制 新版的WDDM模型要求顯示卡硬體支持Shader Model 2.0。除此之外,對顯示卡的其他一些硬體特性也有所要求,導致一些硬體上支持SM2.0的顯示卡也無法通過WDDM的數字驅動認證(例如GMA900
集成顯示卡 就無法通過)。但根據微軟2009年的一份調查,98%以上運行
Windows Vista 的硬體設備都已具備使用WDDM的條件。
WDDM 1.0版不支持多顯示器,多
顯示適配器 條件下的多驅動設定。在有多個顯示器的條件下,如果有兩個或以上的顯示適配器同時
進行信號 輸出,所有的顯示適配器都必須使用相同的WDDM驅動。但是WDDM1.0版本下不允許多個顯示驅動同時工作,即只能運行一個顯示驅動程式。而WDDM1.1則無此限制。
模型1.1 Windows 7 支持 WDDM 1.1; 最早在 WinHEC 2008發布此一訊息. 新功能有:
DXGI 1.1, 可用GDI 支持硬體 2D 加速 (無 GDI+) 以及
Direct2D /DirectWrite
BitBlt ,
StretchBlt ,
TransparentBlt AlphaBlend, ColorFill
ClearType 字型支持Direct3D 11 裝置驅動接口 (
DDI )DXVA-HD DDI Hardware video overlay DDI 可選用 AES 128 加密可選用加密後的圖形壓縮支持 multiple drivers 在於一個 multi-adapter 以及 multi-monitor 的設定之上DXGI 1.1, Direct3D 11,Direct2D和DirectWrite也將提供與
Windows Vista 平台更新。GDI / GDI +在Vista將繼續依靠軟體渲染。
WDDM 1.1
向後兼容 WDDM 1.0規範,1.0和1.1的
驅動程式 可直接用於Windows Vista。
模型1.2 顯示卡驅動 WDDM 1.2還引入了三種
顯示卡驅動 版本,分為Full Graphics Driver、Display Only Driver和Render Only Driver,區別如下:
(1)Full Graphics Driver:功能完整版本,支持2D和3D
硬體加速 ,擁有完整的渲染(Render)、顯示(Display)和視頻(Video)功能。這一驅動是WDDM 1.0/1.1支持且支持的必備功能,所有Win8系統上的顯示卡都必須支持Full Graphics Driver,具備作為主卡啟動的能力。
(2) Display Only Driver:顧名思義,硬體廠商編寫的這一版本的驅動只有顯示功能,2D和3D加速功能是作業系統用軟體模擬的,使用這個驅動就不能作為主卡。
(3) Render Only Driver:只有最基本的渲染功能,同樣不能作為主卡啟動。
這三種驅動中第一種是所有WDDM中都必須要有的,也是功能最完整的,第二、第三種是WDDM 1.2中才出現的,之前的WDDM並不支持。另外,這個功能變化對普通用戶並沒有什麼影響,主要是方便廠商編寫驅動用的。
WDDM 1.2對普通用戶的影響體現在兩個地方,第一是性能和
用戶體驗 改進,第二個層次則是對
DirectX 的改進,進而影響遊戲性能。
性能提升 記憶體占用過多會明顯降低系統回響速度,特別是在
集顯 平台,由於還要劃分記憶體做顯存之用,如何管理好被占用的記憶體也會影響系統速度。Win8通過先進的
記憶體分配 與回收機制減少了記憶體占用,系統休眠及恢復速度也得以最佳化。
這個前面也提到過一點,
驅動程式 因為各種意
WDDM
外無回響時,Vista/Win7系統會嘗試
自動恢復 驅動,減少藍屏、當機等現象。Win8系統中,
微軟 改進了GPU優先權(GPU
preemption )和TDR(Timeout Detection and Recovery,逾時檢測和
恢復處理 ),
系統的可靠性 有望進一步提升。
3. 提高出現性能問題時的診斷能力
越來越多的程式和套用開始使用GPU資源,因此提高性能診斷問題的能力愈發重要。在這點上,微軟通過用戶模式驅動日誌、禁用FPO(Frame Pointer Omission)最佳化、XPS光柵化等方式提高了診斷能力。
在提升參數的同時,微軟也在不斷提升用戶體驗,意在讓參數的提升真正轉換為用戶實際體驗的提升。
功能與改進
1. 支持3D立體顯示
3D顯示 是目前的熱門,也是未來的大趨勢,Win8也順理成章地推出了Stereoscopic 3D立體顯示技術。不過要實現立體顯示依然需要軟硬體條件的支持,比如3D顯示器、3D顯示卡(目前的DX11顯示卡基本上都支持了)、3D驅動以及相應的應用程式。
WDDM
2. D3D11視頻播放
雖然現在為了兼容不同顯示卡,視頻播放可以使用D3D9、D3D10等
API ,但是Win8系統中全部視頻播放會統一到D3D11 API中,這樣可以簡化編程,提高效率。此外,D3D11在3D播放、DXVA
硬解 上更有優勢,
統一視頻 播放API好處多多。當然,要想更好地使用Win8系統,DX11顯示卡是少不了的。
3. 最佳化螢幕旋轉
傳統的台機和筆記本上頻繁旋轉螢幕並不常見,但是Win8還要面向
平板電腦 ,後者套用中旋轉螢幕是家常便飯,這就要求螢幕旋轉時桌面能迅速轉換。Win8針對此類套用做了大量最佳化以獲得平滑無縫的螢幕旋轉體驗。
4. 支持以容器ID顯示各種設備
近年來豐富的外設產品層出不窮,通過
藍牙 、
USB 、WiFi等各種方式連線到電腦上,容器ID是Win7上使用的外設
分類管理 的方法,Win8將之擴大,可以通過容器ID分門別類顯示各種不同外設,使用和管理更方便。
5. 支持Windows與WDDM驅動之間
無縫切換 部分場合中軟體或者硬體需要重置,比如升級驅動時螢幕會閃光或者抖動幾次以適應變化,Win8系統中就可以在這幾種狀態中無縫切換。
6. 最佳化驅動以降低能耗
這個功能也主要針對平板這樣的
智慧型設備 ,不過電腦一樣可以從中受益。通過DirectFlip和GPU Power Management技術降低GPU待機和活躍時的功耗。
版本總結 WDDM 1.2雖然
版本號 變化不大,其實功能改進還是很多的,特別是Win8還要支持平板電腦這樣的智慧型設備,所以在視頻播放、
續航時間 、功耗管理、螢幕旋轉、外設管理這一類問題上重點加強,對PC而言,3D立體顯示、可靠性加強、降低記憶體占用等改進也是非常重要的。
另外,WDDM不僅影響用戶的操作體驗,它還牽涉到DirectX API,即WDDM的改進還會對D3D遊戲性能產生一定影響。