FPS Checker & Frame Rate Benchmark

Consistent WebGL graphics benchmark workload. Measures Display V-Sync delivery cadence, CPU submission duration, estimated GPU execution time for the benchmark workload when supported, and effective throughput headroom.

WebGL Baseline Presets (10s Benchmark)

Duration:
Target:
READY TO TEST QUICK TEST (10s) GPU: ACTIVE WEBGL 2.0 ACTIVE
-- FPS
Display Interval: -- ms
CPU Submission: -- ms
GPU Hardware Time: -- ms
GPU Rendering: ACTIVE
Avg / 1% Low: -- / --
Elapsed: 0.0s

Ready to Benchmark

Measures display V-Sync delivery cadence, CPU submission duration, estimated GPU execution time for the benchmark workload when supported, and effective throughput headroom.

Live Statistics

~60 Hz
Display FPS —
Average FPS —
GPU Hardware Time — GPU Active
Effective Headroom — Multi-Bottleneck
1% Low / 0.1% Low: — / —
CPU Submission: — ms
Frame Interval: — ms
Worst Spike: — ms
Pacing Stability: —
A+

Overall Performance Score

EXCELLENT

Smooth and consistent frame delivery with negligible variance.

Multi-Factor Performance Diagnosis Standard Confidence

Complete a benchmark session to generate your system's hardware rendering analysis, bottleneck detection, and pacing consistency diagnosis.

FPS Over Time Curve

Target Line: 60 FPS

Frame Interval & Stutter Spikes (ms)

Baseline: 16.67 ms (60Hz)

Understanding Frame Rates & Stutter

Display FPS vs CPU Submission vs Hardware GPU Time

  • Display FPS (rAF Cadence). The delivery rate of frames presented to your monitor, capped by your display V-Sync (e.g. 60Hz or 144Hz).
  • CPU Submission Time (ms). The duration taken by JavaScript to calculate entities and dispatch WebGL draw calls to the browser rendering pipeline.
  • Hardware GPU Render Time (ms). Real GPU execution duration measured via asynchronous hardware timer queries (EXT_disjoint_timer_query). When blocked by browser security flags, WebGL GPU rendering is still ACTIVE while timing is unmeasured.
  • Effective Headroom FPS. Multi-bottleneck throughput capacity calculated as 1000 / max(CPU, GPU) (or CPU-derived ceiling when GPU timing is unavailable).
  • 1% Low FPS. Average framerate of the slowest 1% of frames, quantifying perceived micro-stutter and hitching.

Precision & Client-Side Processing

  • High Precision Timing. Powered by disjoint GPU query ring buffers, requestAnimationFrame, and performance.now().
  • Client-Side Processing. Benchmark measurements are processed locally in your browser. No benchmark results are sent to a remote telemetry server.
  • Standardized WebGL Baseline. Workloads run on uniform shader pipelines with deterministic pseudorandom seeding.
  • True GPU Scaling. Workloads scale via geometric complexity, fragment procedural noise, and multi-pass overdraw.
High Precision Client-Side Live Curves Dark Mode

Understanding Frames Per Second (FPS)

What Is FPS (Frames Per Second)?

Frames Per Second (FPS) measures the frequency at which consecutive visual frames are rendered and presented by a graphics rendering pipeline. In digital graphics, animations and 3D scenes are composed of individual static still images displayed in rapid sequence to create the illusion of smooth continuous motion.

While FPS is the most popular metric in gaming and graphics benchmarking, raw FPS alone does not tell the full story of visual smoothness. A system rendering at a constant 60 FPS can appear perfectly fluid, whereas another system reporting an average of 100 FPS may feel jittery if individual frames are delivered at erratic intervals. Understanding frame times, pacing consistency, and low percentiles is essential for evaluating true performance.

Key Distinctions in Frame Delivery:
  • Render Rate: How fast the GPU and engine execute draw commands.
  • Display Cadence: How frequently the browser presents frames to the monitor via requestAnimationFrame.
  • Monitor Refresh Rate (Hz): The hardware frequency at which your physical display panel refreshes its pixel grid. Check your display with the Refresh Rate Checker.

How to Test FPS Online

