微軟通過新的 DirectStorage 1.2 帶來了性能提升,即使在較慢的 HDD 上也是如此

微軟通過新的 DirectStorage 1.2 帶來了性能提升,即使在較慢的 HDD 上也是如此

Microsoft 發布了最新版本的 DirectStorage API。新版本 1.2 帶來了一些新功能以及錯誤修復。由於進行了一些更改,商店的性能也得到了提升。

在 DirectStorage 1.2 中,Microsoft 帶來了緩衝 IO 模式。該公司表示,這是對希望在固態驅動器 (SSD) 和硬盤驅動器 (HDD) 上使用相同代碼路徑的開發人員的回應。HDD 在緩衝 IO 模式下運行,因為它們具有更長的尋道時間。公司寫道:

DirectStorage 當前以非緩沖模式打開文件。這使我們能夠避免不必要的副本,盡快將數據傳輸到 GPU 上。但是,我們從一些開發人員那裡聽說,他們希望能夠在高速 SSD 和傳統硬盤驅動器上使用相同的代碼。傳統硬盤驅動器需要緩衝 IO 以掩蓋較長的尋道時間。為此,我們添加了將 DirectStorage 配置為以緩沖模式打開文件的功能。

除了緩衝 IO 之外,還引入了一個新的GetCompressionSupport API,它增加了查詢使用的解壓縮路徑的能力,無論是 GPU 還是後備 CPU 路徑。DirectStorage 1.2 的完整更新日誌如下:

新功能

  • 添加對啟用緩衝文件 IO 的支持,以便在可能受益於 OS 文件緩存行為的 HDD 上使用。
  • 添加IDStorageQueue2::GetCompressionSupport API 以指示 DirectStorage 運行時在解壓縮受支持的 GPU 解壓縮格式時將採用的路徑。
  • 更新 dstorage.h 和 dstorageerr.h 以包含在 MIT 許可證中。
  • 添加Microsoft.Direct3D.DirectStorage.winmd,以簡化對 API 的非 C++ 綁定的生成。

Bug修復

  • 將“Reserved1”字段添加到 DSTORAGE_REQUEST_OPTIONS。這使得結構的內存佈局更加明確,但實際上並沒有改變以前版本的佈局。
  • 修復 3D 紋理的 DSTORAGE_REQUEST_DESTINATION_TEXTURE_REGION。
  • 修復將未壓縮數據從內存傳輸到緩衝區時出現的調度問題

性能改進

  • 將GPU 解壓縮後的副本移動到速度更快的 GPU 計算隊列中。

您可以在此處的官方博客文章中找到更多詳細信息。

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *