Windows 10將會使用新的DirectStorage API - 3C

Cara avatar
By Cara
at 2020-09-04T14:08

Table of Contents

來自微軟的部落格文章

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

--
Tags: 3C

All Comments

George avatar
By George
at 2020-09-07T15:38
招喚obov
Ula avatar
By Ula
at 2020-09-10T18:10
樓下obov
Daniel avatar
By Daniel
at 2020-09-12T07:55
樓下obov
Joe avatar
By Joe
at 2020-09-13T23:02
上面好多obov 樓下繼續當obov
Charlie avatar
By Charlie
at 2020-09-17T01:00
恩 沒問題 繼續當obov
Ula avatar
By Ula
at 2020-09-19T12:27
學長安安 ><
Zanna avatar
By Zanna
at 2020-09-23T04:58
用 mac os 不就一勞永逸了嗎...windows就是愛自找
一堆麻煩 花錢買罪受
Olive avatar
By Olive
at 2020-09-25T09:43
在mac上玩遊戲 花錢買罪受的是誰啊 ㄏ
Damian avatar
By Damian
at 2020-09-28T23:54
他的意思是用mac os就不用打遊戲 一勞永逸吧
Blanche avatar
By Blanche
at 2020-09-30T17:21
我沒有用過那麼高規的SSD,想問一下板上用NVMe SSD
的板友,現在你們玩遊戲會遇到那個「惱人的讀取」嗎
Kristin avatar
By Kristin
at 2020-10-04T00:24
用mac os甚麼事情都不能做就不會想東想西浪費時間了
Valerie avatar
By Valerie
at 2020-10-07T07:36
不過從這個文章看起來,像是現在的讀取可能很快,但
以後那些過場會變成「秒讀」的樣子
Daph Bay avatar
By Daph Bay
at 2020-10-10T04:23
讀多慢都有方法去處理 這是遊戲設計的一環
Belly avatar
By Belly
at 2020-10-13T20:07
當初PS5發表的時候 忘了在哪個板就有看到遊戲設計的
分享了 以前讀很慢的時候 就是多塞一些無意義的長廊
Elizabeth avatar
By Elizabeth
at 2020-10-14T06:03
之類的 增加你移動時間 去偷讀取時間 遊戲設計師
設計的好 就算多爛的讀取都不一定有感 但如果能讀
Jacky avatar
By Jacky
at 2020-10-15T16:54
但我對於他講的那個 50MB/s 挺有疑問的
現在遊戲讀取還是這種速度嗎?
Lauren avatar
By Lauren
at 2020-10-17T16:03
很快 遊戲設計又能有更多操作空間 影響最大的應該
是開放世界
Rebecca avatar
By Rebecca
at 2020-10-20T14:18
舊世代(XBOX PS4)是HDD 小檔讀寫差不多啊
Jacky avatar
By Jacky
at 2020-10-22T08:09
喔喔 我了解了 我還想說大家都在用SSD怎麼會那麼慢
Yedda avatar
By Yedda
at 2020-10-25T21:39
SSD要不要特規 官方QA有提到 不用 API更新以後就可
Lucy avatar
By Lucy
at 2020-10-30T09:29
以 沒掛保證的只有HDD會不會進這個協定
Olivia avatar
By Olivia
at 2020-11-02T09:24
https://bit.ly/3jIQq1O 官方QA
Una avatar
By Una
at 2020-11-04T08:13
目前NVME SSD主要還是用在系統碟吧,等到用到遊戲
Iris avatar
By Iris
at 2020-11-04T20:08
QA裡面也有提到一點Cuda Double的設計
Kelly avatar
By Kelly
at 2020-11-04T23:25
碟後才知道吧
Noah avatar
By Noah
at 2020-11-07T04:14
用在哪你自己的決定吧 我就拿NVME去給遊戲碟阿 系統
拉在快有點無感了
Sarah avatar
By Sarah
at 2020-11-08T08:15
而且系統小檔讀寫居多 nvme跟Sata的也沒差到很多
Olivia avatar
By Olivia
at 2020-11-11T09:57
但就算是用 SATA SSD,也會比那個50MB/s快很多吧
Christine avatar
By Christine
at 2020-11-12T00:08
快不一定有用阿 遊戲設計師一定是以常態去設計
所以你再怎麼快遊戲可能還是做成一堆偷讀取時間的內
Zenobia avatar
By Zenobia
at 2020-11-15T02:02
https://bit.ly/2Z74Pgh 這裡有篇文章響應 friedpig
對系統SSD的看法。NVMe是有比較快,但其實差別很小
Eartha avatar
By Eartha
at 2020-11-19T04:19
我不用nvme當系統碟還有另一個點 nvme都有夠熱 又快
我對他壽命信心度比較低 遊戲碟死了就算了 系統碟死
了麻煩的要死 寧願用SATA的SSD做系統
Edward Lewis avatar
By Edward Lewis
at 2020-11-19T09:17
並不是所有的NVME SSD都很熱也有溫度很低的機型,不
過我NVME SSD都習慣加上散熱器
James avatar
By James
at 2020-11-24T05:00
現在NVMe SSD通常都會再裝散熱鰭片了
Liam avatar
By Liam
at 2020-11-26T11:33
偷渡問題 nvme ssd 螺絲不見了 要去哪買?
Rosalind avatar
By Rosalind
at 2020-11-29T04:43
網拍隨便都有
Tristan Cohan avatar
By Tristan Cohan
at 2020-11-29T13:19
微軟推這API 等於把NVMe當主流規格了
James avatar
By James
at 2020-11-30T12:24
現在遊戲機很少人不裝NVME了吧
Hazel avatar
By Hazel
at 2020-12-01T05:11
NB也是NVMe居多
Iris avatar
By Iris
at 2020-12-03T23:26
實際上NVMe價格也降到跟SATA差不多了
Steve avatar
By Steve
at 2020-12-06T01:05
不只是把NVMe當主流而已 業界已視為未來多年的重點
Edith avatar
By Edith
at 2020-12-06T11:20
像是WD 已推出透過網路存取的NVMe-oF產品了呢
Delia avatar
By Delia
at 2020-12-07T11:36
如果遊戲設計都會基於此 那真的nvme會大賣
Erin avatar
By Erin
at 2020-12-10T04:50
PS5的遊戲不會在因為讀取 而設計不必要的場景
Isla avatar
By Isla
at 2020-12-11T12:39
SATA的遊戲體驗會差太多
Lauren avatar
By Lauren
at 2020-12-13T16:35
NVMe應該早就大賣了吧
Sandy avatar
By Sandy
at 2020-12-18T01:32
NVME SSD螺絲網拍有在賣
Yedda avatar
By Yedda
at 2020-12-18T10:51
反正兩大廠都確定NVMe高速介面了 這就一定是未來標
準也沒啥好討論的 未來開發者一定要照這個設計
Andrew avatar
By Andrew
at 2020-12-20T10:04
Linux可以期待ㄇ
Heather avatar
By Heather
at 2020-12-21T19:10
電子材料行 M2螺絲
Mary avatar
By Mary
at 2020-12-25T22:20
感謝各位版友回答
Damian avatar
By Damian
at 2020-12-29T23:09
Nemv還是讀到吐血

