Commit 3a69a1a
yokotoka
Fix burn-in effect triggering redundant GPU shader passes
Move scheduleUpdate() inside the time-change conditional in
BurnInEffect.completelyUpdate(). Previously, the recursive
ShaderEffectSource was scheduled for update on every imagePainted
signal — including cursor blinks every 500ms — regardless of whether
timeManager.time had actually changed.
With the default effectsFrameSkip=3, time only updates every 3rd
frame, but the expensive recursive GPU shader pass was running every
frame. This change skips the shader pass when time hasn't changed,
reducing GPU work by ~67% at default settings.
The burn-in visual effect is preserved because updates still occur
whenever timeManager.time advances, which is the only time the
burn-in fade calculation produces different output.
Addresses #816 (graphics update rate slowly drops over time)
Addresses #483 (keystroke to output delay)1 parent 86ee7da commit 3a69a1a
1 file changed
Lines changed: 1 addition & 2 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
44 | 44 | | |
45 | 45 | | |
46 | 46 | | |
| 47 | + | |
47 | 48 | | |
48 | | - | |
49 | | - | |
50 | 49 | | |
51 | 50 | | |
52 | 51 | | |
| |||
0 commit comments