暂停菜单延迟修复

暂停菜单延迟修复

修复了打开/关闭菜单时VRAM使用率飙升至100%导致游戏永久卡顿的bug

描述

此模组修复了关闭游戏菜单后可能导致 FPS 骤降的菜单卡顿问题。

安装说明

  1. 使用您喜欢的模组管理器进行安装
  2. 尽情享受“菜单卡顿修复”带来的流畅体验

问题所在

《星空》通过一个名为 ScreenSizeBasedLOD 的状态机来决定纹理和网格的细节级别。在每个循环中,它会测量每个材质在屏幕上所占的面积,并对照可用显存进行检查,然后提升或降低 mip 级别,以适应可用的内存。

当您打开某些游戏菜单且显存突然被释放时,这个状态机并不会停止工作。CheckBudget 会将显存压力分为四个等级。在最低压力等级下,它会设置一个内部的“刷新一切”标志,强制所有材质使用最高分辨率的 mip 0。当您关闭菜单,显存压力骤然回升时,这些排队等待上传的全分辨率纹理可能会耗尽可用内存,导致驱动程序开始频繁交换数据,从而引发性能骤降。

解决方案

此模组通过将这些函数重定向到引擎自身的内部重置机制,强制控制器在菜单打开时,不执行任何会增加细节级别的状态操作,从而确保引擎在菜单打开时不会分配任何用于提升级别的 LOD。

鸣谢

Deity Vengy - 协助测试并发出悬赏 0xBobby & Star Wars Genesis - 参与测试

ko-fi Discord 源代码