[ 魔獸世界 ] 啟動 DirectX 11 支援

WoW(World of Warcraft,台灣翻譯:魔獸世界)在 Patch 4.0.1 加入了 DirectX 11 支援。

注意:目前 WoW 對 DX11 的支援仍屬於測試性,已知至少存在一個 bug。本篇文章僅說明適用範圍與開啟方式,不給予任何技術性的支援。


WoW 在 Windows 環境下支援三種運作模式:d3d9(DirectX 9),d3d11(DirectX 11)與 opengl(OpenGL)

只要遊戲環境滿足以下兩個條件,就可以嘗試開啟 WoW 的 DX11 支援:

  1. 作業系統必須是 Windows 7 或者是 Windows Vista SP2(且需安裝 DirectX 11 for Vista 套件:KB971644)
  2. 顯示卡硬體支援 DirectX 10 以上

由於 DirectX 11 會自動向下相容,且效能較佳,所以當顯示卡硬體支援 DX10(或以上)的時候,就建議運行在 d3d11 模式,以發揮顯示卡效能。

以下幾種情況不適用 d3d11 模式運行:

  1. 作業系統為 Windows XP:因為 Windows XP 並沒有 DirectX 11 的 API 套件可用。Windows XP 可用的 DirectX API 只有到 9.0。
  2. 顯示卡硬體僅支援 DirectX 9。
  3. 作業系統為 Windows Vista,但是沒有更新到 SP2 且沒有安裝 DirectX 11 套件:理由類似 1,因為沒有 DirectX 11 API 可用。


啟動 d3d11 支援的方式有兩種:

  1. 修改 WoW 安裝目錄下的 WTFConfig.wtf,加入
    SET gxApi “d3d11”
    存檔後關閉。
  2. 將 wow.exe 拉出一個捷徑,然後修改捷徑內容。在命令列欄位中, wow.exe” 後面直接加上 –d3d11,儲存,用此捷徑啟動 wow.exe。


如何判斷是否已運行於 d3d11 模式呢?

首先,請先啟動 WoW 客端程式。進行到登入畫面後,即可按 Esc 離開客端程式。然後開啟 WoW 安裝目錄下的 Logsgx.log,觀察內容。

WoW 預設運行模式是 d3d9,運行於 d3d9 時,會在 gx.log 中看到類似以下的內容:

12/7 14:22:05.854  Shader Model: 3_0
12/7 14:22:05.854   Vertex: vs_3_0
12/7 14:22:05.854   Pixel: ps_3_0

若運行於 d3d11 時,會在 gx.log 中看到類似以下的內容:

12/7 14:13:21.499  CGxDeviceD3d11::DeviceSetFormat():
12/7 14:13:21.499       Format: 1280 x 800 Window, Ds24X, multisample 1
12/7 14:13:21.894  Shader Model: 4_0
12/7 14:13:21.894   Vertex: vs_4_0
12/7 14:13:21.894   Geometry: gs_4_0
12/7 14:13:21.894   Pixel: ps_4_0
12/7 14:13:21.894   Compute: cs_4_0

其中 Shader Model 與 Vertex 等,如果顯示卡硬體支援 DX11,則冒號後面會是 5_0。如果支援 DX10 或 DX10.1,則會是 4_0。



目前已知的一個 bug:當開啟 d3d11 時,也同步開啟多重採樣至 1x 以上的話,會導致水體貼圖消失。