keepcalculator

06 Numbers and Powers

Chrome Benchmark HUD: Track Performance Metrics

Card No. 06·30067 · Updated · Standard formula, shown below

Performance score 100.2 %
Target FPS
60 fps
You entered
Frame time
16.7 ms
You entered
You enter
Target FPS, Frame time
You get
Performance score
Rounding
1 dp

Yes, Chrome has a built-in benchmark HUD that can display real-time performance metrics like FPS, frame timing, and rendering stats directly in the browser. You enable it by launching Chrome with the --enable-gpu-benchmarking and --enable-unsafe-swiftshader flags, then using the chrome.gpuBenchmarking API or the built-in FPS counter overlay. This article explains exactly how to turn it on, what each metric means, and how to interpret the numbers for game development, web animation testing, or general performance debugging.

What the Benchmark HUD Actually Shows

Chrome’s benchmarking tools are primarily designed for developers testing GPU-accelerated content, not for casual users. The HUD overlay displays a small box in the top-left corner of the browser window showing:

  • FPS – frames rendered per second (higher is better)
  • Frame time – milliseconds spent rendering each frame (lower is better)
  • Frame rate – a smoothed average over the last second
  • GPU memory – current VRAM usage for the page
  • Rasterization stats – how many tiles were rasterized per frame

This is not the same as the Chrome Task Manager (Shift+Esc), which shows CPU/memory per tab. The HUD is a lower-level diagnostic tool that measures the actual rendering pipeline.

How to Enable the Benchmark HUD

There are two main methods, depending on whether you need just the FPS counter or full benchmarking API access.

Method 1: Simple FPS Counter (No Flags)

  1. Open Chrome and press Ctrl+Shift+I (Windows/Linux) or Cmd+Opt+I (Mac) to open DevTools.
  2. Press Ctrl+Shift+P (or Cmd+Shift+P) to open the command menu.
  3. Type FPS and select “Show FPS meter” from the results.
  4. The FPS counter appears in the top-right corner of the viewport. It shows a live FPS number and a color-coded bar (green = good, red = poor).

This method requires no command-line flags and works on any Chrome version. However, it only shows FPS and frame time – no GPU memory or rasterization stats.

Method 2: Full Benchmark HUD with GPU Stats

  1. Close all Chrome windows completely.
  2. Right-click your Chrome shortcut and select Properties (Windows) or edit the launch command (Mac/Linux).
  3. Add the following flags after the executable path: --enable-gpu-benchmarking --enable-unsafe-swiftshader
  4. Launch Chrome with these flags.
  5. Open any page, then press Ctrl+Shift+I to open DevTools.
  6. In the DevTools console, type chrome.gpuBenchmarking.printToConsole() and press Enter.
  7. The console will output detailed GPU statistics, including FPS, frame time, and GPU memory usage.

To get a persistent on-screen HUD (not just console output), you need to use the chrome.gpuBenchmarking API in a script. This is more advanced and typically used in automated testing frameworks like Puppeteer.

Understanding the Metrics

Once the HUD is active, you’ll see several numbers. Here’s what they mean in practical terms:

  • FPS (Frames Per Second) – The number of complete frames rendered each second. 60 FPS is the standard for smooth scrolling and animations. 30 FPS is acceptable for video but feels laggy for interactive content.
  • Frame Time (ms) – The time taken to render one frame. At 60 FPS, this should be around 16.7 ms. If you see spikes above 50 ms, you’ll notice stuttering.
  • Frame Rate (smoothed) – The average FPS over the last second. This is more stable than the instantaneous FPS and better for spotting trends.
  • GPU Memory – How much video memory the page is using. High values (over 500 MB) on a simple page may indicate a memory leak.
  • Rasterization – The number of tiles the GPU rasterizes per frame. Higher numbers mean more complex rendering work.

Common Problems and Fixes

If the HUD doesn’t appear or shows zeros, here are the most likely causes:

  • Hardware acceleration is disabled – Go to chrome://settings/system and ensure “Use hardware acceleration when available” is ON. The HUD relies on GPU rendering.
  • Flags not applied – The --enable-gpu-benchmarking flag only works when Chrome starts with it. If you added it to a running instance, it won’t take effect. Restart Chrome completely.
  • Using Chrome on a VM or remote desktop – Virtualized GPUs often don’t support benchmarking. Try on a physical machine.
  • Outdated Chrome version – Some flags were removed in newer versions. Update Chrome to the latest stable release.
  • Incorrect flag syntax – Ensure there’s a space between the executable path and the first flag, and between flags.

