» 您尚未登录:请 登录 | 注册 | 标签 | 帮助 | 小黑屋 |


发新话题
打印

[新闻] 开发者称虚幻引擎5的Nanite技术或使游戏文件的体积暴涨

posted by wap, platform: 华为
庆幸自己对cod毫无兴趣,看看其它游戏是什么情况


TOP

posted by wap, platform: Samsung
引用:
原帖由 @MacPhisto  于 2020-7-19 00:55 发表
我说的“牺牲空间”是指开发者为了加快loading而采用的数据冗余。

比如,假设游戏里有5种素材A,B,C,D,E,有3个关卡X,Y,Z。
那么,如果是从“节省存储空间”的角度出发,游戏文档里应该只有A,B,C,D,E这5种素材,每个素材只出现一次。
然后在X,Y,Z关卡里,保存每个关卡用到了哪些素材,注意每个关卡保存的是素材的编号,而不是素材的内容本身。

但这样做的坏处是,假设X关的素材是A,B,E,而Y关的素材是B,D,E,读取X或者读取Y时会出现大量随机读写。磁盘IO就会成为性能瓶颈。

因此常用的优化方式是数据冗余。也就是说,在生成X关的数据是,把"A,B,E"这三种素材的实际内容打包为一份连续的数据,存储在X关里。
同样,在生成Y关时,把B,D,E的实际内容打包为一份连续的数据存储在Y关。
这样,在读取Y时,只需要顺序读取一次B,D,E到内存就可以了,不存在IO随机读写。

这也是为什么现在的游戏体积越来越大,COD有200G并不是因为COD真的有那么多素材,而是因为相同的素材被复制了很多份,目的是为了加快loading速度。
这也是为什么压缩算法的作用不大。因为文档体积增大的根本原因是开发者为了提升loading速度,宁愿采取数据冗余,牺牲体积。

而压缩算法本身解决不了“IO随机读写永远比顺序读写慢”这个特性。
惊了 ,学习了!我一直以为现在游戏大的原因是过场全部用的录制动画



TOP

发新话题
     
官方公众号及微博