Linux|能让SSD性能大幅提升,AMD将推出的黑科技是个啥?

Linux|能让SSD性能大幅提升,AMD将推出的黑科技是个啥?

文章图片

Linux|能让SSD性能大幅提升,AMD将推出的黑科技是个啥?

文章图片

Linux|能让SSD性能大幅提升,AMD将推出的黑科技是个啥?

据外媒Video Cardz报道 , AMD正在为其Ryzen处理器准备一项名为Smart Access Storage(SAS)的新技术 , 并有可能在海盗船首款游戏本Voyager上亮相 。
Smart Access Storage看起来有点像AMD之前发布的Smart Access Memory(SAM)技术 , 但两者不是一回事 , 后者的官方中文名为智能访存 , 是AMD推出的一种基于PCI-E协议的技术 , 旨在让CPU能够更高效访问显卡的显存 , 以此来提升游戏时的性能表现 。

目前 , AMD并没有披露过多关于SAS的技术细节 , 联系到海盗船将在6月发布游戏本以及AMD首席执行官将在Computex 2022大会上发表演讲 , 该项技术有望得到公布 。
虽然关于SAS的具体信息我们还无从得知 , 但在不少媒体看来 , 该技术与微软已经推出的DirectStorage技术相似 。 所以 , 我们不妨通过对DirectStorage了解来预先理解SAS技术 。

在过去 , 我们所玩的游戏并不复杂 , 关卡、人物都比较少 , 纹理简单 。 多年以后 , 游戏数据呈指数级增长 , 从庞大的开放世界到精细的人物角色 , 让游戏看起来很逼真 。
但所有这些创新都是有代价的 。 现代游戏通常需要几十GB的数据来渲染那些美丽的角色和环境 , 而游戏开发人员使用的一些工具并不是为处理如此多的数据而构建的 , 从而造成了性能瓶颈 。 为解决这个问题 , 微软的DirectStorage应运而生 。
在讨论DirectStorage之前 , 我们不妨先看看当前游戏的数据流是如何工作的 。
在我们启动游戏时 , 它需要纹理、角色模型和音频等数据呈现在屏幕上 。 而这些数据存储在硬盘等存储设备上 , 游戏通过称为应用程序编程接口(API)的软件工具请求这些数据 。
在游戏通过API请求数据后 , 它会从存储设备中获取数据并将其放置在系统RAM中 , 然后再将其传递给GPU进行渲染 。
在我们下载游戏时 , 所有数据都会被压缩以尽可能多地节省存储空间 。 但GPU不能使用压缩数据 , 因此 , 必须对其进行解压缩 。 而一旦数据在RAM中 , 它就会进入CPU进行解压缩 。 解压后 , 将游戏请求的数据复制到GPU的VRAM中 。 最后 , GPU将这些数据渲染成我们在显示器上看到的精美图形 。

现在 , 这种流式传输方法有两个主要缺点:首先 , 数据解压需要很多时间 , 这不仅会导致游戏加载时间增加 , 还会使CPU无法用于其他任务 , 而且由于CPU大部分时间都在解压 , 跟不上GPU的需求 , 导致帧率较低;其次 , 现有的存储API没有充分利用现在存储硬件 , 例如 , 当时的存储设备是缓慢的机械硬盘 , 没有每秒发送千兆字节的速度和带宽 , 因此 , API被编写为仅流式传输有限数量的数据 。
今天使用这些旧API的开发人员必须使用诸如降低场景复杂性以尽量减少对大量数据的需求 , 以及仅渲染纹理和玩家可以看到的环境和增加加载时间以确保它们的方法来规避这种有限的数据流预算 。
这些方法仍存在很大局限性 , 因为 , 即使使用市场上最快的存储器 , 游戏仍然有很长的加载时间、纹理处理和场景绘制 。
而DirectStorage就是帮助开发人员通过更好的数据流处理来解决这些问题 。 DirectStorage是一组存储API , 当开发人员调用它向存储设备请求数据时 , 和之前的过程几乎相同 , 但有两个主要区别 。

首先 , 将数据复制到RAM后 , 数据不会复制到CPU中并解压缩 。 与旧API不同 , 压缩数据直接发送到GPU 。
【Linux|能让SSD性能大幅提升,AMD将推出的黑科技是个啥?】其次 , API充分利用了超快的NVMe SSD硬件 。 因此 , DirectStorage需要NVMe SSD才能工作 , 因为NVMe SSD的带宽比机械硬盘高得多 。 DirectStorage使用这些SSD全部带宽 , 即GB/s数量级 , 一次读取大量数据 。 这与以MB/s为单位缓慢读取数据的旧API不同 。
因此 , GPU会立即接收大量压缩数据 , 而无需等待更多数据到达后再进行渲染 。 剩下要做的就是解压缩数据以供GPU渲染 。
DirectStorage包含最先进的GPU解压缩技术 , GPU以比CPU高得多的速率解压缩数据 。 它们还可以长时间维持这种高速解压 , 这是CPU无法做到的 , 这就是使GPU成为未来数据解压缩的主要候选者的原因 。 将解压过程转交给GPU还可以释放CPU来处理其他任务 , 例如处理音频和准备要显示的帧 。