Skip to content

v2.3.8-beta — Three more GPU-budget wins

Pre-release
Pre-release

Choose a tag to compare

@Delido Delido released this 17 Jun 09:14
· 8 commits to main since this release

Three more GPU-budget wins on top of v2.3.7-beta's Repulsion fix.

Fixed — Stripes/Pills layouts held N in-flight CSS transitions

Same regression class as the Repulsion fix (and the v1.0-era grid-zone transition before it). The Vertical Stripes / Horizontal Stripes / Centered Pills bar layouts each carried a transition: background 0.08s linear on their .zone elements. JS rewrites the --c CSS var per zone every render tick (~30 Hz), restarting the 80 ms transition every 33 ms — N background transitions juggling continuously. Typical 16-30 zone stripes layout = 16-30 in-flight CSS animations for no visible benefit, since JS updates were already smooth. Dropped the transition; visuals unchanged.

Fixed — Audio-spectrum widget ran at 1 fps

Generic 1 Hz widget setInterval was redrawing the FFT bars — once per second — even though lastAudio was refreshed at the host's ~30 Hz FFT cadence. Added a reg.fastTick opt-in plus a counter-gated rAF loop (self-stops at 0 fast widgets, pause-guarded, resume-rearmed) that walks fast widgets at RENDER_INTERVAL_MS. The 1 Hz path skips fast widgets so there's no double redraw.

Changed — Pixelfx + audioglow now use SCALE × DPR (like ambient)

The ambient particle canvas already routed through _qualityScale() (0.5/0.75/1.0 per bucket) on top of _qualityDpr(). Pixelfx (cursor trail / glow / ripple / water) and audioglow (radial pulse / wide spectrum / wave) only had the DPR multiplier — full viewport in Performance bucket.

Both canvases now apply the SCALE multiplier too: a 5120×1440 surface drops from 7.4 Mpx to 1.85 Mpx in Performance bucket (4×) and 4.2 Mpx in Balanced (~1.75×). Content is soft (alpha gradients, blurred sprites) so bilinear upscale is visually indistinguishable. Quality bucket stays at native 1:1 × DPR 2.

Upgrade

Wallpaper bundle re-import required. Tray → Re-import wallpaper bundles.

Beta — no winget submission, GitHub Releases only.