Anti Yo-Yo 系统
动态缩放系统最令人恼火的问题之一是溜溜球效应 (Yo-Yo Effect)(或质量乒乓)。
核心问题
如果没有智能控制,系统将进入无限循环:
- 由于场景繁重,FPS 下降。
- 插件降低图形质量(例如,降低分辨率)。
- 负载下降,FPS 升至基线以上。
- 插件推断有可用的性能余量 (Performance Headroom),并将图形质量恢复到最大。
- FPS 再次下降。循环重复。
因此,玩家会经历持续的质量闪烁 (Quality flickering):阴影不断闪烁,图像每秒从模糊“跳”到清晰。
WebAP 解决方案:惩罚锁定
我们通过实施惩罚锁定 (Penalty Lockout) 的概念彻底根除了这个问题。它基于插件设置中的两个参数。
当插件提高图形质量时,它会触发一个隐藏的计时器——Detection Window(例如,15 秒)。在此时间范围内,索引器 (Indexer) 会密切监视帧稳定性。
如果 FPS 在此窗口期间突然下降,系统会得出一个明确的结论:«之前的图形升级是一个错误;设备无法长距离维持此级别。»
执行惩罚:
- 插件立即将质量降回。
- 应用严格的 Penalty Lockout Duration(例如,60 秒)。
- 在这一分钟内,严禁插件尝试再次提高图形质量,即使 FPS 飙升且处理器处于空闲状态。
扩展锁定 (Session Lock)
如果您的游戏动态具有以波浪形式发生的负载峰值,并且您希望在第一次下降后质量永远不要尝试恢复,只需在 Penalty Lockout Duration 字段中指定一个大数值(例如,600 代表 10 分钟或 3600 代表一小时)。这实际上将图形锁定在一致的低水平,直到游戏会话结束。
流畅度优先级
惩罚专门阻止改善渲染的尝试。如果玩家进入甚至更重的场景并且 FPS 降至临界阈值以下,插件仍可紧急进一步降低质量。系统始终将游戏流畅度置于视觉效果之上。
