A9VG电玩部落论坛

 找回密码
 注册
搜索
楼主: 亚里斯猫德

(个人翻译)揭开SSD与载入时间的神秘面纱——SSD是怎么与游戏有关的

[复制链接]
该用户已被禁言

精华
0
帖子
5327
威望
0 点
积分
5227 点
种子
11 点
注册时间
2011-1-20
最后登录
2020-9-5
发表于 2020-3-22 10:37  ·  山东 | 显示全部楼层
jbxddx 发表于 2020-3-21 22:12
感谢辛苦的翻译,如果按照文章翻译说的,如果是根据ps5特性开发的游戏大作,根本就没法移植pc或者xbx,也就 ...

“根据ps5特性开发的游戏大作,根本就没法移植pc或者xbx,也就是说ps5的专有独占大作会非常多?"如果你是第三方游戏公司,你愿意这么干?先说服下Capcom吧。
该用户已被禁言

精华
0
帖子
5327
威望
0 点
积分
5227 点
种子
11 点
注册时间
2011-1-20
最后登录
2020-9-5
发表于 2020-3-22 10:39  ·  山东 | 显示全部楼层
这些所谓的专家也不要认为都是什么好鸟,当年dc和ps2,不也是有个所谓的专家,大谈特谈dc的牛币地方,还说什么ps2做不出莎木这样的开放场景的游戏,结果,gta3分分钟打这些所谓的专家的脸。

精华
0
帖子
8420
威望
0 点
积分
8658 点
种子
1087 点
注册时间
2015-3-6
最后登录
2023-12-9
发表于 2020-3-22 11:00  ·  河北 | 显示全部楼层
写这个的人有些逻辑没有搞清楚
实际的占用内存,有大量是程序运行时本身所创造出来的。基于50m数据集的程序在实际运行时可能会占用上好几个G,而从硬盘中加载只需要最开始的一次而已。比如说那张图片里system memory的havok数据,实际从硬盘中需要的可能只是几个顶点数据(实际上这些顶点的数据还是在内存中不断迭代刷新的,不会写回硬盘)和逻辑代码,剩下的全是物理计算的中间数据与硬盘无关。所以拿整个内存的占用来衡量硬盘读取是很傻的行为。

游戏中主要的纹理和音频其实都是可复用的,这些数据一般也会常驻内存不断复用。流加载数据主要针对的是1.非重要非复用的音频和纹理数据 2. 场景切换用来替换常驻数据,并不是需要时刻刷新加载的。你不可能在游戏中每秒不停地切换大场景并且丢弃掉当前所有复用数据。这也就是为什么这么久以来即便是缓慢的HDD也足以支撑大型开放**的原因。

更高速的ssd有没有好处?肯定会有,但是这个边际收益相当低,只要随机读取的速度达标,体验不会有本质差别。就好像是设计赛车不会把加油速度放在第一位一样的。

另外说一句,流数据加载的基本上都是零碎的小文件,哪怕是ssd也不可能按着最大顺序读取的速度来跑,作者的计算本身就是错的。


原先是这样没错,或者说pc现在是这样没错,但忽视了ps5数据在不占用cpu资源的前提下高效压缩解压的过程,高速ssd及高速通道是让原常驻数据可以按照加载优先级从ssd实时加载到内存,同时coherency engine与cache scrubbers在此周期会协作更高效更细致的替换从ssd获取并解压加载到内存的数据,并且试图通过更高的频率来提高gpu缓存带宽,从而加快缓存数据擦除写入周期运作,进而实现数据实时加载,把内存有限的空间留给其他非数据流。

精华
0
帖子
21
威望
0 点
积分
21 点
种子
5 点
注册时间
2020-3-18
最后登录
2022-8-7
发表于 2020-3-22 11:36  ·  北京 | 显示全部楼层
想起了当年ps一代读盘时光头在轨道上运行的声音

终结者

老油条

精华
1
帖子
9438
威望
1 点
积分
10036 点
种子
574 点
注册时间
2015-9-16
最后登录
2024-5-2
 楼主| 发表于 2020-3-22 13:41  ·  浙江 | 显示全部楼层
本帖最后由 亚里斯猫德 于 2020-3-22 13:54 编辑
blackjtr 发表于 2020-3-22 06:35
不是妥协,是多级内存模式下的数据加载模式。相对于hdd而言,也许ssd很快,但是相对于内存甚至cache而言 ...


