游戏《戴森球计划》这么火,它的一些细节在技术上是怎么实现的?

物理帧的大部分工作是由CPU来完成的,要维持60的帧率,一个物理帧允许的CPU处理时间不能超过16ms(毫秒),除开提交DrawCall渲染的时间和其他必须的开销,只有大约11ms可用于一帧的游戏核心逻辑。
单核游戏?多核游戏?都不是,这是一个GPU游戏!
目前CPU的性能发展遇到了瓶颈,已经没办法再大规模提升单核性能,只能靠提升核心数量。而在很多实际应用的情况下,对核心数量的提升,远不如增加一点点单核频率提升的性能多。
虽然我们在星系的随机生成及模拟、星球地形动态生成、无缝加载等逻辑中使用了多线程来缓解主线程的压力,但是对于游戏逻辑中如此庞大的计算量,就算有100个核火力全开多线程完美配合也未必驾驭得了!
从《戴森球计划》的想法诞生之初,就决定了这是一个GPU游戏。看那数万颗太阳帆,每一颗的运动都遵循着万有引力定律,每一颗都在计算发电量,每一颗都能被近距离观看。像大规模并行计算这样的工作,使用GPU是不二的选择。

无独有偶,在计算化学领域,有一种叫分子模拟的计算方法,同样是由于使用了GPU处理大规模并行计算而出现了革命性的突破,相同的分子模拟任务,使用GPU计算几乎可以得到比CPU任务快出几个数量级的差异。这样的进步使得分子模拟出现了革命性的突破,我们从之前的只能模拟小分子,小体系的皮秒纳秒级行为变成了可以模拟大蛋白甚至是蛋白复合物的微秒甚至毫秒级的变化;

新冠病毒刺突蛋白识别人类ACE2细胞受体的动态过程

在我刚接触这方面的时候,也有想到用同样的方法来处理这种开放式世界游戏的世界演化想必同样是革命性的突破,然而以我的水平肯定是做不出这样的突破的,不过幸运的是,没过多久,作为玩家的我就有幸看到了戴森球计划——在游戏领域有牛人把GPU的并行计算能力应用了起来,看到这个消息的时候我钦佩不已,情不自禁高呼666并赶紧入手了一波~

连游戏的开发者都情不自禁自问自答了一波给自己打call哈哈;

于是,我们就看到了地表与太空的无缝切换,实现了真正的3D开放世界而不必受限于电脑配置而讲游戏变为2D平面上的游戏,这使得整个游戏给了玩家一种无与伦比的沉浸感,你甚至能感受到巨行星铺面而来的窒息和从黑洞旁掠过的震撼(观光游戏实锤),更令人震惊的是,如此震撼的效果居然是一个办公用笔记本电脑可以流畅带的起来的……这大概就是GPU的魅力吧

亲眼看到自己研究中有了解过的技术被应用到游戏上,不禁有那么亿丝丝激动哈哈哈

希望有更多在学术界和工业界叱咤风云的硬件和技术能应用到我们的生活中来!

来源:知乎 www.zhihu.com

作者:喵大侠

【知乎日报】千万用户的选择,做朋友圈里的新鲜事分享大牛。
点击下载

此问题还有 6 个回答,查看全部。
延伸阅读:
游戏《戴森球计划》有哪些有趣的细节?

猜想《戴森球计划》的敌人会以什么样的形式出现?