Skip to content

v1.4.0 — Renderer idles when nothing changes (overheating fix)

Choose a tag to compare

@Nano112 Nano112 released this 09 Jun 12:22
· 10 commits to master since this release

Fixes high CPU/GPU usage and laptop overheating while a renderer is running. A performance trace showed the render loop pinned at the display's full refresh rate on a completely static scene. The loop now idles when nothing is changing.

Changes

  • Event-driven animated textures. Water/lava/fire/etc. no longer force continuous full-rate rendering. The scene now redraws only on the tick an animation frame actually advances (~10fps), and idles to 0fps on a static view. Added a new enableAnimatedTextures option.
  • Idle render loop slow-polls. When there is nothing to draw, the loop backs off from requestAnimationFrame (display refresh) to a slow setTimeout poll at idleFPS, letting the GPU and the browser's frame pipeline go quiet. Any interaction (invalidate(), controls, pointer, resize, load) wakes it instantly.

Migration

  • Animated textures are now off by default. Pass enableAnimatedTextures: true to re-enable them — they are cheap now that animation is event-driven.