Follow this structured testing sequence using the benchmark suite above to evaluate your browser and graphics pipeline:

  1. Select a Preset: Choose from Quick Test (10s), Gaming (144Hz), GPU Heavy, Extreme Load, or configure Custom settings.
  2. Choose Target & Duration: Set your benchmark duration (5s to 60s or unlimited) and target frame rate (30 to 240 FPS).
  3. Start & Maintain Focus: Click Start Benchmark. Keep the window focused and avoid background multitasking during the run.
  4. Inspect Live HUD: Use the on-screen HUD or Fullscreen overlay to observe Display FPS, CPU Submission Time, and Hardware GPU Time.
  5. Analyze Percentiles: Review the 1% Low, 0.1% Low, and Pacing Stability in the post-test dashboard to spot micro-stutters.
  6. Compare Repeat Sessions: Save sessions to your benchmark history to verify repeatability under identical configurations.

What Is a Good FPS? Practical Framerate Tiers

Framerate requirements depend on display capabilities, game genre, and visual expectations. The following practical tiers illustrate common performance targets:

30 FPS Playable
33.33 ms frame time

Acceptable for cinematic single-player titles and turn-based games on entry-level hardware.

60 FPS Standard
16.67 ms frame time

Common reference point for smooth desktop and gaming motion on standard 60Hz displays.

120 FPS High Fluidity
8.33 ms frame time

Halves frame latency compared to 60 FPS. Common on high-end mobile screens and modern consoles.

144–165 FPS Competitive
6.94–6.06 ms frame time

Common target for systems paired with high-refresh gaming displays and competitive titles.

240+ FPS Ultra High Refresh
≤ 4.17 ms frame time

Extremely low visual delay commonly used with very high-refresh gaming displays. Displays diminishing visual returns.

Frame Time, Frame Pacing & Stutter

What Is Frame Time? (FPS to Milliseconds)

Frame time is the duration in milliseconds (ms) taken to compute, render, and display a single frame. While FPS calculates the total number of frames rendered over a full second, frame time measures the latency of every individual frame.

Frame Time (ms) = 1000 / FPS
Framerate (FPS) Frame Time (ms) Time Budget per Frame
15 FPS66.67 msHeavy stutter
30 FPS33.33 msConsole baseline
60 FPS16.67 msStandard 60Hz target
90 FPS11.11 msVR baseline
120 FPS8.33 msHigh refresh
144 FPS6.94 msEsports standard
165 FPS6.06 msFast gaming panel
240 FPS4.17 msUltra-fast tournament

What Is Frame Pacing & Micro-Stuttering?

Frame pacing refers to the consistency with which frames are rendered and dispatched to the display. Perfect frame pacing means every frame takes identical time (e.g., exactly 16.67 ms for 60 FPS).

Micro-stuttering occurs when frame times fluctuate rapidly between consecutive frames (such as alternating between 8 ms and 32 ms). Although the calculated Average FPS may appear high, the human eye perceives erratic frame delivery as stutter, tearing, or rubber-banding.

How to Read Frame-Time Graphs:
  • Flat Horizontal Line: Ideal frame pacing. Every frame is delivered at uniform intervals.
  • Isolated Vertical Spikes: Single-frame stalls caused by asset streaming, GC pauses, or background CPU tasks.
  • Sawtooth / Jitter Patterns: Pipeline contention, queue desynchronization, or uneven timer cadence.

Average FPS vs 1% Low FPS vs 0.1% Low FPS

Modern performance benchmarking relies on low percentile metrics to expose stuttering that raw averages mask:

Average FPS (Throughput)

Sum of all frames divided by total elapsed seconds. Represents general throughput capacity but completely conceals transient frame drops and hitching.

1% Low FPS (Smoothness)

The average framerate of the slowest 1% of frames during the benchmark. This is the primary metric for measuring sustained gaming smoothness and micro-stutter.

0.1% Low FPS (Severe Hitches)

The average framerate of the lowest-performing 0.1% portion of the measured frame sample. Identifies severe stalls caused by shader compilation or asset loading hitches.

Benchmark Metric Calculation Focus Primary Diagnostic Purpose What a Poor Value Indicates
Average FPS Total Frames / Total Time Overall rendering capacity System underpowered for workload
1% Low FPS Slowest 1% frame interval mean Perceived motion smoothness Frequent micro-stutter and frame pacing jitter
0.1% Low FPS Lowest-performing 0.1% frame interval mean Severe hitch & spike detection Heavy pauses, background CPU spikes, thermal drops
Frame Time (ms) 1000 / Current FPS Real-time latency per frame High input lag and slow screen refresh

