PS5:独有的架构打破I/O瓶颈
先来说说PS5。无论是Xbox SX还是PS5,都是用了SSD作为存储介质。但是,双方又有所不同,PS5的架构更多地为打破游戏I/O的瓶颈而设计。
根据当前信息,PS5的SSD传输速率达到了5.5 GB/s,但这不是关键。关键在于,PS5的游戏数据读取,和传统流程是不同的。在PS5的架构中,在一定程度上,GPU可以直接向SSD索取所需要的游戏数据,这减少了数据中转的环节,效率大为提升。
PS5是如何做到这一点的呢?这需要从当前游戏的数据存储架构说起。
当前游戏的数据,是以打包的形式存放在硬盘中的。一张张贴图、各种纹理的文件,往往会集中打包,当游戏需要相应数据时,才会解包输送到显存当中,随后再交给GPU渲染。
如此一来,显存就不得不存放大量未必用得到的贴图纹理数据,每次切换新场景都必须历经一次读包-解包的过程,这在游玩过程中,就体现为读图。
为什么游戏数据要打包放置?在传统HDD硬盘中,将零散文件统一打包,有助于减少磁头寻道,HDD硬盘的性能瓶颈就在于此。将游戏数据打包为大文件,可以让HDD持续传输数据,提升性能。
现在已经进入了SSD时代,SSD没有寻道这一概念,对零散文件的读取速度是HDD的百倍不止,更合理的机制是GPU需要什么贴图纹理,就直接读取什么贴图纹理。但由于当前的游戏主机PS4、Xbox One依然采用HDD,游戏也只能随主流适配HDD,因此游戏的做法还是将数据打包在一起,这令SSD需要读取额外的大量数据,并没有发挥出应有特长。大家从HDD换用SSD,感觉到的变化也就是读图更快了,但读图始终是一道迈不过去的槛。
在PS5中,情况终于得以改变。根据目前透露的消息,针对PS5开发的游戏,其贴图等数据不再集中打包,而是分布放置(或是打成更小的包),游戏可以仅仅读取所需数据到显存,效率大为提升。
PS5的独到设计,有两个好处。
·消灭读图的过程。游戏数据不再需要统一打包、读取,可以按需实时读取,更加灵活,没有了统一载入也就是读图的过程;
·解除场景规模限制。前面提到,游戏场景规模受限,是由于显存难以承载大场景所需的海量数据。在PS5的新存储架构中,场景所需要的数据分散存储在SSD中,实际需要的时候才会实时读取,这些数据再无必要一次性载入显存,大大减轻了显存负担,也令更大场景的制作成为了可能。
理论上如此,实际也是如此。索尼早前演示了运行中PS5中的《蜘蛛侠》新作,演示中蜘蛛侠在地图上自由飞荡过一座座高楼,尽管地图非常广阔,但PS5基本不需要读图。
索尼自己的演示信不过?再来看看第三方的演示。Epic之前放出了新一代引擎虚幻5的演示,这段Demo全程运行在PS5实机上,从中可以看到场景非常辽阔,而且人物可以在场景中高速移动,一气呵成,毫无读图痕迹,非常爽快。
虚幻5引擎的官方演示,运行于PS5实机上,可以直接跳转到7:50,体会一下无缝大地图的高速移动