FPS and Janks
Frames Per Second (FPS) is a measure of how smoothly a visual application, such as a game or UI, renders images. A higher FPS generally indicates smoother motion, with 60 FPS being a common target for responsive and fluid experiences.
Janks occur when there is a noticeable disruption in the smoothness of rendering. These disruptions can result from missed frames, causing the animation to stutter or lag. Janks are typically caused by performance bottlenecks, such as high CPU or GPU load, memory constraints, or inefficient rendering pipelines.
Achieving a balance between high FPS and minimizing janks is crucial for delivering a seamless user experience, especially in applications where visual fluidity is critical.
FPS
In Studio Pro Desktop, the FPS chart visualizes performance by displaying the number of frames rendered for each second. This provides an overview of how consistently frames are being produced over time.
Additionally, the Min FPS and Max FPS values give deeper insights into performance variations. These metrics are derived as:
-
Min FPS is calculated as “1 divided by the longest frame time,” representing the slowest rendered frame in that second.
-
Max FPS is calculated as “1 divided by the shortest frame time,” representing the fastest rendered frame in that same second.
These metrics help identify the range of frame times and highlight any performance bottlenecks, such as janks, where rendering slows down noticeably.
Low 1% Metric
The Low 1% metric provides a focused view of performance consistency by highlighting the slowest-performing frames. It represents the average FPS of the worst 1% of frame times since the beginning of the session.
This metric is particularly useful for identifying outliers—those rare, exceptionally slow frames that might not significantly affect the overall FPS average but can cause noticeable stutters or janks for users. By isolating these frames, the Low 1% offers a deeper understanding of how often and severely performance dips occur, helping to target optimization efforts where they matter most.
In essence, while the FPS average reflects overall smoothness, the Low 1% ensures that even the worst-case performance is accounted for.
Janks
Small Janks
Small janks are minor disruptions in frame rendering that can make an animation appear slightly less smooth, even if the average frame rate remains high (e.g., 60 FPS). These occur when frame latency exceeds the duration of a single refresh period (e.g., 16ms for 60Hz displays).
Each time the latency crosses one or more refresh period boundaries, it results in a jank. While small janks may not be immediately noticeable, frequent occurrences can affect the overall smoothness of an animation. Monitoring these helps identify areas for optimization to improve the user experience.
More information about janks.
Janks and Big Janks
Janks and Big Janks represent significant disruptions in frame rendering, where frame latency becomes large enough to noticeably impact visual smoothness. These metrics help identify and quantify severe rendering delays.
Jank Criteria
A jank occurs when:
- The time taken to render a frame (FrameTime) is longer than twice the average frame time of the previous three frames, accounting for the visual inertia of prior frames.
- The FrameTime exceeds the duration of two frames at a standard frame rate of 24 FPS (approximately 83 milliseconds).
This ensures that only significant delays are classified as janks, focusing on disruptions that are perceivable to the human eye.
Big Jank Criteria
A big jank occurs when:
- The FrameTime is longer than twice the average frame time of the previous three frames.
- The FrameTime exceeds the duration of three frames at a standard frame rate of 24 FPS (approximately 125 milliseconds).
Big janks indicate the most severe rendering delays, where the application visibly lags, causing noticeable pauses in animations or transitions.