CPU vs GPU Hardware Bottlenecks

CPU Submission Time & CPU Bottlenecks

In any graphics pipeline, the CPU must prepare scene state, calculate entity transforms, handle physics or script logic, and dispatch draw calls to the graphics API before the GPU can execute them.

CPU Submission Time in this benchmark records the time spent executing JavaScript loop logic and issuing WebGL draw calls. A CPU bottleneck occurs when the CPU takes longer to submit work than the GPU takes to render it, capping framerate regardless of GPU power.

Signs of a CPU Bottleneck:

High CPU submission times, lower GPU render times, low Effective Headroom that does not increase when lowering resolution, and worse 1% low scores during high object counts.

Hardware GPU Render Time & GPU Bottlenecks

Hardware GPU Render Time estimates GPU execution time for this benchmark’s WebGL workload when hardware timer queries are supported (EXT_disjoint_timer_query).

A GPU bottleneck occurs when the graphics processor is fully saturated by rasterization, fragment shader computations, procedural noise passes, or high display pixel density (DPR scaling).

Signs of a GPU Bottleneck:

High GPU hardware render times, low CPU submission latency, and immediate framerate improvements when reducing internal resolution scale (DPR) or fragment shader load.

CPU-Bound vs GPU-Bound Comparison

Characteristic CPU-Limited Scenario GPU-Limited Scenario
Primary Bottleneck Metric Elevated CPU Submission Time (ms) Elevated Hardware GPU Render Time (ms)
Resolution Scaling Impact Minimal or no change in FPS when lowering DPR Significant FPS gains when reducing DPR from 2.0x to 1.0x
Workload Sensitivity High object counts, draw call volume, complex physics Heavy fragment shaders, overdraw, high pixel density
Effective Headroom Formula 1000 / CPU_Submission_Time 1000 / max(CPU_Time, GPU_Time)
Primary Remediation Reduce background CPU load, lower object complexity Lower resolution scale, disable heavy shader passes

FPS vs Monitor Refresh Rate (Hz)

The Difference Between FPS and Hz

FPS (Frames Per Second) is the number of frames your GPU and software engine produce every second. Refresh Rate (Hz) is the hardware frequency at which your display monitor refreshes its physical screen.

Even if your graphics card renders 200 FPS, a standard 60Hz monitor can only physically display 60 unique images per second. Conversely, a 144Hz monitor running a 60 FPS application will duplicate frames to match its 144Hz scan rate. Test your display's refresh capability with our Refresh Rate Checker.

Common Scenarios:
60 FPS on 144Hz: Motion is limited to 60 FPS fluidity. VRR or frame doubling prevents judder.
144 FPS on 60Hz: Display shows 60 FPS; potential screen tearing without V-Sync, but with reduced input lag.
144 FPS on 144Hz: Synchronized 1:1 delivery delivering full 144Hz visual smoothness.

V-Sync, Screen Tearing & Variable Refresh Rate (VRR)

When GPU frame delivery and monitor refresh cycles are not aligned, visual artifacts and pacing issues can arise:

  • Screen Tearing: Occurs when the GPU sends a new frame while the monitor is halfway through scanning the previous frame, causing a horizontal split artifact.
  • V-Sync (Vertical Synchronization): Forces the GPU to wait for the monitor's vertical refresh cycle before presenting a new frame. Eliminates tearing but can introduce input latency and judder if framerate drops below the refresh rate.
  • Variable Refresh Rate (G-Sync / FreeSync): Can synchronize display refresh with varying frame delivery and may reduce visible judder or tearing within the supported VRR range.

Troubleshooting Low FPS & Stutter

Why Is My FPS Stuck at 60 or Dropping?

If your benchmark or game is locked at exactly 60 FPS or experiencing sudden frame drops, check the following common causes:

  • Display Set to 60Hz: Verify your OS monitor settings are configured to high refresh (120Hz/144Hz).
  • Browser Hardware Acceleration Disabled: If disabled in browser settings, rendering falls back to CPU software emulation (SwiftShader/llvmpipe).
  • Rendering Synchronization / rAF: Browsers synchronize requestAnimationFrame with the display presentation cadence, which may align with your display refresh rate.
  • Power-Saving Profiles: Laptops on battery often throttle GPU clocks and cap display presentation to 30–60 FPS.
  • Background Tab Throttling: Browsers throttle JavaScript execution in inactive background tabs. Keep the benchmark focused.

