Re: [闲聊] Vampire survivors 性能问题

楼主: dklassic (DK)   2022-03-04 18:42:15
※ 引述《Senkanseiki (戦舰栖姫)》之铭言:
: 如题,明明不是说什么绘图多精美的游戏,为什么那么吃效能阿
: 印象中会比较吃效能的通常是那种3D很精美的游戏,但这款显然不是
: 有玩的就知道后期敌人一多,电脑性能不够好就很容易卡
: 但那种90年代风格的游戏放到现在的电脑竟然还会卡老实说有点令人意外
: 他是程式写得很冗吗?
Vampire Survivor 效能需求应该是从两个要素来的:
1. CPU 单核效能需求
虽然 GPU 性能日益大增,但是 CPU 的效能就没有显著的提升。
举个差不多十年前顶标的例子跟现代顶标 CPU 比较(参考资料来自 Geek Bench):
CPU |Intel i7-2700K(2011)|AMD 5950X(2020)
单核|797|1686
多核|3022|16565
也就是这十年的时间虽然在最大效能(多核)上变成了五倍以上,但是单核效能也不过就
到了两倍多。大多数程式都还是很仰赖单核效能,所以现代电脑对单一程式处理能力也
不过是十年前的两倍多。
作者有提到说 Vampire Surivor 现行版本是使用 Electron、Chromium 制作的,所以他应
该是用很吃单核性能的方式在写 Javascript。
2. 现代 GPU 成长特化 3D 渲染
虽然纯粹看计算能力来说现代 GPU 似乎大增许多(参考资料来自 Geek Bench):
GPU |NVIDIA GTX580(2010)|NVIDIA GTX3080(2020)
分数|14796|180997
基本上是十几倍的增加。
但是现代 GPU 架构并不是为了 2D 图像显示而设计的,是为了上百万多边形的 3D 模型计
算而设计的。所以虽然可以显示的多边形数确实增加了十倍以上,但对于 2D 图像显示就
没有真的获得这么大的优势了。这个问题在 Ori and the Will of the Wisp 团队就有遭
遇到,虽然是个 2D 游戏,但是为了推出在 Switch 上还是得花很多努力。
参考影片: https://youtu.be/HxOUpb5UrRk (英文)
简而言之,虽然是个普通的 2D 游戏,但是可能:
-游戏逻辑计算单核需求过高+没有善用多核
-画面计算需求庞大不适合现代 GPU 处理
基本上也是为什么还是有一堆看起来画面很简陋的现代游戏效能需求却很夸张。
但要说能不能做得更好,答案是非常肯定的。
回头去看 RollerCoaster Tycoon(1999)的资料处理规模远大于现代很多游戏,当时的电
脑硬件更烂,却可以匪夷所思地顺畅执行。
Vampire Survivor 的作者看起来有公告会平行在其他架构、引擎上重制这款游戏,让游戏
可以跑得更顺。
作者至少还是可以做努力改变资料结构最佳化单核表现,甚至进一步改写成适合多核心平
行计算的版本,就有望让游戏跑得更顺畅。
大概这样参考参考。
作者: a3831038 (哭哭杰)   2022-03-04 18:47:00
但我看使用率每个核心都有平均使用欸
作者: justwedave (dave)   2022-03-04 18:48:00
js 就 single threaded
作者: spfy (spfy)   2022-03-04 18:50:00
我说那个JavaScript就是逊啦
作者: henry12188tw (onlyforever)   2022-03-04 18:54:00
我用文书机玩都不会卡欸
作者: horazon (Horazon)   2022-03-04 18:57:00
碰撞可能也有差 不确定各种碰撞是照图片或简单方块/圆形引擎实作方式也有差 Unity新的ECS应该蛮适合这游戏
作者: daidaidai02 (不推理的名侦探)   2022-03-04 19:26:00
把2d游戏做成3d游戏就能得到那个进化的效能吗? fgo也是为此才做成假2d的吗?
作者: a3831038 (哭哭杰)   2022-03-04 20:14:00
平均都20%左右而已,可能就是你说的那样
作者: tsubasawolfy (悠久の翼)   2022-03-04 20:51:00
就吃单核频率而已
作者: daidaidai02 (不推理的名侦探)   2022-03-04 22:01:00
感谢长文解析

Links booklink

Contact Us: admin [ a t ] ucptt.com