為了跟上不斷發展的遊戲體驗以及I/O硬體,微軟發布最新DirectX功能DirectStorage for PC的消息。DirectStorage是一個DirectX的API,能讓桌上型電腦顯示卡快速存取NVMe固態硬碟,以解決遊戲資源的載入瓶頸,提升遊戲畫面細節,大幅增加遊戲體驗。微軟預計明年就會推出DirectStorage開發預覽版。

無論是儲存技術或是遊戲,在現代都有了巨大的演進,在儲存方面,由於SSD和PCIe技術的發展,使得遊戲能夠使用比舊硬碟大上許多的頻寬,存取硬碟裡的資料,而現代遊戲因為畫面以及內容的提升,需要載入的資料比舊遊戲多上不少。

遊戲開發者發展了不少技術,來最佳化資源載入效率,像是將資源分解成更小的單位,遊戲便能僅載入當前渲染需要的部分,雖然這個方法會產生更多的I/O,但是確實能提升記憶體效率,遊戲也能渲染更精細的畫面。

但微軟提到,目前的繪圖API都沒有對如此大量的I/O進行最佳化,因此遊戲無法完全妥善利用NVMe提供的大頻寬,進而限制了遊戲的能力,因此微軟將推出DirectStorage for PC來解決這個問題,該API能夠在具有NVMe硬碟的系統環境,讓顯示卡高速存取遊戲資源,優點是除了縮短過長的載入時間之外,也使得遊戲畫面能夠更細緻。

微軟解釋,這兩個優點都來自I/O系統的改進,遊戲無論是要渲染角色服裝的貼圖,或是遠景群山的細節,都需要從儲存裝置載入資料,才能送至GPU運算,前者發生在載入畫面時,而後者則發生在玩家探索遊戲開放世界的時候,因為遊戲會即時載入角色視野內的景物,丟棄看不見的物件。

前一世代的遊戲,每秒約需要使用50 MB的資源,微軟提到,以較小的64 k資料塊計算,每秒大概產生數百個I/O請求,但現代遊戲每秒資源流量高達數GB,以Xbox Series X每秒2.4 GB,和相同的64 k資料塊來計算,每秒I/O請求數可能需要達35,000次,才能滿足遊戲的需要。

之所以當前的API,無法應付大量的I/O請求數,是因為單個請求的成本太高,當I/O數達萬次時,成本被放大,因而限制了NVMe磁碟帶來大頻寬的好處,另外,由於多數遊戲資源經過壓縮,要使用前都需要先進行解壓縮,所以要讓遊戲能夠盡量用到更多的資料,需要一個能解壓縮並傳遞至GPU的有效方法,而DirectStorage支援了最新解壓縮技術,剛好可以解決這個問題。

微軟提到,NVMe裝置不僅僅是高頻寬的SSD,而且還擁有稱為NVMe佇列的硬體資料存取管道,特別適合用於遊戲工作負載,NVMe裝置可以擁有多個佇列,每個佇列包含多個請求,能夠良好支援現代遊戲平行與批次處理的特性。

微軟正在與遊戲產業合作,推動DirectStorage標準,使得遊戲與硬體都能夠支援該API,並且也使得DirectStorage設計能夠更完善,微軟預計在明年,可以讓遊戲開發者用到DirectStorage開發預覽功能。


Advertisement

更多 iThome相關內容