看板 PC_Shopping 關於我們 聯絡資訊
來自微軟的部落格文章 https://devblogs.microsoft.com/directx/directstorage-is-coming-to-pc/ TL;DR: 1. 透過平行化與批次處理減少 IO 請求,進而減少多餘的請求成本 (提高 throughput) 2. 減少 IO 請求完成通知,避免浪費寶貴的 CPU/GPU time 在上面 3. 跳過非必要 IO 請求步驟以減少請求成本 4. 可能會有新的壓縮 / 解壓縮技術 5. 僅適用 NVMe,因為 NVMe 有特別的資料佇列 6. 明年推出預覽版 首段廢話我就不翻了 ## 儲存科技進化與現代遊戲 IO 特徵 近年來 SSD 與 PCIe 科技的進步,或更精確的說 NVMe 科技,令個人電腦儲存裝置頻寬 遠超過舊時硬碟科技。比起過往的數十 MB/s,現代儲存裝置,例如即將到來的 Xbox Series X 主機所採用之客製 NVMe,可以在一秒內傳輸數 GB 的資料。 電腦遊戲的運作機制也更進步了。現代遊戲載入所需的資料比起過往都來得多,載入的方 式也比以前更聰明。為了載入更大量的資料已填滿記憶體,這些讀取最佳化技巧是必要的 。現代遊戲將貼圖材質等遊戲資源分拆成小部分,過去曾採用的多量少次讀取機制,已被 當代主流的少量多次機制取代,僅載入繪製畫面所需的資源。這種方法可以帶來更佳的記 憶體使用效率,及更好的場景繪製,但也會產生更多的 IO 請求。 不幸的是,現代儲存介面並沒有針對如此高的 IO 數量最佳化,造成瓶頸而無法用光 NVMe 裝置所有的高頻寬,限制了現代遊戲的發展。即使採用再高級的遊戲主機與 NVMe 裝置,僅使用現有的介面也無法滿足所有 IO 管線而浪費了寶貴的頻寬。 這是為什麼我們將 DirectStorage 帶來個人電腦上。這項新技術便是針對現代越來越進 步的儲存科技與遊戲 IO 而來。DirectStorage 將會支援滿足特定條件的系統與 NVMe 裝 置,並將遊戲體驗提升至更高的境界。但即使你的系統不支援 DirectStorage,這並不會 令你無法進行遊戲。 ## DirectStorage 將會如何改變我的遊戲體驗? 新介面將會帶來兩點主要特性:減少過往令人惱火的載入時間,並提升遊戲細節與廣度。 雖然兩項特性看起來天差地遠,兩者皆是受益於 DirectStorage 帶來的 IO 系統升級。 不管是角色服裝的貼圖材質,或是遠景的高山,皆與從儲存裝置載入資料至顯示卡息息相 關。前者可以在場景轉換間的載入時間讀取,而後者則是在開放世界遊戲中隨著角色人物 移動,隨著遠景變成近景而動態載入。 在上述兩種場景中,舊世代遊戲僅有 50 MB/s 左右的速度以載入連續不中斷的遊戲資源 ,僅可達每秒百次、每次 64KB 的 IO 請求。若放到現今頻寬動輒數 GB 每秒的 NVMe 裝 置上,要完全用完可用頻寬,將會使 IO 數量爆增至每秒數萬次。以 Series X 的 2.4GB/s 儲存裝置來說,一樣使用 64KB 區塊大小,若要用完頻寬,必須處理每秒超過 35000 次的 IO 請求。 現有的介面令應用程式必須手動處理從發起、等待到結束的過程,且一次一個請求。每次 請求成本雖然不太大,對跑在慢速儲存裝置上的舊有遊戲來說不是問題,但當規模放大到 數萬次每秒時,過多的請求成本成為當代遊戲對 NVMe 裝置頻寬的使用瓶頸。 除了上述限制,這些儲存在裝置上的遊戲資源還處於壓縮狀態。當處理器或顯示卡需要這 些資源時,這些資源必須先被解壓縮才能使用。執行中的電腦遊戲可以從磁碟取得任意數 量的資料,但需要更有效率的解壓縮方法並傳輸到顯示卡以繪製畫面。DirectStore 可以 讓遊戲採用當代最新,及未來可能發展的解壓縮技術。 當一款遊戲需要載入並解壓縮數千區塊資料以繪製下個畫面時,現有每次一個請求的模型 是沒有效率的。DirectStorage 技術介面將改善上述問題,並最大化吞吐量以餵滿整個 NVMe 裝置所有 IO 管線,並直送至顯示卡。 DirectStorage 將採用下述方法:減少每個 NVMe 請求的成本、批次處理平行 IO 請求以 最佳化資料傳輸至顯示卡的效率、賦予遊戲更細微的控制粒度以掌控 IO 請求完成通知, 避免每次收到一點資料就必須響應通知。 透過這些方式,開發者將能夠以數倍於過往的超高效率處理 IO 請求,最終得以最小化遊 戲載入時間,帶給玩家隨著角色移動同時載入更大、更細緻的虛擬世界。 ## 為什麼是 NVMe? NVMe 裝置除了擁有極高的頻寬,獨有的硬體資料存取管線(NVMe 佇列)更特別適合遊戲 運作方式。為了從儲存裝置取得資料,作業系統向裝置送出請求,而請求的資料將透過此 佇列傳輸至應用程式中。每個 NVMe 裝置具有多個佇列,且每個佇列可以同時儲存多個請 求資料。這個模型完美符合現代遊戲載入資料的平行化、批次處理運作方式。 DirectStorage 作業模式本質上即是給予開發者直接控制這些高度最佳化裝置的能力。 在此之上,現有介面造成從應用程式發起請求、到儲存裝置處理完畢之間,多了不少多餘 的步驟,而產生不必要的請求成本。這些多餘的步驟包含了 IO 操作中間的各種資料變換 。但是,這些步驟不見得在每一個請求、每一個 NVMe 裝置、每個遊戲主機中都是必要的 。透過支援的 NVMe 裝置與配置正確的主機,DirectStorage 可以自動偵測並跳過這些非 必要的檢查與操作,使每個 IO 請求成本降低。 上述這些理由便是為何 NVMe 儲存科技是 DirectStorage 與新世代高效能遊戲 IO 最適 合的選擇。 ## 什麼時候可以取得更近一步的細節? 每個的 DirectX 家族功能,微軟都會與最好的遊戲工業廠商探討並立下標準,讓遊戲開 發者得以取用,最終帶到玩家的遊戲主機中。 我們已經開始 DirectStorage 的開發程序,並與我們的產業夥伴合作以完成設計介面與 伴隨的組件。我們的目標是明年將 DirectStorage 開發者預覽版交至遊戲開發者手中。 -- 可以討論的點 1. 沒提到 DMA,雖然 NV 說有 2. SSD 是否需要特別支援 DS 3. 是否有分支援程度,以後或有 DS-ready SSD 跟顯卡 3. SATA 墓上的草都長得跟我妹一樣高了,我還在用 MX500 4. 不對我沒有妹妹 QQ --
dkchronos :招喚obov 04/16 19:23
cesar0909 :樓下obov04/16 19:42
SNGoMMX :樓下obov 04/16 21:50
y3k :上面好多obov 樓下繼續當obov 04/16 21:53
obov :恩 沒問題 繼續當obov04/16 22:20
-- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 59.127.39.149 (臺灣) ※ 文章網址: https://www.ptt.cc/bbs/PC_Shopping/M.1599199712.A.AD2.html
justin091136: 學長安安 >< 09/04 14:12
SungHyun : 用 mac os 不就一勞永逸了嗎...windows就是愛自找 09/04 14:24
SungHyun : 一堆麻煩 花錢買罪受 09/04 14:24
https://imgur.com/wFoeyIg 真的,真香
school4303 : 在mac上玩遊戲 花錢買罪受的是誰啊 ㄏ 09/04 14:29
https://imgur.com/z0ROnfw 我大 ROG ※ 編輯: s25g5d4 (59.127.39.149 臺灣), 09/04/2020 14:33:17
a1234567289 : 他的意思是用mac os就不用打遊戲 一勞永逸吧 09/04 14:32
arrenwu : 我沒有用過那麼高規的SSD,想問一下板上用NVMe SSD 09/04 14:33
arrenwu : 的板友,現在你們玩遊戲會遇到那個「惱人的讀取」嗎 09/04 14:33
coox : 用mac os甚麼事情都不能做就不會想東想西浪費時間了 09/04 14:34
arrenwu : 不過從這個文章看起來,像是現在的讀取可能很快,但 09/04 14:35
arrenwu : 以後那些過場會變成「秒讀」的樣子 09/04 14:35
friedpig : 讀多慢都有方法去處理 這是遊戲設計的一環 09/04 14:37
friedpig : 當初PS5發表的時候 忘了在哪個板就有看到遊戲設計的 09/04 14:38
friedpig : 分享了 以前讀很慢的時候 就是多塞一些無意義的長廊 09/04 14:38
friedpig : 之類的 增加你移動時間 去偷讀取時間 遊戲設計師 09/04 14:39
arrenwu : 但我對於他講的那個 50MB/s 挺有疑問的 09/04 14:39
friedpig : 設計的好 就算多爛的讀取都不一定有感 但如果能讀 09/04 14:39
arrenwu : 現在遊戲讀取還是這種速度嗎? 09/04 14:39
friedpig : 很快 遊戲設計又能有更多操作空間 影響最大的應該 09/04 14:40
friedpig : 是開放世界 09/04 14:40
friedpig : 舊世代(XBOX PS4)是HDD 小檔讀寫差不多啊 09/04 14:42
arrenwu : 喔喔 我了解了 我還想說大家都在用SSD怎麼會那麼慢 09/04 14:43
friedpig : SSD要不要特規 官方QA有提到 不用 API更新以後就可 09/04 14:44
friedpig : 以 沒掛保證的只有HDD會不會進這個協定 09/04 14:45
friedpig : https://bit.ly/3jIQq1O 官方QA 09/04 14:47
commandoEX : 目前NVME SSD主要還是用在系統碟吧,等到用到遊戲 09/04 14:48
friedpig : QA裡面也有提到一點Cuda Double的設計 09/04 14:49
commandoEX : 碟後才知道吧 09/04 14:49
friedpig : 用在哪你自己的決定吧 我就拿NVME去給遊戲碟阿 系統 09/04 14:50
friedpig : 拉在快有點無感了 09/04 14:50
friedpig : 而且系統小檔讀寫居多 nvme跟Sata的也沒差到很多 09/04 14:51
arrenwu : 但就算是用 SATA SSD,也會比那個50MB/s快很多吧 09/04 14:53
friedpig : 快不一定有用阿 遊戲設計師一定是以常態去設計 09/04 14:55
friedpig : 所以你再怎麼快遊戲可能還是做成一堆偷讀取時間的內 09/04 14:55
friedpig : 容 09/04 14:55
arrenwu : https://bit.ly/2Z74Pgh 這裡有篇文章響應 friedpig 09/04 14:56
arrenwu : 對系統SSD的看法。NVMe是有比較快,但其實差別很小 09/04 14:56
friedpig : 我不用nvme當系統碟還有另一個點 nvme都有夠熱 又快 09/04 14:57
friedpig : 我對他壽命信心度比較低 遊戲碟死了就算了 系統碟死 09/04 14:57
friedpig : 了麻煩的要死 寧願用SATA的SSD做系統 09/04 14:57
chen5512 : 並不是所有的NVME SSD都很熱也有溫度很低的機型,不 09/04 15:21
chen5512 : 過我NVME SSD都習慣加上散熱器 09/04 15:21
arrenwu : 現在NVMe SSD通常都會再裝散熱鰭片了 09/04 15:22
kuninaka : 偷渡問題 nvme ssd 螺絲不見了 要去哪買? 09/04 15:22
MK47 : 網拍隨便都有 09/04 15:25
crow0801 : 微軟推這API 等於把NVMe當主流規格了 09/04 15:39
kuninaka : 現在遊戲機很少人不裝NVME了吧 09/04 15:44
kira925 : NB也是NVMe居多 09/04 15:47
arrenwu : 實際上NVMe價格也降到跟SATA差不多了 09/04 15:47
SPDY : 不只是把NVMe當主流而已 業界已視為未來多年的重點 09/04 15:57
SPDY : 像是WD 已推出透過網路存取的NVMe-oF產品了呢 09/04 16:01
hcwang1126 : 如果遊戲設計都會基於此 那真的nvme會大賣 09/04 17:00
hcwang1126 : PS5的遊戲不會在因為讀取 而設計不必要的場景 09/04 17:01
hcwang1126 : SATA的遊戲體驗會差太多 09/04 17:03
kuninaka : NVMe應該早就大賣了吧 09/04 17:19
chen5512 : NVME SSD螺絲網拍有在賣 09/04 17:20
friedpig : 反正兩大廠都確定NVMe高速介面了 這就一定是未來標 09/04 17:46
friedpig : 準也沒啥好討論的 未來開發者一定要照這個設計 09/04 17:46
ImCasual : Linux可以期待ㄇ 09/04 18:24
Void956 : 電子材料行 M2螺絲 09/05 05:51
kuninaka : 感謝各位版友回答 09/05 10:43
HotDogCC : Nemv還是讀到吐血 09/07 03:49