Skip to content

perf(quiescence): ambient decorative animations never pause — adopt an idle-quiescence rule #117

Description

@jdmanring

Principle

A quiescent Odysseus should generate ~zero frames. Today several ambient decorative animations run perpetually to look 'alive', each keeping the compositor awake and preventing idle quiescence. Cheap on a healthy GPU, but: (a) real battery/power cost on laptops/tablets, (b) catastrophic when rendering falls back to software (see the llvmpipe incident — a handful of these summed into a 12-core freeze), (c) against our 'never waste CPU/GPU frivolously' rule.

Known instances (the class, not just one bug)

The rule to adopt

Ambient/decorative animations must pause when not needed: window blurred / page hidden (visibilitychange), panel unfocused or off-screen, or prefers-reduced-motion. Prefer compositor-only properties; never animate paint-inducing properties over large areas perpetually. New animations should default to quiescent-when-idle.

Tracking

This issue owns the class. Instance fixes: #115 (orbit), notes quick-add (in progress). Pairs with #116 (graceful degradation = the safety net; this = the prevention).

Metadata

Metadata

Assignees

No one assigned

    Labels

    upstream-candidateBug or feature suitable for contributing to upstream

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions