DEV Community

M-tre Max
M-tre Max

Posted on

[Architecture Design] Smart Power & Thermal Limit Governor System

This software works in parallel with the CPU and GPU, using FPS as the primary focus and temperature as a ceiling control. To maintain frame rate stability and reduce system heat buildup:

🎮 1. FPS Level + Power Limit + Flexibility

• 30 FPS → base xx% → range xx-xx% → flex ±13%

• 45 FPS → base xx% → range xx-xx% → flex ±12%

• 60 FPS → base xx% → range xx-xx% → flex ±11%

• 90 FPS → base xx% → range xx-xx% → flex ±10%

• 120 FPS → base xx% → range xx-xx% → flex ±8%

• 144 FPS → base xx% → range xx-xx% → flex ±7%

• 165 FPS → base xx% → range xx-xx% → flex ±6%

Note: CPU and GPU can use base and range values. 1. Varying based on chipset architecture for maximum stability.

⚙️ 2. Automated Adjustment Rules

• FPS below target → +x% to +x% (every x seconds) to gradually increase power and prevent the chip from experiencing a sudden power surge.

• Stable FPS → Maintain power level (freeze x seconds) to conserve energy and reduce heat.

• FPS above target → -x% to -x% to reduce excess power that the system doesn't need.

🔥 3. Thermal Control Logic

• CPU temperature > xx°C → Reduce CPU power by -x% to -x%

• GPU temperature > xx°C → Reduce GPU power by -x% to -x%

• Overall system temperature > xx°C → Reduce both CPU and GPU voltage simultaneously by -x%

• Case of separate chip overheating: If CPU is hot but GPU is idle → Reduce CPU voltage first, not GPU. | If GPU is hot but CPU is normal → Reduce GPU voltage first.

⚡ 4. Power Control (Power Management)

• Power Spike (Heavy scene loading/effect surges) → Immediately reduce power by -x%, then gradually restore power.

• Constant Power → Allow the system to gradually and steadily increase power.

🧠 5. Anti-Oscillation Buffer

• Prevent the system from adjusting power levels repeatedly within x seconds.

• After increasing power → wait before decreasing | After decreasing power → wait before increasing.

• Use the average FPS of the past x seconds to calculate and provide smooth power delivery, preventing jagged graph fluctuations.

🎯 6. Priority Order

FPS Stability (Prioritizing frame rate stability)

Temperature Control (Preventing CPU/GPU temperature from exceeding critical limits)

Dynamic Override (Immediately increase power if FPS falls below a certain threshold | Immediately reduce power via override if temperature exceeds a critical level))

Top comments (0)