Comparing Chrome’s HUD to Other Tools

Chrome’s built-in HUD is useful but limited compared to dedicated profiling tools. Here’s how it stacks up:

  • Chrome DevTools Performance tab – Records a full timeline with CPU/GPU activity, network requests, and memory. The HUD is a live overlay; the Performance tab is a recording tool.
  • Lighthouse – Runs a page load audit and gives a performance score (0-100). The HUD measures runtime rendering, not load time.
  • WebPageTest – An external service that tests from real servers. The HUD is local and real-time.
  • Stats.js (library) – A JavaScript library that shows FPS and frame time. It’s easier to customize than Chrome’s HUD but requires adding code to your page.

For most developers, the Performance tab is more useful for diagnosing specific bottlenecks. The HUD is better for quick, continuous monitoring while you tweak CSS animations or WebGL scenes.

Is It Safe to Use?

Yes, the benchmark HUD is completely safe. It only reads rendering statistics; it doesn’t modify any files or settings. The --enable-unsafe-swiftshader flag sounds scary but it only allows the software renderer to be used in benchmarking contexts – it doesn’t compromise your system security. However, running Chrome with benchmarking flags can slightly reduce performance because the HUD itself uses a small amount of GPU resources. For accurate measurements, disable the HUD when you’re not testing.

One caution: the chrome.gpuBenchmarking API is not available on the stable channel by default. You may need to use Chrome Canary or a development build to access all features. The FPS meter via DevTools works on stable.

Alternatives for Non-Developers

If you’re not a developer and just want to see how smooth a website is, you have simpler options:

  • Chrome Task Manager (Shift+Esc) – Shows per-tab CPU, memory, and network usage. Not frame-specific but gives a general performance picture.
  • Built-in FPS meter – The DevTools FPS counter (Method 1 above) is the easiest way to see real-time FPS without any flags.
  • Online FPS test sites – Websites like fps.test or testufo.com measure browser rendering speed without requiring any setup.

Frequently Asked Questions

Does the Chrome benchmark HUD work on all websites?

Yes, the HUD overlays on any tab you have open. It measures the rendering of whatever page is active. However, pages that don’t use much GPU (like plain text articles) will show very high FPS (200+), which is normal. The HUD is most useful on graphics-heavy sites like WebGL games or complex CSS animations.

Can I enable the HUD permanently?

Not exactly. The DevTools FPS meter resets when you close DevTools. The command-line flag method keeps the benchmarking API available until you close Chrome, but the on-screen HUD only appears when you call the API. There’s no built-in setting to always show the HUD on every page.

Why does my FPS show 0 or 1?

This usually means the page isn’t rendering frames – either it’s completely static (no animations) or the GPU is failing. If you’re on a page with CSS animations and see 0 FPS, hardware acceleration is likely disabled. Check chrome://gpu to see if WebGL and hardware acceleration are active.

Is the HUD the same as Chrome’s built-in FPS counter?

No. The built-in FPS counter (via DevTools command menu) is a simplified version that only shows FPS and frame time. The full benchmark HUD (via command-line flags and the API) adds GPU memory, rasterization stats, and more detailed timing data. For most users, the simple FPS counter is sufficient.

Does using the HUD affect benchmark results?

Yes, slightly. The HUD itself uses a small amount of GPU and CPU resources to render. For critical measurements, run the benchmark twice – once with the HUD on to get a baseline, then with it off to see the difference. The impact is usually less than 2% on modern hardware.

Can I use the benchmark HUD on Chrome for Android?

No. The --enable-gpu-benchmarking flag is only supported on desktop versions of Chrome. On Android, you can use the DevTools remote debugging feature to see the HUD on your phone’s screen via a desktop browser, but the HUD itself won’t display on the phone.

Related

Formula used
in fps | Target FPS | fps | 60 | 1 | 240
in frame_ms | Frame time | ms | 16.7 | 0 | 1000
out score | Performance score | % | (fps / (1000 / frame_ms)) * 100 | 1

Each line is one input (in, sel, list) or one result (out: label, unit, formula, decimals). How the calculators work

Method: the standard formula for this calculation, rounded as each result states. See how the calculators work or report an error.

More cards in this drawer

The whole Numbers and Powers drawer →