新冠病毒大流行能否成為PC重生的轉捩點?

Edwina avatar
By Edwina
at 2020-09-04T13:37
新冠病毒大流行能否成為PC重生的轉捩點? https://bit.ly/3jzQeC0 近期,從戴爾與惠普兩大PC廠商發佈了優於市場預期的季度業績,主要原因在於新冠病毒 大流行期間,居家上課的學生以及在家辦公的員工對於個人電腦需求表現非常強勁。 根據戴爾的財報顯示,截至2020年7月31日的第二財報顯示 ...

華擎的X570&B550 Taichi如何?

Queena avatar
By Queena
at 2020-09-04T13:29
想請問各位覺得華擎X570andamp;B550 Taichi如何呢? 最近剛好在挑板子...CPU使用3900X 本來在猶豫御三家X570的C8H、Master(暫定首選) or Ultra、Ace or Unify 看到華擎有9折的活動...有心動了一下 爬文討論好少...只看到價差300不如選X ...

ZOTAC 發布 RTX 2060 S White 白化,開賣

Sandy avatar
By Sandy
at 2020-09-04T12:26
原價屋開賣 送機殼 活動商品:ZOTAC GAMING RTX2060 SUPER OC White Edition(1680MHz/21cm/註四年/雙風扇)白色版 $11,990 (官網) 活動贈品:XPG INVADER 侵略者 白色機殼 (市價$2,590)(開箱) 活動數量:15張 30系 ...

威建 Ryzen 5 3600 送修

Hedy avatar
By Hedy
at 2020-09-04T11:40
我是去年七月先衝的ZEN 2真香受害者 系統灌好後 windows 偶爾會出現 BSOD,覺得小事就不太理他 但是上個月出現了 PCI-E SSD SATA 硬碟偵測不到 爾後還發生只要裝硬碟就卡在 POST 畫面 拔硬碟就可正常進入 BIOS 一開始以為是主機板的問題,拿去送修換新品後 還是一樣 ...

8K左右文書機

Erin avatar
By Erin
at 2020-09-04T11:24
已買/未買/已付訂金(元):未買 預算/用途: CPU (中央處理器):AMD R3 3200g (高興價) MB (主機板):華碩 PRIME B450M-A (高興價) RAM (記憶體):美光 DDR4-3200 8G VGA (顯示卡): SSD (固態硬碟):WD ...