微软推出DirectStorage1.2 其新功能有助于加快HDD的加载时间
尽管MicrosoftDirectStorageAPI已经推出一段时间并且得到所有主要GPU和SSD供应商的支持,但目前并没有很多应用程序使用它。唯一支持它的主要游戏是Forspoken,它于几个月前发布,虽然游戏加载时间很长,但游戏本身在PC平台上并没有受到负面评价,这意味着绝大多数游戏玩家和PC观众尚未看到API的实际应用。
由于ForceBufferedIO模式,DirectStorage1.2有可能在未来的游戏和应用程序中部署后使HDD加载时间变得更好。
强制缓冲IO
DirectStorage当前以非缓冲模式打开文件。这使我们能够避免不必要的副本,尽快将数据传输到GPU上。但是,我们从一些开发人员那里听说,他们希望能够在高速SSD和传统硬盘驱动器上使用相同的代码。传统硬盘驱动器需要缓冲IO以掩盖较长的寻道时间。为此,我们添加了将DirectStorage配置为以缓冲模式打开文件的功能。
这可以通过将DSTORAGE_CONFIGURATION1中的“ForceFileBuffering”字段设置为TRUE来启用。请注意,缓冲IO与BypassIO不兼容,因此在使用此选项时必须将DisableBypassIO设置为TRUE。
SSD销量继续超过HDD,三星在制造和销售方面保持领先地位
现代M.2SSD驱动器和旧硬盘驱动器位于石板上
标题有责任知道何时使用此设置。仅应为将从操作系统文件缓冲功能中受益的较慢HDD驱动器启用此功能。
新的GetCompressionSupportAPI
DirectStorage目前是根据GPU的支持能力来选择内置压缩格式的解压路径。在某些情况下,会选择基于CPU的回退路径。我们从开发人员那里听说,了解正在使用哪个解压缩路径将是有益的,以便可以基于此设置默认纹理分辨率设置。为了实现这一点,我们添加了一个新的API来查询运行时选择的路径。
IDStorageQueue2::GetCompressionSupport()返回一个值,表示是否使用GPU优化实现、CPU回退的GPU回退用于解压缩,以及DirectStorage将使用什么类型的队列进行解压缩。
Bug修复
通过向DSTORAGE_REQUEST_OPTIONS添加“Reserved1”字段解决了https://github.com/microsoft/DirectStorage/issues/22。这使得结构的内存布局更加明确,但实际上并没有改变以前版本的布局。
修复了3D纹理的DSTORAGE_REQUEST_DESTINATION_TEXTURE_REGION,正如在DirectXDiscord频道上向我们报告的那样。
修复了将未压缩数据从内存传输到缓冲区时出现的调度问题
免责声明:本文由用户上传,与本网站立场无关。财经信息仅供读者参考,并不构成投资建议。投资者据此操作,风险自担。 如有侵权请联系删除!