A three-second timer became a scheduling problem
My pet simulation updates hunger, energy, decisions, animation, and rendering on a regular tick. Each operation is cheap. The problem appeared when every pet performed all of them at the same instant. Average work looked acceptable, but the distribution of work over time was not.
Lframe = Σ Cpet(t) + Crender(t)
The important variable was not total cost, but temporal concentration.Staggering independent updates made the game feel smoother without reducing the amount of simulated behavior. This was less like ordinary optimization and more like a small operating-systems problem.