缺氧吧 关注:175,095贴子:2,360,462
  • 2回复贴,共1

分享下解决卡顿的经验. 突然卡顿现象

取消只看楼主收藏回复

我说的卡顿, 是指突然降到个位数. 每十几秒掉一次,很烦. 例如平均帧数20,什么也不做突然掉帧到1
关键词: 突然掉帧, 周期掉帧

1, 动物不是突然掉帧的原因, (我200只动物, 删除动物不影响)
2, 突然掉帧时CPU是下降的


初步判断显卡性能不影响突然掉帧. CPU主频是影响的. 主频越高影响越小.(没有考证过,只是经验)
3. 停掉全图循环水管,不影响突然掉帧. (但是影响平均帧数)
结论: 游戏在关键节点集中计算了事件.并且事件排队.也有可能是集中GC处理.
原因知道了,那么怎么绕开呢?
1, 开沙盒给地图 加阴影,然后重新加载, 强行让事件分离,(包括热交换,液体流动这类,都会分开计算)
2, 开低倍速几分钟,让排队事件自动分开 (这个看脸)
3, 同 脉冲可以卡bug一样, 事件可以强行堆积,再打乱.
家具中"基座" 就是一个卡bug的好办法. 点开"基座" 选择菜单,不停开关,这时游戏一直卡来卡去.
然后就是等了.
3, 电脑电源设置高性能模式(影响小,其实没大用)
我使用的是卡电源视图的帧数. 我自己的电脑帧数平均18帧, 由于电器特别多,还用了"保险丝"bug
只要一打开电源视图帧数降到8. 然后就是等2分钟

突然卡顿现象就消失了


IP属地:上海1楼2023-11-21 22:00回复
    经过测试, 突然卡顿确实是GC引起的.
    当缺氧超过4G内存时会频繁调用GC导致突然卡顿.
    在外网论坛上找到同类型的问题.(还是吃了外语不好的亏)
    缺氧使用unity引擎,有通病
    在以下配置文件中加入:GC参数
    C:\Steam\steamapps\common\OxygenNotIncluded\OxygenNotIncluded_Data\boot.config
    job-worker-count=5
    gc-max-time-slice=3
    可以缓解问题.
    结果长这样:
    gfx-enable-gfx-jobs=1
    gfx-enable-native-gfx-jobs=1
    wait-for-native-debugger=0
    hdr-display-enabled=0
    single-instance=
    gc-max-time-slice=3
    job-worker-count=5


    IP属地:上海9楼2023-11-22 15:47
    收起回复
      2026-04-20 12:46:35
      广告
      不感兴趣
      开通SVIP免广告
      在后期 缺氧
      申请内存会突然彪升1G. 提交内存(系统预分配) 会突然升高2G.
      这时缺氧疯狂回收垃圾. 然后卡顿.

      用代码禁用GC以后:1分钟

      2分钟:

      虽然禁用GC不卡了,但是 内存受不了.这100G内存都能吃掉...


      IP属地:上海10楼2023-11-23 21:10
      收起回复