How to Improve FPS & 1% Low Smoothness

Optimize your system and graphics performance with these practical configuration steps:

  1. Enable GPU Hardware Acceleration: Check browser settings under System > Hardware Acceleration.
  2. Update Graphics Drivers: Install the latest GPU drivers from NVIDIA, AMD, or Intel.
  3. Close Heavy Background Apps: Close video players, recording software, and heavy background tabs competing for CPU cores.
  4. Lower Internal Render Scale: High DPR (2.0x supersampling) significantly increases fill rate demand. Use 1.0x native scale.
  5. Verify Display Resolution: Check pixel dimensions using the Resolution Checker and inspect display anomalies with the Dead Pixel Checker.

Benchmark Scope & Methodology

Browser FPS Test vs Native PC Game Benchmark

This online FPS benchmark runs standardized WebGL/WebGL2 synthetic workloads directly inside your browser. To ensure proper interpretation of your results, note what this tool can and cannot measure:

What This Benchmark Accurately Measures:
  • Real-time browser display presentation cadence and V-Sync delivery.
  • JavaScript CPU submission time and draw call dispatch latency.
  • Hardware GPU render latency via asynchronous timer queries (when supported).
  • Frame-time variance, 1% Low pacing, and 0.1% Low stutter hitches.
  • Graphics pipeline scaling across geometry, particles, DPR, and shader loads.
What Requires Native Game Benchmarks:
  • Native DirectX 12, Vulkan, or Metal game engine performance.
  • Total system-wide GPU utilization percentage.
  • End-to-end peripheral input latency (click-to-photon lag).
  • Specific game-engine shader compilation hitches and texture streaming.
  • Long-term hardware thermal stress and power draw characteristics.

Frequently Asked Questions

What is FPS (Frames Per Second)?

FPS stands for Frames Per Second, measuring how many individual graphical frames a software application, graphics pipeline, or display presents each second. Higher frame rates generally provide smoother motion and lower visual latency.

What is the difference between FPS and monitor refresh rate (Hz)?

FPS is the rate at which your GPU and software render new image frames, whereas refresh rate (measured in Hertz, or Hz) is the physical frequency at which your monitor refreshes its screen. For example, rendering 120 FPS on a 60Hz display means your monitor can only show 60 distinct images per second.

How do I test my FPS online using this benchmark?

Select a workload preset (such as Quick Test, Gaming, or GPU Heavy), choose your benchmark duration and target FPS, click 'Start Benchmark', and keep the browser window focused. The tool measures Display FPS, CPU Submission Time, Hardware GPU Render Time, frame time pacing, and 1% low metrics in real time.

What is a good FPS for gaming and everyday browsing?

60 FPS is a common reference point for smooth desktop and gaming motion. 90 to 120 FPS provides enhanced smoothness for fast action, 144–165 FPS is a common target for systems paired with high-refresh gaming displays, and 240 FPS or higher is commonly used with very high-refresh gaming displays.

What is 1% Low FPS and why is it important?

1% Low FPS represents the average frame rate of the slowest 1% of all frames rendered during a benchmark session. While Average FPS reflects overall throughput, 1% Low captures sudden drops and hitching, making it an essential metric for measuring perceived smoothness and micro-stutter.

What is 0.1% Low FPS?

0.1% Low FPS isolates the lowest-performing 0.1% portion of the measured frame sample. It highlights extreme, occasional frame-time spikes caused by shader compilation, heavy background processes, asset streaming stalls, or thermal throttling.

Why can average FPS be high while a game or benchmark still stutters?

Average FPS smooths out short-lived performance drops. If a system renders 100 frames smoothly and then freezes for 100 milliseconds on a single frame, the average FPS remains relatively high, but the user experiences an obvious visual stutter. Frame-time graphs and 1% low metrics expose these hitches.

What is frame time and how is it calculated from FPS?

