Blinue / Magpie

An all-purpose window upscaler for Windows 10/11.
GNU General Public License v3.0
9.69k stars 496 forks source link

在叠加层中显示效果处理时间 #821

Closed Blinue closed 8 months ago

Blinue commented 10 months ago

image

和 dev 分支的不同之处:

  1. 查询渲染用时的逻辑移到独立的 EffectsProfiler 类。
  2. 只有后端渲染了新帧叠加层才会更新。即如果画面静止而鼠标移动这些时间不会更新。
  3. 更新间隔不少于 500ms,显示一段时间内的平均值。
  4. 如果使用了 USE_DYNAMIC 的效果情况会比较复杂。USE_DYNAMIC 意味着每次的渲染结果都会变化,处理静止帧时其之前的效果可以跳过,只渲染该效果和其之后的效果。被跳过的效果渲染时间将为 0,这种值不应参与计算平均值。由于这个原因,叠加层中的时间并非实时的,如果一个效果一直被跳过,它的渲染时间不会变为 0,而是保持着上一次渲染的用时。