--- id: P-REINFORCE-AUTO-1BE349 category: "10_Wiki/πŸ’‘ Topics/AI" confidence_score: 0.90 tags: [auto-reinforced] last_reinforced: 2026-04-20 github_commit: "[P-Reinforce] Continuous Worker - Interaction to Next Paint (INP)" --- # [[Interaction to Next Paint (INP)|Interaction to Next Paint (INP)]] ## πŸ“Œ ν•œ 쀄 톡찰 (The Karpathy Summary) > INP(Interaction to Next Paint)λŠ” μ›Ή νŽ˜μ΄μ§€μ˜ μ „λ°˜μ μΈ μƒν˜Έμž‘μš©μ„±(Interactivity)κ³Ό 응닡성(Responsiveness)을 μΈ‘μ •ν•˜κΈ° μœ„ν•΄ 2024λ…„ Google이 곡식 λ„μž…ν•œ Core Web Vitals μ§€ν‘œμž…λ‹ˆλ‹€ [1-3]. 첫 번째 μƒν˜Έμž‘μš©λ§Œ μΈ‘μ •ν•˜λ˜ 기쑴의 FID(First Input Delay)와 달리, νŽ˜μ΄μ§€ λ°©λ¬Έ κΈ°κ°„ λ™μ•ˆ λ°œμƒν•˜λŠ” λͺ¨λ“  μƒν˜Έμž‘μš©(클릭, νƒ­, ν‚€ λˆ„λ¦„ λ“±)의 전체 μ§€μ—° μ‹œκ°„μ„ μΈ‘μ •ν•˜μ—¬ μ‹€μ œ μ‚¬μš©μž κ²½ν—˜μ„ 더 μ •ν™•ν•˜κ²Œ λ°˜μ˜ν•©λ‹ˆλ‹€ [4-6]. μ‚¬μš©μžμ˜ μž‘μ—…μ— λŒ€ν•΄ 즉각적인 μ‹œκ°μ  ν”Όλ“œλ°±μ„ μ œκ³΅ν•˜λŠ” 것을 λͺ©ν‘œλ‘œ ν•˜λ©°, 200λ°€λ¦¬μ΄ˆ(ms) μ΄ν•˜μ˜ μ§€μ—° μ‹œκ°„μ„ 기둝해야 'μ’‹μŒ(Good)'으둜 평가받을 수 μžˆμŠ΅λ‹ˆλ‹€ [5, 7]. ## πŸ“– κ΅¬μ‘°ν™”λœ 지식 (Synthesized Content) * **λ„μž… λ°°κ²½ 및 영ν–₯:** INPλŠ” 2024년에 κΈ°μ‘΄ Core Web Vitals μ§€ν‘œμ˜€λ˜ First Input Delay (FID)λ₯Ό κ³΅μ‹μ μœΌλ‘œ λŒ€μ²΄ν–ˆμŠ΅λ‹ˆλ‹€ [1, 2]. FIDκ°€ 첫 번째 μƒν˜Έμž‘μš©μ˜ 이벀트 ν•Έλ“€λŸ¬ μ‹œμž‘ μ „ μ§€μ—° μ‹œκ°„λ§Œμ„ μΈ‘μ •ν–ˆλ˜ 반면, INPλŠ” νŽ˜μ΄μ§€ 전체 수λͺ… λ™μ•ˆ λ°œμƒν•˜λŠ” λͺ¨λ“  μƒν˜Έμž‘μš©μ„ μΆ”μ ν•˜κ³  λ Œλ”λ§ μ§€μ—°κΉŒμ§€ ν¬ν•¨ν•˜μ—¬ μΈ‘μ •ν•©λ‹ˆλ‹€ [4-6]. 이 엄격해진 κΈ°μ€€ λ³€ν™”λ‘œ 인해 2024λ…„ 2μ›”, λͺ¨λ°”일 μ›Ήμ‚¬μ΄νŠΈλ“€μ˜ Core Web Vitals ν†΅κ³Όμœ¨μ΄ 크게 ν•˜λ½ν•˜λŠ” ν˜„μƒμ΄ κ΄€μ°°λ˜κΈ°λ„ ν–ˆμŠ΅λ‹ˆλ‹€ [1]. * **μΈ‘μ • 및 μ‚°μΆœ 방식:** INPλŠ” 75λ°±λΆ„μœ„μˆ˜(75th percentile)의 λ°©λ¬Έ 데이터λ₯Ό κΈ°μ€€μœΌλ‘œ κ³„μ‚°λ©λ‹ˆλ‹€ [8]. νŽ˜μ΄μ§€ λ‚΄ μƒν˜Έμž‘μš©μ΄ 50개 μ΄ν•˜μΈ 경우 κ°€μž₯ κΈ΄ μƒν˜Έμž‘μš© μ§€μ—° μ‹œκ°„μ„ INP둜 κ°„μ£Όν•˜λ©°, μƒν˜Έμž‘μš©μ΄ 50개λ₯Ό μ΄ˆκ³Όν•  경우 μ΄μƒμΉ˜(Outlier)의 영ν–₯을 쀄이기 μœ„ν•΄ 50개 κ·Έλ£Ήλ‹Ή κ°€μž₯ μ§€μ—° μ‹œκ°„μ΄ κΈ΄ 1개λ₯Ό μ œμ™Έν•œ λ‚˜λ¨Έμ§€ 쀑 μ΅œλŒ“κ°’μ„ μ‚¬μš©ν•©λ‹ˆλ‹€ [8]. * **평가 μž„κ³„κ°’:** 200ms μ΄ν•˜λŠ” 'μ’‹μŒ(Good)', 200ms 초과 500ms μ΄ν•˜λŠ” 'κ°œμ„  ν•„μš”(Needs improvement)', 500ms μ΄ˆκ³ΌλŠ” 'λ‚˜μ¨(Poor)'으둜 λΆ„λ₯˜λ©λ‹ˆλ‹€ [5]. * **λΈŒλΌμš°μ € 지원:** Chrome뿐만 μ•„λ‹ˆλΌ Interop 2025 ν”„λ‘œμ νŠΈλ₯Ό 톡해 Firefox(버전 144λΆ€ν„° 지원)와 Safariμ—μ„œλ„ INP μΈ‘μ • μ§€ν‘œ κ΅¬ν˜„ μž‘μ—…μ΄ μ‹œμž‘λ˜μ—ˆμŠ΅λ‹ˆλ‹€ [9]. * **μ§€μ—° μ‹œκ°„μ˜ μ„ΈλΆ€ ꡬ성 μš”μ†Œ (Sub-parts):** μ‚¬μš©μž μƒν˜Έμž‘μš©μ˜ 전체 λŒ€κΈ° μ‹œκ°„μ€ 크게 3λ‹¨κ³„λ‘œ λ‚˜λ‰˜λ©°, Chrome DevToolsλ₯Ό 톡해 이 μ„ΈλΆ€ 정보(INP breakdown)λ₯Ό 확인할 수 μžˆμŠ΅λ‹ˆλ‹€ [4, 5, 10]. 1. **μž…λ ₯ μ§€μ—° (Input delay):** μ΄λ²€νŠΈκ°€ κ°μ§€λœ μ‹œμ λΆ€ν„° 이벀트 ν•Έλ“€λŸ¬κ°€ μ‹€ν–‰λ˜κΈ° μ „κΉŒμ§€μ˜ μ‹œκ°„ [4, 5]. 2. **처리 μ‹œκ°„ (Processing duration):** 이벀트 ν•Έλ“€λŸ¬ μ½”λ“œκ°€ μ‹€μ œλ‘œ μ‹€ν–‰λ˜λŠ” μ‹œκ°„ [4]. μ„±λŠ₯ 병λͺ©μ΄ κ°€μž₯ 자주 λ°œμƒν•˜λŠ” κ΅¬κ°„μž…λ‹ˆλ‹€ [10]. 3. **ν‘œμ‹œ μ§€μ—° (Presentation delay):** μ‚¬μš©μž μž‘μ—… 이후 λ‹€μŒ ν”„λ ˆμž„μ„ 화면에 λ Œλ”λ§(페인트)ν•  λ•ŒκΉŒμ§€ κ±Έλ¦¬λŠ” μ‹œκ°„ [4]. * **μ΅œμ ν™” μ „λž΅:** INPλ₯Ό μ΅œμ ν™”ν•˜κΈ° μœ„ν•΄μ„œλŠ” λΈŒλΌμš°μ €μ˜ 메인 μŠ€λ ˆλ“œ(Main thread) 차단을 μ΅œμ†Œν™”ν•΄μ•Ό ν•©λ‹ˆλ‹€. 이λ₯Ό μœ„ν•΄ κΈ΄ μž‘μ—…(Long tasks)을 비동기 청크둜 λΆ„ν• ν•˜κ³ , 핡심 이벀트 ν•Έλ“€λŸ¬μ˜ μš°μ„ μˆœμœ„λ₯Ό 높이며, λΆˆν•„μš”ν•œ JavaScript μ§€μ—° λ‘œλ“œ(Lazy load) 및 μˆ˜λ™ 이벀트 λ¦¬μŠ€λ„ˆ(Passive event listeners) μ‚¬μš©, λ ˆμ΄μ•„μ›ƒ μŠ€λž˜μ‹±(Layout thrashing) κ°μ†Œ λ“±μ˜ μ „λž΅μ΄ ν•„μš”ν•©λ‹ˆλ‹€ [11-14]. Chrome DevTools의 μ„±λŠ₯ νŒ¨λ„μ— ν†΅ν•©λœ Long Animation Frames APIλ₯Ό ν™œμš©ν•˜λ©΄ μƒν˜Έμž‘μš©μ„ μ§€μ—°μ‹œν‚€λŠ” νŠΉμ • μŠ€ν¬λ¦½νŠΈμ™€ κ·Έ 원인을 μ§κ΄€μ μœΌλ‘œ νŒŒμ•…ν•  수 μžˆμŠ΅λ‹ˆλ‹€ [15, 16]. * **특수 μΈ‘μ • 사둀 (ν…μŠ€νŠΈ κ°•μ‘° ν‘œμ‹œ):** μ›Ή νŽ˜μ΄μ§€μ—μ„œ ν…μŠ€νŠΈλ₯Ό λ“œλž˜κ·Έν•˜μ—¬ κ°•μ‘° ν‘œμ‹œ(Highlighting)ν•˜λŠ” ν–‰μœ„λ„ 일반적으둜 INP μ μˆ˜μ— 영ν–₯을 μ£ΌλŠ” μ‚¬μš©μž μƒν˜Έμž‘μš©μœΌλ‘œ κ°„μ£Όλ©λ‹ˆλ‹€ [17]. λ‹€λ§Œ, 2025λ…„ 초 Chrome의 μ—…λ°μ΄νŠΈλ₯Ό 톡해 μ‚¬μš©μžκ°€ 창의 κ°€μž₯μžλ¦¬μ— λ„λ‹¬ν•˜μ—¬ 슀크둀이 νŠΈλ¦¬κ±°λ˜λŠ” ν…μŠ€νŠΈ κ°•μ‘° ν‘œμ‹œ μƒν™©μ—μ„œλŠ” INP μ μˆ˜κ°€ μ¦κ°€ν•˜μ§€ μ•Šλ„λ‘ μΈ‘μ • 방식이 μ‘°μ •λ˜μ—ˆμŠ΅λ‹ˆλ‹€ [17]. ## ⚠️ λͺ¨μˆœ 및 μ—…λ°μ΄νŠΈ (Contradictions & RL Update) - **κ³Όκ±° λ°μ΄ν„°μ™€μ˜ 좩돌:** μžλ™ν™” 엔진에 μ˜ν•΄ λ§€ν•‘λœ μ§€μ‹μœΌλ‘œ, μΆ”ν›„ μ •λ°€ 검증 ν•„μš”. - **μ •μ±… λ³€ν™”:** AI λΆ„μ•Όμ˜ μžλ™ μžμ‚°ν™” μˆ˜ν–‰. ## πŸ”— 지식 μ—°κ²° (Graph) - **Related Topics:** [[Core Web Vitals|Core Web Vitals]], [[First Input Delay (FID)|First Input Delay (FID)]], [[Long Animation Frames API|Long Animation Frames API]] - **Projects/Contexts:** Chrome User Experience Report (CrUX), [[Chrome DevTools|Chrome DevTools]], [[Interop 2025|Interop 2025]] - **Contradictions/Notes:** 초기 μΈ‘μ • λ°©μ‹μ—μ„œλŠ” λͺ¨λ“  ν…μŠ€νŠΈ κ°•μ‘° ν‘œμ‹œκ°€ INP에 영ν–₯을 μ£Όμ—ˆμœΌλ‚˜, 2025λ…„ 초 Chrome의 μ—…λ°μ΄νŠΈλ‘œ 인해 μŠ€ν¬λ‘€μ„ λ™λ°˜ν•˜λŠ” ν…μŠ€νŠΈ κ°•μ‘° ν‘œμ‹œλŠ” μ˜ˆμ™Έμ μœΌλ‘œ INP μ§€μ—° μ‹œκ°„μ— ν•©μ‚°λ˜μ§€ μ•Šλ„λ‘ λ³€κ²½λ˜μ—ˆμŠ΅λ‹ˆλ‹€ [17]. --- *Last updated: 2026-04-19* ---