实际性能开销评估
从日志看,on-demand identify 循环有 两级节流 :
层面 观察 性能影响 触发频率 每 5 秒 一次, 不是每帧 几乎为零 失败早停 prescreen 一失败就 return,不会走到更重的资源扫描 极轻量(几个 D3D11 查询) Present hook 兜底 主 FSR 路径在 Present hook 里,on-demand 只是辅助识别 对超分零影响
和 FSR3 每帧 dispatch 的 380μs 开销比,这个 5 秒一次的轻量查询 完全在噪音级别 。
DLL 里有没有关闭开关?
我扫描了 DLL 里所有 Unicode 字符串能解析出的配置键, 没有发现DisableOnDemandIdentify 或类似命名的开关 。DLL 里能找到的最接近的键:
配置键 含义 能否用来关 identify? Fsr2Il2CppSkipRender 跳过 IL2CPP 渲染 hook 中的某些处理
高风险 —— IL2CPP hook 还负责读相机参数、render 分辨率,关掉会让 FSR3 拿不到正确输入 Fsr2FamilySkip 跳过游戏原生 FSR 族预处理
与 identify 无关 EnableFsr2GetProcAddressShim GetProcAddress hook
无关 Fsr2Mode2OnDemandState 某个"Mode 2"的 on-demand 状态标志 用途不明,贸然改有风险
推荐:真正有收益的优化
配置文件里 这两个才是能节省可见开销 的开关:
优化 1:关掉日志(最大收益)
ini
1
2
; 改 LogLevel=0 或 EnableLogging=0 LogLevel=0
当前LogLevel=1 每 5 秒会把 identify fail 写进日志,虽然不算重,但在高性能游戏循环里, 关掉日志 I/O 是最干净的优化 。
优化 2:关闭 OSD 悬浮提示
ini
1
ShowOSD=0
当前ShowOSD=1 ,OSD 覆盖层需要在每帧后绘制 overlay 文字。