Frame time is the duration in milliseconds required to render and display a single frame. It is calculated using the formula: Frame Time (ms) = 1000 / FPS. For instance, 60 FPS corresponds to 16.67 ms per frame, 120 FPS equals 8.33 ms, and 144 FPS equals 6.94 ms.

What is frame pacing?

Frame pacing refers to the regularity and consistency with which new frames are delivered to the display. Even at a stable average FPS, erratic delivery intervals (e.g., alternating between 8 ms and 25 ms) produce visual jitter and unsmooth motion.

What causes frame time spikes and micro-stuttering?

Frame time spikes can be triggered by CPU contention, complex scene geometry, memory allocation delays, runtime shader compilation, asset loading, background OS tasks, thermal clock throttling, or browser composite pipeline stalls.

Why is my FPS stuck at 60?

FPS is often capped at 60 due to your monitor's 60Hz refresh rate paired with browser rendering synchronization through requestAnimationFrame, an operating system display limit, power-saving profiles, or GPU driver frame rate limits.

What is the difference between a CPU bottleneck and a GPU bottleneck?

A CPU bottleneck occurs when the processor takes longer to prepare scene data, run logic, and issue draw commands than the graphics card needs to render them. A GPU bottleneck occurs when the graphics card is saturated by rasterization, shaders, particle effects, or high resolution, making GPU execution the primary limit.

What is CPU Submission Time in this benchmark?

CPU Submission Time measures the time taken by JavaScript and the browser's main thread to compute object kinematics, run benchmark logic, and submit draw commands to the WebGL rendering context.

What is Hardware GPU Render Time?

Hardware GPU Render Time estimates GPU execution time for this benchmark’s WebGL workload when hardware timer queries are supported (using EXT_disjoint_timer_query). When browser security settings block timer queries, WebGL GPU rendering remains active while hardware timing is flagged as unavailable.

What is Effective Headroom FPS?

Effective Headroom FPS estimates theoretical throughput capacity calculated as 1000 / max(CPU, GPU latency). It provides a theoretical throughput estimate derived from the measured CPU/GPU timing bottleneck; it is not guaranteed game FPS.

Can FPS exceed my monitor's refresh rate?

Yes, graphics pipelines can render more frames per second than the monitor can physically refresh. While excess frames cannot be fully displayed without tearing (unless variable refresh rate or fast sync is enabled), higher rendering frame rates can reduce input latency.

What happens when FPS drops below my monitor's refresh rate?

When FPS falls below the display refresh rate on a fixed-refresh monitor with V-Sync enabled, the display may repeat previous frames, causing perceived stutter and judder. Variable Refresh Rate (VRR) technologies like G-Sync and FreeSync can synchronize display refresh with varying frame delivery and may reduce visible judder or tearing within the supported VRR range.

How does resolution scale (DPR) affect FPS?

Resolution scale multiplies the internal pixel buffer dimensions. Higher Device Pixel Ratios (e.g., 1.5x or 2.0x HiDPI) significantly increase rasterization fill rate and fragment shader workload, demanding greater GPU memory bandwidth and potentially lowering FPS.

What is the Adaptive Stress Sweep in the Stress Lab?

The Adaptive Stress Sweep is an automated benchmark procedure that incrementally scales geometry count, particles, and rendering load across successive stages until the measured frame rate drops below 55 FPS, determining your system's stability ceiling under progressive load.

Does this browser FPS test replace a native PC game benchmark?

No. This tool tests browser-based WebGL/WebGL2 graphics, JavaScript execution, and display presentation cadence. While it accurately diagnoses browser rendering stability, frame pacing, and hardware scaling, native 3D games utilize DirectX, Vulkan, or Metal with distinct CPU/GPU pipelines and asset demands.

Can thermal throttling cause FPS drops and stutter?

Yes. When CPU or GPU temperatures exceed thermal thresholds, the hardware automatically lowers clock speeds to prevent overheating. This clock reduction reduces computational throughput, leading to sudden frame rate drops and increased 1% low variance.

How can I improve my FPS and 1% low performance?

Close resource-heavy background applications, ensure your browser has hardware acceleration enabled, update graphics drivers, lower internal rendering resolution or demanding graphical effects, configure optimal power management profiles, and ensure adequate cooling to prevent thermal throttling.

Region & Language

Select your preferred language for the interface.