内存永远是不够用的,尤其是主机内存要跟GPU共享。当你站在理想开发环境和开发逻辑的高度讨论的时候,主机一眼望去都是瓶颈。CPU要升,GPU要升,内存要升,外存要升。总之,统统都要升。PC配出一套9900k,64G,2080ti,pcie 4.0 ssd不在话下。但你开发商面对的是什么,面对的是可怜的美洲豹,面对的是可怜的8G,这可怜的8G还要被可怜的7850拿去用掉一部分,最后是可怜的HDD,你面对的永远是不理想的开发环境。哪怕XSX和PS5上市,开发者还是要面向X1和PS4开发好一阵子。我知道你很想9900k,很想64G,很想自带11G的2080ti,很想pcie4.0 SSD,我知道你很羡慕9900k平台的算力和带宽,但你先拿美洲豹8G7850hdd凑合玩吧。所以你的逻辑直接就是荒谬的。开发者从来都不自由,开发者当然知道并且比一般人更会定义什么是最好的解决方案,但是有雄心的开发者同时知道,世界从来没有对他们友好过,从来没有。卡马克写引擎开发DOOM开发QUAKE一样会遇到杂七杂八的各种难题,他遇到的难题不会比现在的开发者少也不会比现在的难题容易处理——如果你觉得他那时候的难题容易处理,那是因为你是从现在回过去看当时。现在任何一个大学的物理老师都能把相对论讲个七七八八,这不意味着这些人穿越到1920年就能使当时的世界直接多出一大票能理解得了相对论的人。

我提卡马克的意思是,开发者面对的开发环境永远有着很大的局限性,现在是这样,卡马克时代也是这样。我提相对论的意思是,处在特定时代下的人会被当时居主流地位的思想框架限制住,以至于从想象力的角度他们很难去想象新的思想框架所带来的可能,我不是去责怪他们,这是一个客观状况,就好比特朗噗最近的一句名言,“这就是生活”。对于爱因斯坦之前的物理学而言,大多数物理家的共识是物理理论已经比较完整了。就像开尔文说的,物理学的大厦已经建立,剩下的工作只是修修补补。开尔文没有想到,正是他口中的那两朵乌云,最后颠覆了整个物理学。

对于一个认识到现实的开发者来说,他是知道,哪怕他的开发环境得到了提升,但是这样的提升永远不是一劳永逸的,永远都会给他造成麻烦。PS5相比PS4,XSX相比X1,内存有升级。但是这样程度的升级远不会让开发商觉得满足。如果开放商觉得满足,那是因为他是拿PS5跟PS4比。正如你自己说的,SSD能解决什么问题呢,最好的办法就是加内存,内存加到能够容纳全部的潜在需要加载的东西。

所以为什么我对你的发言有抵触感呢?不是因为你不专业,不是因为你没说我想听的话,不是因为你的观点跟文章相左于是打消我的热情,而是因为你的说话方式很怪异,你试图告诉我业界的真实开发逻辑是这样的,但是你的实际措辞却让人觉得你不是在讨论真实的业界开发逻辑

为什么呢?真实的业界开发环境永远是不自由的。你开发商这个世代就是要面对8G共享内存,下个世代要面对16G共享内存。你眼红PC可以有64+11,但是你的眼红就只是眼红。你就是得面向8G面向16G开发。内存永远不够用。是在使用内存的时候,永远要有权衡。你在这里多分配一点,那么在那里就会少分配一些。少分配的地方,它就可能会影响你原来的设计内容和设计方向。世界不会听你的把内存加到符合你的要求。世界永远不会对你友好,你只能对你自己友好,正因为你只能对你自己友好,所以你牺牲掉的是你自己这边的要求,使自己的要求跟硬件所能提供的空间相匹配。所以开发人员鼓捣出了许许多多的办法来高效利用内存,来迎合HDD的速度。这一个个解决方法,这无数个解决方法,都是有代价的,都是要牺牲一些东西。从你作为开发者的视角来看,你认为这些牺牲完全是可以接受的,并没有什么大不了的,一般玩家完全是反应过度。从开发者视角完全可以这么看。
但反过来从创新者从好奇心旺盛的观众角度,他们完全可以想象如果没有牺牲这些东西,游戏是什么样子。如果说,开发者确实有无数种方法解决难题的时候,那么反过来,你一个人无法替这无数种方法背书说,这所有牺牲掉的可能都不能对玩家的体验带来显著的影响。

所以,从非专业人员的角度来说,你的帖子之所以读起来没味道就是你完全没有对SSD可能带来的革新前景有任何的展望,你的分析全部是基于当下的游戏制作逻辑。同时,哪怕是当下的游戏制作逻辑,我也看不到你的分析框架下SSD能带来什么令人期待的改观。在你的分析下,就好像外存根本不是短板一样。换句话说,就是你这个人让人觉得没有建设性和创新性。
wyp

