피드로 돌아가기
Performance Tips for Firefox New Tab Extensions: Sub-100ms Load Times
Dev.toDev.to
Frontend

Critical Path 최적화로 구현한 New Tab 로드 타임 100ms 미만 달성

Performance Tips for Firefox New Tab Extensions: Sub-100ms Load Times

Weather Clock Dash2026년 5월 4일5intermediate

Context

브라우저 New Tab 페이지는 내장 페이지의 즉각적인 반응 속도와 경쟁해야 하는 환경임. 렌더링 차단 요소와 비동기 데이터 로딩으로 인한 사용자 경험 저하 및 FOUC(Flash of Unstyled Content) 발생 가능성이 주요 병목 지점으로 분석됨.

Technical Solution

  • Render-blocking 제거를 위한 Critical CSS Inline 적용 및 Script defer 속성을 통한 HTML 파싱 우선순위 확보
  • FOUC 방지를 위해 테마 적용 로직을 DOM 렌더링 전 Synchronous Script로 실행하는 전략 채택
  • Local Storage 캐시 우선 렌더링 후 백그라운드에서 최신 데이터를 Fetch 하는 Stale-While-Revalidate 패턴 적용
  • Layout Thrashing 방지를 위해 DOM Read/Write 작업을 일괄 처리하는 Batching 기법 도입
  • Intl.DateTimeFormat 객체 생성 비용 절감을 위한 Map 기반 Formatter Caching 구조 설계
  • Timer Drift 방지 및 브라우저 최적화 프레임 동기화를 위한 requestAnimationFrame 기반의 클록 업데이트 구현

- CSS/JS 파일 요청이 렌더링을 차단하는지 확인하고 Critical Path를 Inline화했는가 - API 응답 대기 전 캐시 데이터를 먼저 보여주는 낙관적 렌더링 구조인가 - DOM 읽기와 쓰기가 교차 발생하여 강제 리플로우(Forced Reflow)를 유발하지 않는가 - 고비용 객체 생성 로직이 루프나 빈번한 업데이트 함수 내에 존재하지 않는가 - 여러 개의 Storage 읽기 요청을 단일 IPC 호출로 통합했는가

원문 읽기