Skip to main content
Scientific Transparency

Testing Methodology & Measurement Standards

How FPSRate calculates display metrics, timing constraints, hardware V-Sync synchronization, and browser graphics limitations.

Core Measurement Principles

FPSRate is built on an absolute commitment to scientific honesty. We believe a diagnostic tool is only valuable when its measurement methods, data filtering mechanisms, and technical boundaries are completely transparent to users and developers.

We do not artificially smooth jitter to produce flattering graphs, nor do we claim laboratory photometer accuracy when executing within standard browser security sandboxes.

High-Resolution Timing (`performance.now()`)

All interval calculations in FPSRate utilize the Web Performance API's performance.now(). Unlike Date.now(), which is subject to system clock skew and millisecond granularity, performance.now() provides a monotonically increasing timestamp with microsecond resolution.

Delta Time (dt) = timestamp_current - timestamp_previous
Instantaneous FPS = 1000.0 / dt

Hardware V-Sync & Compositor Architecture

In modern web browsers, requestAnimationFrame is tied to the operating system's window compositor (Desktop Window Manager on Windows, Quartz Compositor on macOS, Wayland/X11 on Linux).

Consequently, browser animation frames are synchronized with the primary monitor's vertical refresh cycle (V-Sync). A 144Hz monitor will deliver callbacks approximately every 6.94ms, while a 60Hz monitor delivers callbacks every 16.67ms.

Scope: Capabilities vs Physical Boundaries

What Browser Tests Measure
  • Actual frame delivery cadence & jitter
  • Monitor refresh rate frequency (Hz)
  • Subpixel defects (dead/stuck pixels)
  • Relative motion persistence & ghosting
  • CSS Color gamut support (P3/sRGB)
  • Display scaling & DPR ratios
Physical Laboratory Boundaries
  • Absolute nit luminance (requires photometer)
  • Exact delta-E color (requires colorimeter)
  • Sub-millisecond GtG (requires pursuit camera)
  • Cable travel latency to display controller

1% Lows & Micro-Stutter Statistical Modeling

High average frame rates often conceal micro-stutters. FPSRate records a rolling buffer of consecutive frame intervals, sorting them to compute the 99th percentile slowest frame times (1% lows). This metric reveals rendering hiccups caused by garbage collection, background CPU spikes, or OS compositor contention.