π Quick Energy Impact Reference
Category Avg Power Draw Recommended BG Behavior
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
AI Inference πππππ Throttle rate; pause when idle
3D Physics/Rigidbodies πππππ Disable off-tab; hard stop
Multiplayer Netcode πππ Keep alive; reduce tick/packet rate
Video Decode/Encode ππππ Pause while hidden
Clipboard/OS Sync π Event-driven only
Background Audio π Safe to run continuously
Timers/State Stores π Negligible
Key Concepts for concurrency/execution options: β’ call_deferred: Schedules a method to run at the end of the current frame/physics step. Good for safe scene tree manipulation, avoiding "node doesn't exist yet" errors. β’ await: Godot 4's async/await pattern. Replaces yield. Used for non-blocking waits (signals, timers, functions returning Future). Keeps main thread responsive. β’ Signals: Native Godot event system. Decouples systems, enables reactive UI/engine updates without polling. Essential for multi-tab state management. β’ Threading (Thread/Callable.bind()/@thread_sync): For heavy CPU tasks (AI inference, network I/O) that shouldn't block the main thread. β’ Process Modes (PROCESS_MODE_ALWAYS, INHERIT, PAUSE): Controls when nodes update across different UI states (modals, hidden tabs). β’ State Machines / Context Managers: Managing tab switches, engine lifecycles, and background vs active states without race conditions.