-
Notifications
You must be signed in to change notification settings - Fork 1
slack_ms
killown edited this page Mar 16, 2026
·
1 revision
slack_ms measures the optimization window between the moment the GPU finishes rendering a frame and the hard deadline of the next hardware VSync pulse.
- High Slack: Indicates the GPU is highly efficient. It is completing the work early, leaving plenty of time for the system to handle other tasks.
- Low Slack: Indicates the engine is achieving maximum performance density. The GPU is utilizing nearly the entire refresh interval to deliver the highest possible quality.
- The "16ms" Shift: On high-refresh displays, a jump in Slack simply means the system has transitioned to a multi-buffered strategy, providing a larger safety cushion for perfectly consistent delivery.
To understand Slack, you have to look at the three distinct phases of a frame's life:
- CPU Submission: The time spent recording commands and preparing the scene.
- GPU Execution: The time the silicon spends processing the render pass.
- The Slack (The Gap): The "ready state" where the frame is finished and waiting to be scanned out by the monitor.
Slack is a predictive metric. While other values tell you what just happened, Slack tells you how much more complexity your system can handle.
| Metric | Tells you... | Performance Analogy |
|---|---|---|
| FPS | Success frequency. | How many laps completed per hour. |
| Frame Time | Processing speed. | The current velocity of the vehicle. |
| Slack | Operational Margin. | The distance remaining until the next scheduled stop. |
The meaning of a "1ms Slack" versus a "16ms Slack" depends entirely on your sync strategy:
In Mailbox, the goal is lowest possible latency.
- The 1ms Result: Seeing 1ms Slack here is excellent. It means the GPU is finishing its work just in time for the very next refresh cycle. The image on screen is "fresh" because it was finished only 1ms before you saw it.
- The Trade-off: While 1ms is great for latency, it means you have very little room to add more cubes before that specific frame would miss the immediate next VSync.
In FIFO, the goal is perfect smoothness and stability.
- The 16ms Result: Seeing 16ms Slack at 120Hz means the GPU is finishing its work extremely fast, but the system is holding the frame in a "holding pattern" for an extra cycle.
- The Benefit: This creates a massive "breathing room" (cushion). If the OS has a tiny hiccup, the display won't stutter because it has a finished frame already waiting in the wings.
- Stable Slack: This is the hallmark of a high-quality compositor. Whether the value is 1ms or 16ms, if it is steady, the motion will look perfectly fluid to the eye.
- Increasing Slack: If you add more cubes and Slack increases (e.g., from 1ms to 9ms), it’s a positive sign that the compositor has successfully shifted its timing to maintain a smooth experience.
- High Slack + Low FPS: This indicates the GPU is finishing very quickly and is simply waiting for the CPU to give it more work, a clear sign that your GPU has even more power to give!