您的位置 首页 边缘世界

【心得】个人改善游戏卡顿的经验,主要关于RuntimeGC和Dubs Performance Analyzer

这些是我个人时常用到的阳春方式改善游戏卡顿,
避免游戏卡到怀疑人生要开新地图,还有为甚么再跑不动2倍速、3倍速。
内文分四个部分改善卡顿,分别是:
1.参考外国人的名单,尝试排除太复杂的MOD
2.安装非官方1.1RuntimeGC
3.使用Dubs Performance Analyzer找出问题
4.开发者的排除法
这些改善带来的效果仍然法非常有限。
卡顿的最核心来源还是电脑配置较低、小人太多、动物太多、MOD冲突、MOD本身太复杂、
庞大的基地设计有着的绝对关系。
尝试排除”太复杂”的MOD
链接在此。是外国爱好者整理的”太复杂”MOD名单,
从上图的红箭头位置进入可以看到MOD名单。
像是RimHUD、Humanoid Alien Races 2.0虽然也在名单之列,
我也会继续用,暂时对其他MOD敬而远之。
如果有打算移除这些MOD,
特别是派系MOD、大型MOD,请在开新地图才再移除

非官方1.1RuntimeGC

已知的版友可以跳过这节,主要给还没知道的人作解说。
(以下节录自在STEAM上的文本简介)
-清除所有冗余的WorldPawn,减轻游戏系统的负担
-清理AvoidGrids,减小存盘大小
-清理冗余动物家系成员(比如已死亡或属于其他派系)
-清理污渍和积雪(生活区内)
-清除当前地图的尸体
-清理战斗日志条目
-修复派系关系红字(仅限非mod冲突引起的)
-修复因误删首领导致通信台无法使用的问题
-加速球,释放游戏系统内存
这MOD的存在是为了改善游戏后期卡顿,目前原作者还没放出正统的1.1,
暂时所有人用的1.1版都是从1.0修改而来。
请不要在1.1游戏版本使用STEAM上的1.0版本
请不要在1.1游戏版本使用STEAM上的1.0版本
请不要在1.1游戏版本使用STEAM上的1.0版本
我使用这非官方版本RuntimeGC接近3个月,没有出现过问题。
因为不是STEAM上加载的,需要自己手动添加。
1.非官方RuntimeGC1.1-外连在这里
2.在RimWorld名字右键,选择浏览本机文件,再点击Mods,把下载后的文件解压在Mods文件夹里面。
3.解压在Mods,确保像红线那样层级Mods/RuntimeGC。RuntimeGC文件夹打开是解压文件,而不是又一个同名字的RuntimeGC文件夹。
4.开游戏勾选启用之后,RuntimeGC排序在Core之后。
5.在游戏画面右下角会增加RuntimeGC项目,
红箭头的那两个位置都要按,按了是清理WorldPawn,
这是使用RuntimeGC的最主原因。
最底的加速球是回收内存。

Dubs Performance Analyzer
STEAM链接在此
排序请放在最底,DPA纯粹是分析工具,给玩家排查其中一部份卡顿问题,
给你知道卡死的死因,让你死得瞑目
这作者做的其他MOD包括有Dubs Mint Menus、Dubs Bad Hygiene、Dub’s Paint Shop。
下文我会以自己经历作例子,解释DPA功能。
启用DPA后,在游戏下面会有放大镜,
点击就会出现上图的东西,首页可以勾选功能优化游戏,
请别期待可以带来飞跃性的性能改善,主要也是极少许加速。
在开始排查时,像上图的两个蓝色箭头勾选所有运行分析,需要至少让它跑了3秒。
JobGiver_Work会显示当前小人思考做甚么工作所带来的延迟影响
我会根据这张图的消息一点一点做简单说明。
小人名字左边的ms是它带来的延迟影响,数值愈大,
代表是那个小人做的事情越拖慢玩家。置顶的通常是频率高。
如果那延迟是1~200ms,绝对是延迟的元凶,你更需要分析那小人的工作细节。
紫圈是我图片里面选择了”Glowing-BLS-U-EP”所显示出来的延迟频率,
下面显示MAX 33ms,
蓝色起伏波峰是”这个人”平均每2秒在计算事情(1000毫秒除60周刻是16.67t/s,2秒差不多是33t/s)。
右上红圈位置的TPS,这部份对我来说有点谜,以下可能有误。
TPS是愈低愈好,右上角括号内的60代表是我们现实世界每秒(1000ms)对边缘世界1倍速来说是分成60刻周期。
当我们游戏跑1倍速,1000ms除60周刻是16.67t/ms (1秒=1000毫秒)。
2倍速括号内是180周刻,1000除180是5.55t/ms。
3倍速括号内是360周刻,1000除360是2.77t/ms。
红圈显示截屏的楼主高达了24t/ms,高t/ms代表完成每一件事情都很慢。
从24t/ms压低到16.67才流輰跑1倍速。压低不到5.55t/ms,按2倍速都是多余的举动。
这24t/ms其实也代表是正以0.7倍速在进行游戏。
….都怪隔壁有四支派系商队在闲晃….绝对不是我电脑 不争气quq
上面所提到的”Glowing-BLS-U-EP”,实际是我的一台切割者,
它被我安装了种植模块,可以种田砍树。
因为它在冬天没工作,闲暇时会以每2秒频密地检查一次全地图找工作,
它还不算拖慢我的主要原因,可是相比其他小人还是比较高而且频密,
而小人不会2秒持续在运算。在DPA分析后找出小问题后,可以选择关闭它工作模式。


