"매 page가 user input에 reliably 반응할 수 있는 시점". 2018 Lighthouse에 도입된 TTI는 main thread quiet window를 측정. 2024년 INP (Interaction to Next Paint) 가 Core Web Vitals 의 official replacement 가 되었지만, TTI는 lab-time diagnostic 으로 여전히 유용.
매 핵심
매 정의 (Lighthouse algorithm)
First Contentful Paint 이후 시작.
5-second quiet window: long task (>50ms) 가 없는 구간.
network: 동시 in-flight request ≤ 2.
매 quiet window 의 시작 시점 = TTI.
매 vs other metrics
Metric
Measures
Status (2026)
FCP
First Contentful Paint
active
LCP
Largest Contentful Paint
Core Web Vital
TTI
Main thread quiet
lab only
TBT
Total Blocking Time
lab proxy for TTI
INP
Interaction → Next Paint
Core Web Vital (2024+ replaces FID)
매 왜 INP가 TTI를 대체했는가
TTI 는 lab-only, single point — real user의 interaction 반영 X.
INP 는 75th percentile of all interactions — full session 반영.
<!-- Critical: render-blocking ok --><scriptsrc="/critical.js"></script><!-- Non-critical: defer until after parse --><scriptsrc="/analytics.js"defer></script><!-- Independent: async --><scriptsrc="/ads.js"async></script>
Pattern 5: Long task observer
constobserver=newPerformanceObserver((list)=>{list.getEntries().forEach((entry)=>{if(entry.duration>50){console.warn('Long task',entry.name,entry.duration);// breakup with scheduler.yield() (2026 baseline)
}});});observer.observe({entryTypes:['longtask']});
Pattern 6: scheduler.yield (2026)
asyncfunctionprocessItems(items){for(constitemofitems){process(item);if(navigator.scheduling?.isInputPending()){awaitscheduler.yield();// yield to user input
}}}