精华
0
帖子
2459
威望
0 点
积分
2716 点
种子
43 点
注册时间
2004-4-23
最后登录
2024-4-30
发表于 2020-3-22 13:54  ·  江苏 | 显示全部楼层
squll007 发表于 2020-3-22 10:37
“根据ps5特性开发的游戏大作,根本就没法移植pc或者xbx,也就是说ps5的专有独占大作会非常多?"如果你是 ...

开发人员肯定是按最省力省钱又能达到最大开发性价比的方案去做的,PS5应该是最佳的选择,我估计在索尼主机上完美显示所有远近景的画面细节,但近景渲染略差,在微软主机上的效果,可能接近与现在主机上的效果,远景大幅删减弱化,调整移动时远景LOD一层一层跳出,但近景渲染比PS5要好一些,有这种可能性吧。PC上的嘛,再用选项调整继续缩减规模?

审判者

欲悲闻鬼叫,我哭豺狼笑

精华
1
帖子
15504
威望
5 点
积分
16264 点
种子
544 点
注册时间
2004-7-2
最后登录
2024-5-1
发表于 2020-3-22 14:15  ·  江苏 | 显示全部楼层
wyp 发表于 2020-3-22 13:54
开发人员肯定是按最省力省钱又能达到最大开发性价比的方案去做的,PS5应该是最佳的选择,我估计在索尼主 ...

这结论我都要忍不住笑了,你们快被人忽悠瘸了吧。先停一下,你们回头想想渲染工作是哪个硬件负责吧……
该用户已被禁言

精华
0
帖子
262
威望
0 点
积分
268 点
种子
5 点
注册时间
2019-5-18
最后登录
2020-9-7
发表于 2020-3-22 14:17  ·  上海 | 显示全部楼层
wyp 发表于 2020-3-22 13:54
开发人员肯定是按最省力省钱又能达到最大开发性价比的方案去做的,PS5应该是最佳的选择,我估计在索尼主 ...


大错特错。

首先,材质被load进显存了,就能呈现在屏幕上了?错,进显存之后,需要cu来处理的。然而,ps5的cu数量和处理能力明显低下。

其次,显存本身也有快慢(送炮弹的能力),ps5的显存比xbx高速的那10G也慢。

第三,如果说ssd的速度提高,可以变相增加显存的容量,那pc不是更简单?因为pc有一个主机没有的部件,叫做内存

而再慢的内存,也比最快的ssd要快。pc只需要把对应的内容加载到内存等显卡去调用就好。
该用户已被禁言

精华
0
帖子
262
威望
0 点
积分
268 点
种子
5 点
注册时间
2019-5-18
最后登录
2020-9-7
发表于 2020-3-22 14:33  ·  上海 | 显示全部楼层
简单而言,你们可以把游戏机想象成一挺重机枪

机枪的射速=gpu的处理能力,弹带的输送速度=显存的速度,ssd的性能=装弹机给弹带装子弹的速度。

这三者单独提高某一者并没有任何意义,因为会产生瓶颈卡住,要提高,得3个一起提高。

精华
1
帖子
13862
威望
1 点
积分
17095 点
种子
2516 点
注册时间
2007-2-3
最后登录
2024-5-2
发表于 2020-3-22 15:04  ·  河北 来自手机 | 显示全部楼层
我是个小白,不懂游戏开发,事实上我什么都不懂。举个可能不恰当的例子,可能会让真正懂的人嗤之以鼻。90年代我记得央视的综艺大观是把现场直播来作为卖点的,估计那时很少有人会想到在并不太遥远的未来任何个人都可以随时随地的现场直播。网络带宽的提升改变了媒体的表现形式,现在的直播行业在没有高速网络的前提下是不可能出现的。当然网络带宽是必要条件之一 ,没有现在的高性能智能手机用90年代的大哥大也是不可能办到的。现在如果回头问生活在90年代的人网速提升会带来什么,估计他也回答不出什么,也许会说网络聊天时少排会儿队?事实上现在的很多产业都是基于网络带宽的提升才会出现的。
至于游戏我不知道有没有什么idea是因为HDD而被迫放弃的,用HDD这个idea就是实现不了,有多少内容是因为HDD而被迫做出的妥协。这个就只能由懂行的大佬来回答了。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|A9VG电玩部落 川公网安备 51019002005286号

GMT+8, 2024-5-2 10:09 , Processed in 0.209278 second(s), 17 queries , Redis On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

返回顶部