上图显示了我一个小人带来较大延迟,是她在放置玉米做的检查运算,带来了123ms高延迟。



原因是我基地内有180个食物篮、30个冰箱、大量存物架。
她在放置玉米的时候,对全地图180篮、30个冰箱和保存区计算。
她在找寻容许放置玉米的地方,计算放置优先度最高的位置。放完再拿身上的玉米再计算下一个位置。


反过来就是烹饪时候,厨师找材料也会带来延迟。
收窄极小搜索范围,只覆盖材料可以减少延迟

在冬天偶然非常卡顿,DPA显示是厨师们的工作,带来极高200ms延迟。
原因是冬天减少肉源的关系,最后只剩下一堆农作物,
这些厨师每次快速做完一次简单料理x4,
反复在全地图几百个保存点上搜索足够的肉类做精致料理,
找不到又继续做简单料理……

另一个原因也是归咎于放置食物的独立型存放点过多。


TickDef是显示小人/动物的延迟,可排查哪个MOD带来延迟
图片里的红线两端是两个FPS,左上是nvidia的FPS计数,右下是MOD的FPS计数。

我基地很多人,人类是常驻的延迟152ms,
这152ms是上面图片的JobGiver_Work总和。
有时候也因为打了pick up and haul在方便搬运大量物品同时提高了延迟,
它的延迟仍然落在小人里面。


Alerts在这页可以勾选取消指定的警报,可以复原。


DrawDynamicThings是绘图动态事物的运算。
对人、家具、动物在画面出现时,所引起延迟的分析。

上图红箭头位置是当时完成帝国的任务奖励。
因为觉得金属材料起到缓速的作用,认为应该要摆放在核心区附近。
上图绘图动态事物显示”铀”在绘图运算中占据110ms,
也反映了当时这种摆放想法是愚蠢的。
因为这些铀会无时无刻以图形的姿态在核心区附近存在,
当画面靠近这些材料的时候拖慢游戏速度。

换言之,如果从DPA分析器看出冰库的材料带来了一定的延迟,也需要把冰库搬远。


DrawDynamicThings也会显示出对于动物流的玩家的烦恼,当大量动物在固定时间睡觉,
会带来可观的Zzz绘图,令晚上感到卡顿。
所以在这边我建议用这个MOD禁止Zzzz,STEAM链接在这。

开发者模式


上图是开发者模式的Destroy。比较适合开启了一直显示FPS进行游戏的玩家排错。
因为只有自己了解自己FPS到哪程度。如果有一天FPS从25掉到个位数。
又不肯定哪个MOD的问题,可以在纪录之后,逐一摧毁怀疑导致卡顿的物品/动物/人物。
持续观察FPS跳动,继续以排除法摧毁其他MOD加的
物品/动物。推算出卡顿的原因。


在卡顿感到绝望的时候,开发者模式可以作为最后拯救基地的手段。
因为卡顿到FPS剩下个位数的时候,叫小人去排错已经极慢了。

我曾经遇过一种卡顿情况,是从DPA看不出端倪。
在其他地方看过一些骨灰级玩家/MOD开发者都会这样类形容道:
不跳红字/黄字的卡顿才是要命。

整句看起来很轻描淡写……

那一次自己作死的主因是自己作弊对待”What the hack?!”,
有用过这MOD的人都知道破解过的机械族需要”吃饭”,只吃特定零件。
这种过程被称为维护,维护不良的机械族会变回敌人。
当时我不知道维护其实是要材料…只派过小人去检查,不认为是自己的错。

我在这它们变回机械族的时候,选择开character editor将它们再变回自己阵营的机械人,
这种经作弊转换过来的机械人,会严重拖垮速度。
它们给我感觉在每秒每刻想摆脱被强迫连接设备,想去周围闲逛。

我当时没发现出是机械人的问题,直到有一天我受不了游戏8 FPS的龟速,
打开开发者工具,从动物开始删,
当删到这种机械人,一瞬间的全世界流动速度重回正轨…..

本文来自网络,不代表3楼猫立场,转载请注明出处:https://www.3loumao.org/3190.html
返回顶部