
Both MangoHud and Gamescope can cap framerates on Linux, but they operate at completely different layers of the graphics stack. This architectural difference leads to noticeable trade-offs between input latency, frame pacing, and system resource usage.
1. Architectural Differences
-
MangoHud (Application Layer / Layer Hook):
MangoHud runs as an implicit Vulkan layer and OpenGL hook directly inside the game's process. It intercepts graphic API present calls (like
vkQueuePresentKHRorglXSwapBuffers) before they leave the application. -
Gamescope (Compositor Level):
Gamescope is a nested Wayland micro-compositor developed by Valve. The game runs inside an isolated display server created by Gamescope, which receives the game's rendered frames, composites them, and manages when they are committed to your monitor.
2. Frame Pacing vs. Input Latency
The choice between the two usually comes down to whether you prioritize responsiveness or frame-time consistency:
MangoHud: Lower Latency, Good Pacing
-
Mechanism: Throttles the CPU thread executing the game's render loop using high-precision timers (
nanosleep) right at the API call. You can select between methods (fps_limit_method=latefor lower input lag orearlyfor smoother pacing). -
Latency: Lower. Because it prevents the game engine from queuing up extra frames in advance, input lag remains low.
-
Pacing: Good, but engine-dependent. If a game engine produces erratic internal tick rates or heavy CPU spikes, MangoHud passes those frame-time variances through, leading to occasional micro-stutter.
Gamescope: Ruler-Flat Pacing, Higher Latency
-
Mechanism: Acts as an intermediary display engine. Gamescope decouples the game's rendering rate from display presentation, holding rendered frames in a compositor queue and releasing them at exact display intervals.
-
Latency: Slightly Higher. Capping framerates via Gamescope introduces additional queue delay (often 1–3 frames of input lag) compared to layer or in-game limiters.
-
Pacing: Superior. Gamescope produces virtually flawless, flat frame-time graphs. This makes low-framerate caps (like 30 FPS or 40 FPS on the Steam Deck) feel noticeably smoother and stutter-free compared to almost any other method.
3. Side-by-Side Comparison
| Feature | MangoHud Frame Limiter | Gamescope Compositor Limiter |
| Operating Level | API Layer / Application Hook | Nested Wayland Compositor |
| Input Latency | Low | Moderate / Higher |
| Frame Pacing | Good (susceptible to game spikes) | Excellent (ruler-flat intervals) |
| System Overhead | Negligible | Moderate (requires compositing pass) |
| Hot-key / Profile Switching | Yes (toggle caps via shortcuts on the fly) | System-level slider / launch options |
| Additional Features | Performance metrics overlay, temp logging | Up-scaling (FSR/NIS), HDR, display refresh control |
When to Use Which
-
Use MangoHud if: You are playing competitive or fast-paced action games where low input latency is vital, or if you want a lightweight solution without launching a full compositor overhead.
-
Use Gamescope if: You are playing single-player or story-driven titles at low target framerates (e.g., capping a demanding AAA game at 30 or 40 FPS on a handheld) where smooth frame delivery matters much more than twitch latency.
0 commenti:
Post a Comment