遊戲載入點解顯示卡幫手解壓縮?DirectStorage 機制、NVMe 條件、系統要求同開唔到嘅原因排查指南
重點摘要
遊戲載入用唔用顯示卡解壓縮,唔係靠開關決定,而係遊戲實作、合資格磁碟、系統同顯示卡齊全,先行到完整路徑。
傳統路徑:點解載入會成為樽頸
遊戲載入慢,好多人第一時間會諗起磁碟夠唔夠快,或者顯示卡夠唔夠勁,但傳統載入路徑的樽頸,其實喺中途一個好少被提及的位置:處理器解壓縮。遊戲資產為咗慳磁碟空間,通常以壓縮形式儲存,載入時要先解壓縮,先至可以送去顯示卡使用。傳統路徑入面,呢個解壓縮工作由處理器負責,處理器要逐一處理大量細碎請求,一個一個解開,再逐一送出。
問題就出喺細碎兩個字。遊戲世界入面有大量細小的貼圖、模型、音效同場景資料,載入時唔係一次過搬一個大檔案,而係要處理成千上萬個細請求。處理器擅長處理複雜而有序的任務,但面對海量細碎請求,逐一處理的成本就會累積,成為載入樽頸。表現出嚟,就係載入時間長,或者開放世界行行下,遠處的貼圖遲咗先出現,俗稱貼圖遲到。呢種遲到唔一定係磁碟慢,亦唔一定係顯示卡唔夠力,而係中途的解壓縮排隊拖慢咗成條路徑。
理解呢個樽頸,先會明白點解要改路徑。改路徑的目標,唔係將磁碟換得更快就算,而係重新分配邊個做解壓縮、數據點樣批量送出,令細碎請求唔再喺處理器門口排長龍。
DirectStorage 係乜嘢:重組路徑的應用程式介面
DirectStorage 係微軟提供的應用程式介面,英文叫 API,源自 Xbox 的快速載入設計。佢的作用,係重組上面講的傳統路徑:讓 NVMe 磁碟的數據更直接、批量地送往顯示卡,減少處理器喺中途的負擔。講得簡單啲,傳統路徑係處理器逐一拆包再轉交,DirectStorage 係設計一條更直接、更批量化的通道,令數據可以更順暢咁流向顯示卡。
要講清楚一點:DirectStorage 唔係一個用家開關,唔係一個獨立程式,亦唔係一種驅動。佢係遊戲開發者喺遊戲入面调用的 API,遊戲本身有實作,先至會行呢條路徑;遊戲無實作,系統條件幾齊全都唔會啟動。呢個前提係成篇的關鍵,好多誤判都係由忽略呢個前提開始:以為 Windows 入面有個掣,開咗就會快,搵唔到個掣就以為系統壞咗或者驅動未裝好。
DirectStorage 的發展要分兩個版本講,唔好混為一談。1.0 版主要解決傳輸路徑,令數據可以更直接、批量地由磁碟送出,減少處理器中途的負擔。1.1 版先加入 GPU 解壓縮,將解壓縮工作由處理器改交顯示卡做。兩個版本解決的問題唔同,1.0 係路徑,1.1 先係邊個做解壓縮。講 DirectStorage 時,唔講清楚版本,就好容易將路徑改善同解壓縮改善當成同一回事。
GPU 解壓縮:點解顯示卡適合做呢份工
GPU 解壓縮的邏輯,係用人盡其才的分配。顯示卡擅長同時處理大量細碎任務,佢的架構本身就係為平行運算而設,一次過處理成千上萬個細小運算,係佢的強項。遊戲資產解壓縮正正就係呢類工作:大量細碎、可以平行處理的任務。將呢份工交俾顯示卡,處理器就唔使再逐一排隊處理,載入路徑的樽頸就有機會鬆開。
配合 GPU 解壓縮的,係專為顯示卡平行運算而設的 GDeflate 壓縮格式。格式同解壓縮一方要互相配合,先至發揮到平行處理的優勢。呢一點亦解釋咗點解唔係所有舊遊戲都可以即刻受惠:遊戲資產本身要用啱的格式、遊戲本身要實作啱的路徑,兩個條件齊全,GPU 解壓縮先有發揮空間。
不過要講清楚界線:GPU 解壓縮同 CPU 解壓縮可以按遊戲同硬件配置取捨,遊戲可以因應配置選用較合適的一方。GPU 解壓縮唔係喺所有配置下都一定較快,本篇唔寫絕對快慢結論。邊一方較合適,取決於遊戲設計、資產規模、處理器同顯示卡相對能力、磁碟狀態等多個因素,唔係一句邊個快就講得晒。
更加重要的一點:DirectStorage 影響的係載入同資產串流,唔係幀率。載入快咗,唔等於遊戲行起嚟每秒幀數一定升;幀率升跌亦唔應該用嚟判斷 DirectStorage 有無生效。將兩者掛鉤,係最常見的誤判來源,後面誤區一段會再拆解。
完整路徑的四個必要條件:缺一即唔行
完整路徑要同時滿足四個必要條件,缺一即唔行完整路徑。呢四個條件要成組理解,唔好只睇其中一個就下結論。
第一,支援 DirectStorage 的遊戲。遊戲本身有實作,先係起點,無實作,後面全部條件都無意義。遊戲支援要以各遊戲官方說明為準,本文唔寫具體遊戲支援清單,因為支援情況會隨遊戲更新而變,寫死一張清單反而會誤導。
第二,經 PCIe 連接的 NVMe SSD,而且遊戲本身安裝喺嗰隻合資格磁碟上。呢句有兩個重點:磁碟類型要啱,而且遊戲要裝喺嗰隻磁碟上面。只係系統碟合資格、遊戲裝喺另一隻舊碟,並唔足夠。好多用家系統碟係 NVMe,但遊戲裝咗去另一隻碟,結果完整路徑行唔到,就以為係系統或者驅動問題,其實只係安裝位置唔啱。
第三,支援 DirectX 12 Ultimate 及 Shader Model 6.0 的顯示卡。呢個係 API 層的門檻,顯示卡要支援到呢個層級,先可以參與完整路徑。未達門檻,屬於門檻不符,唔係驅動損壞,更加唔係顯示卡壞咗,兩者要分清楚。
第四,Windows 11。Windows 10 亦支援 DirectStorage,但儲存堆疊較舊,效益較低;完整 BypassIO 路徑屬於 Windows 11 的儲存優化。換句話說,Windows 10 唔係完全無 DirectStorage,但完整路徑的效益會低於 Windows 11,唔好寫成 Windows 10 完全無 DirectStorage,亦唔好以為 Windows 10 同 Windows 11 的效益完全一樣。
| 必要條件 | 內容 | 缺失時的表現 |
|---|---|---|
| 遊戲實作 | 遊戲本身有调用 DirectStorage API | 系統條件幾齊全都唔會啟動,屬於正常現象 |
| 合資格磁碟同安裝位置 | 經 PCIe 連接的 NVMe SSD,遊戲裝喺該磁碟上 | 遊戲裝錯碟,完整路徑行唔到 |
| 顯示卡 API 門檻 | 支援 DirectX 12 Ultimate 及 Shader Model 6.0 | 無完整路徑,屬於門檻不符,唔係損壞 |
| 系統版本 | Windows 11 完整路徑,Windows 10 效益較低 | Windows 10 仍然支援,但儲存堆疊較舊 |
BypassIO 概念:只寫概念層
Windows 11 的儲存優化路徑,有一個概念叫 BypassIO。概念層嚟講,佢係讓合資格的讀取繞過部分傳統檔案系統過濾層,減少中途的額外步驟,令數據可以更直接咁流動。如果儲存驅動或者中途的篩選驅動唔支援,系統就會退回傳統路徑,DirectStorage 效益打折扣,但遊戲本身仍然行得到。退回傳統路徑唔等於遊戲玩唔到,亦唔等於系統壞咗,只係效益無完整路徑咁理想。
本文只會寫到概念層,唔寫 BypassIO 的檢查指令,唔寫登錄編輯步驟,唔寫第三方工具步驟。讀者如果喺系統認可層面見到磁碟不支援,處理方向係更新相關驅動或者韌體、向磁碟廠方支援查詢,而唔係自己改系統底層設定。底層設定改錯,風險遠大於效益,唔值得為咗一個概念層的優化去冒險。
驅動與更新層:更新只係令資格被認到
顯示卡驅動、系統更新、主板晶片組驅動要保持更新,因為 DirectStorage 能力由驅動暴露出嚟。驅動未更新,系統可能認唔到硬件其實已經合資格;更新之後,系統先可以正確咁認到資格。但要講清楚:更新驅動唔等於開到 DirectStorage。更新只係令合資格硬件可以被認到,遊戲無實作,依然唔行。將更新驅動當成開關,係另一個常見誤判。
同樣,唔好寫另外裝驅動呢種講法。DirectStorage 係 API,能力由遊戲實作、系統、驅動同硬件共同提供,無獨立開關,無一個獨立項目要另外安裝。系統更新同驅動更新要分開理解:系統更新提供系統層的支援,顯示卡驅動提供顯示卡層的支援,主板晶片組驅動提供平台層的支援,三層齊全,先至算更新層無缺。
檢查方法:Game Bar 只係認可層,唔係實作保證
用家層的檢查方法,有一個官方入口:Xbox Game Bar 的遊戲功能頁。呢個頁面會顯示顯示卡同磁碟是否已為 DirectStorage 優化,係系統認可層面的確認。佢可以話俾用家知,系統認唔認得呢套硬件合資格,驅動同系統層有無缺失。
但呢個確認有明確界線:Game Bar 話優化,唔等於某一隻遊戲一定用緊 DirectStorage。認可層講的是系統同硬件資格,實作層講的是某一隻遊戲有無调用 API,兩者係不同層次。Game Bar 顯示未優化,值得按條件逐一對;Game Bar 顯示已優化,但某一隻遊戲載入無變化,亦唔代表 Game Bar 講錯,因為嗰隻遊戲可能根本無實作,或者載入表現仲受其他因素影響。
呢個分界好重要。好多用家見到 Game Bar 話已優化,就預期所有遊戲都會變快;見到某一隻遊戲無變快,就以為 Game Bar 或者 DirectStorage 壞咗。其實兩個層次根本唔應該直接對等,認可層合格,唔等於每一隻遊戲都會行完整路徑。
診斷分層次序:由遊戲層行先,唔好一開始就怪硬件
以下次序由遊戲層行先,唔好一開始就怪硬件。每一層做完,記低結果,再決定去唔去下一層。
第一層,遊戲實作。先確認該遊戲有無實作 DirectStorage,以遊戲官方說明為準。無實作,後面全部檢查都唔使做,載入表現同 DirectStorage 無關。呢一步最便宜,亦最容易被跳過,但跳過佢,後面所有檢查都會變成白做工。
第二層,安裝位置。確認遊戲安裝喺合資格的 NVMe 磁碟上。只係系統碟合資格、遊戲裝喺另一隻舊碟,並唔足夠。檢查時要睇遊戲實際安裝路徑落喺邊隻磁碟,唔好只睇系統碟係咩類型就當全部磁碟都合資格。
第三層,系統認可。用 Game Bar 遊戲功能頁確認顯示卡同磁碟是否顯示為已優化。未顯示優化,逐一對條件:系統版本、驅動、磁碟類型,睇下邊一個條件未滿足。呢層講的是認可,唔係遊戲實作,唔好將兩者混為一談。
第四層,系統與驅動更新。系統更新、顯示卡驅動、主板晶片組驅動是否齊全。一次只更新一層,更新後再覆核 Game Bar 狀態。一次過更新晒幾層,狀態有變都唔知邊層有效,下次再遇到又要由頭試。
第五層,儲存路徑受阻。如果 Game Bar 顯示磁碟不支援,原因可能喺儲存驅動或者篩選驅動層,處理方向係更新相關驅動或者韌體、向磁碟廠方支援查詢。本篇唔寫登錄、指令或者第三方工具步驟,讀者唔應該為咗呢層去改系統底層設定。
第六層,排除其他載入慢成因。著色器編譯、遊戲 API 選擇、處理器瓶頸、磁碟接近寫滿、背景程式搶資源,都可以令載入慢。DirectStorage 唔行唔係載入慢的唯一解釋,唔好將所有載入問題都歸咎於 DirectStorage。呢層的意義,係提醒讀者,載入慢有好多個可能成因,DirectStorage 只係其中一個環節。
邊界情況:唔好將唔行完整路徑寫成玩唔到
SATA SSD 同傳統硬碟的用家要留意:遊戲照行,只係行唔到 DirectStorage 完整路徑。唔好寫成無 DirectStorage 就玩唔到,完整路徑係優化,唔係入場券。舊磁碟的用家,遊戲本身的載入表現仍然取決於遊戲設計同其他硬件因素,唔應該因為無完整路徑就覺得部機唔合格。
Windows 10 的用家亦要分清楚:DirectStorage 本身支援,但儲存堆疊較舊,效益低於 Windows 11。唔好寫成 Windows 10 完全無 DirectStorage,亦唔好預期 Windows 10 的效益同 Windows 11 完全一樣。系統版本係效益層的分別,唔係有無的分別。
顯示卡未達 DirectX 12 Ultimate或者 Shader Model 6.0,屬於門檻不符,無完整路徑,唔係驅動損壞。門檻不符同損壞的處理方向完全唔同,前者係接受限制或者考慮硬件層的取捨,後者先係維修方向,混為一談會令讀者行錯路。
遊戲有實作但用家感覺載入無變快,原因亦有好多。載入表現仲受資產規模、處理器與顯示卡相對能力、磁碟狀態影響。DirectStorage 縮短的是載入與串流環節,唔係幀率,唔好用幀率升跌去判斷 DirectStorage 有無生效。感覺無變快,唔等於 DirectStorage 無行,亦唔等於系統有問題,可能只係其他環節先係當刻的樽頸。
最後要講,微軟官方示例數字只作機制示範,本篇一律不引用示例秒數、倍數或者百分比。讀者唔應該憑任何一組示例數字去預期自己部機的載入表現,因為資產規模、硬件組合同遊戲設計全部唔同,示例數字唔能夠直接套用。
| 情況 | 應有理解 | 唔應該點諗 |
|---|---|---|
| 遊戲無實作 | 載入表現同 DirectStorage 無關 | 以為 Windows 有開關未開 |
| 遊戲裝錯碟 | 系統碟合資格唔等於遊戲碟合資格 | 以為系統碟合資格就足夠 |
| SATA SSD 或者傳統硬碟 | 遊戲照行,只係無完整路徑 | 以為無 DirectStorage 就玩唔到 |
| Windows 10 | 本身支援,但效益低於 Windows 11 | 以為 Windows 10 完全無 DirectStorage |
| 顯示卡未達門檻 | 門檻不符,無完整路徑 | 當成驅動損壞或者顯示卡壞咗 |
| 載入無變快 | 仲受資產規模、處理器、磁碟狀態影響 | 用幀率升跌去判斷有無生效 |
常見誤區逐一拆解
誤區一:Windows 入面有個 DirectStorage 開關,開咗就會快。錯。DirectStorage 係遊戲调用的 API,遊戲無實作,系統條件幾齊全都唔會啟動,遊戲選單入面無 DirectStorage 開關,本身就係正常現象,唔係故障。
誤區二:另外裝一個驅動就可以開到。錯。無一個獨立驅動要另外安裝,能力由遊戲實作、系統、驅動同硬件共同提供,更新驅動只係令合資格硬件可以被認到,唔係開關。
誤區三:DirectStorage 提升幀率。錯。佢影響的是載入與資產串流,唔係幀率,唔好用幀率升跌去判斷有無生效,更加唔好將幀率問題歸咎於 DirectStorage。
誤區四:Game Bar 話優化,就等於所有遊戲都用緊 DirectStorage。錯。Game Bar 講的是系統認可層,遊戲實作層要以各遊戲官方說明為準,兩層唔應該直接對等。
誤區五:載入慢就一定係 DirectStorage 唔行。錯。著色器編譯、遊戲 API 選擇、處理器瓶頸、磁碟接近寫滿、背景程式搶資源,都可以令載入慢,DirectStorage 只係其中一個環節。
誤區六:無 DirectStorage 就玩唔到遊戲。錯。SATA SSD 同傳統硬碟的用家,遊戲照行,只係行唔到完整路徑,完整路徑係優化,唔係入場券。
誤區七:GPU 解壓縮喺所有配置下都一定較快。錯。遊戲可以按配置選用較合適的一方,邊一方較合適取決於遊戲設計同硬件組合,本篇唔寫絕對快慢結論。
同舊篇分工,一句指向
遊戲載入相關的深入題目,站內已有專門分工,本篇只作一句指向,不會重寫:著色器編譯導致的卡頓與載入停頓,請參考站內第 161 篇。遊戲 API 揀法對表現的影響,請參考站內第 213 篇。影片硬件解碼層,唔係遊戲資產解壓縮層,請參考站內第 173 篇。分工清楚,讀者才不會在幾篇文章之間兜圈。
常見問題 FAQ
問:點解我部機搵唔到 DirectStorage 開關
答:因為根本無呢個開關。DirectStorage 係遊戲调用的 API,遊戲有實作先會行,遊戲選單入面無 DirectStorage 開關,本身就係正常現象,唔係故障,更加唔使靠第三方工具去開。
問:Game Bar 話已經優化,點解某一隻遊戲載入無變快
答:Game Bar 講的是系統認可層,某一隻遊戲有無實作要以該遊戲官方說明為準。認可層合格唔等於每一隻遊戲都行完整路徑,載入表現仲受資產規模、處理器同磁碟狀態影響。
問:遊戲裝喺系統碟以外嘅碟,會唔會影響 DirectStorage
答:會。完整路徑要求遊戲本身安裝喺合資格的 NVMe 磁碟上,只係系統碟合資格、遊戲裝喺另一隻舊碟,並唔足夠,要檢查遊戲實際安裝路徑落喺邊隻磁碟。
問:Windows 10 用唔用得 DirectStorage
答:用得,但效益低於 Windows 11。Windows 10 本身支援 DirectStorage,只係儲存堆疊較舊,完整 BypassIO 路徑屬於 Windows 11 的儲存優化,唔好寫成 Windows 10 完全無 DirectStorage。
問:顯示卡未達 DirectX 12 Ultimate,係咪代表顯示卡壞咗
答:唔係。未達門檻屬於門檻不符,無完整路徑,唔係驅動損壞,更加唔係顯示卡壞咗,兩者的處理方向完全唔同。
問:SATA SSD 係咪玩唔到有 DirectStorage 的遊戲
答:玩得到。SATA SSD 同傳統硬碟的用家,遊戲照行,只係行唔到 DirectStorage 完整路徑,完整路徑係優化,唔係入場券。
問:更新咗顯示卡驅動,點解 DirectStorage 都係唔行
答:更新驅動只係令合資格硬件可以被認到,遊戲無實作,依然唔行。應該先按第一層確認該遊戲有無實作,再按安裝位置同系統認可逐層對,唔好只係重複更新驅動。
問:點解載入慢,但 Game Bar 又話已經優化
答:載入慢有好多個可能成因,著色器編譯、遊戲 API 選擇、處理器瓶頸、磁碟接近寫滿、背景程式搶資源都可以造成。DirectStorage 唔行唔係唯一解釋,認可層合格亦唔等於載入問題一定同 DirectStorage 有關。
結語:先問遊戲有無實作,再問條件齊唔齊
遊戲載入點解顯示卡幫手解壓縮,答案其實得一句:先問遊戲有無實作,再問條件齊唔齊。遊戲實作係起點,合資格磁碟同安裝位置、顯示卡 API 門檻、系統版本係成組條件,缺一即唔行完整路徑。Game Bar 只係認可層,唔係實作保證;載入表現仲受好多其他環節影響,唔好將所有載入問題都歸咎於 DirectStorage。按遊戲層行先的次序逐層對,誤判自然會少很多。
假如按以上對照仍然分不清遊戲實作定系統條件出問題,或者懷疑儲存路徑受阻,可以帶機到石門達利廣場 1209 室作進一步檢查,亦可致電 2186 8010 或者經 WhatsApp 6558 6806 查詢。