v147 · Demo 4 · Performance

Prerender Performance Lab

Benchmark cold navigation vs same-origin prerender vs cross-origin iframe prerender (Chrome 147). Compare activation latency via PerformanceNavigationTiming.activationStart, configure the Supports-Loading-Mode header, and simulate a <link rel="prerender"> injection.

Origin trial feature. Cross-origin iframe prerender requires Chrome 147+ with the origin trial token or chrome://flags/#enable-prerender2-cross-origin-iframes. All three benchmarks run using performance.now() timing — real activationStart is read if available on this navigation.

Timing Benchmark

Each button simulates a navigation scenario using an iframe + performance.now() deltas. Results are illustrative — absolute values depend on network and CPU.

1 · Cold navigation

Load an iframe with no prerender. Measures time from injection to load event.

2 · Same-origin prerender

Inject <link rel="prerender"> 2s before loading. Measures activation latency.

3 · Cross-origin iframe (Chrome 147)

Cross-origin iframe in a prerendered page. Requires Supports-Loading-Mode: prerender-cross-origin-frames.

Navigation timing comparison
Cold navigation
Same-origin prerender
Cross-origin iframe (147)
Header Configurator — Supports-Loading-Mode

Configure what the cross-origin iframe server should respond with. Change the value to see how it affects prerender eligibility.

Quick presets:

Simulate prerender injection

Injects a <link rel="prerender"> hint pointing at /v147/prerendering-cross-origin-iframes/. Reads PerformanceNavigationTiming.activationStart on activation. In supporting browsers, activation latency is measured from prerender start to first paint.

Click "Simulate" to inject prerender hint and measure activation…

references

implementation reference

Need the exact API surface, compatibility boundaries, errors, lifecycle, and source links? Read the matching gendn reference ↗