Instant First-Frame Rendering (IFR) v0.5
IFR paints real content during Lynx loadTemplate, before the background
thread has started — so the blank frame that waits on background boot, first
Vue render, and IPC is gone.
This page is the product thesis — how IFR is fast and why that is an architecture win. Cost ledger, gzip/TTI, cost-space charts, and FCP numbers: IFR Benchmarks · unified matrix.
1. How IFR is fast
Without IFR, visible content waits for the background thread:
With IFR, the main-thread bundle carries the Vue runtime and application.
Vue renders synchronously inside loadTemplate while the background thread
starts in parallel:
Two layers make that sync paint cheap enough to ship:
Plain IFR without ET still replays roughly a full create path on the main thread. That is why VDOM ships IFR with Element Templates by default — see the strategy ladder on IFR Benchmarks.
2. Architecture advantage
IFR is not “a faster first paint in any harness.” It removes a blank frame that exists because of a real thread boundary. Single-process / same-isolate benches stay flat — there is no IPC wait to hide. On Lynx for Web (and native dual-thread), that blank frame is real, so IFR shows up as product FCP.
That is why the unified matrix (Worker boundary) and the IFR examples harness answer different questions: one measures the win, the other measures the bill.
Conclusions
Enable
Strategy ladder, real-thread FCP, cost space, examples gzip/TTI, native: IFR Benchmarks · product FCP matrix: Unified Matrix.