⚡ Bolt: [성능 개선] 불필요한 이미지 디코딩 지연 제거#84
Conversation
- SVG는 디코딩이 아닌 파싱이므로 속성이 무의미함 - fetchpriority="high"인 LCP 이미지에 async를 주면 동기 렌더링이 지연되어 성능 저하 - 테스트 코드도 svg 파일을 예외처리 하도록 수정함
|
👋 Jules, reporting for duty! I'm here to lend a hand with this pull request. When you start a review, I'll add a 👀 emoji to each comment to let you know I've read it. I'll focus on feedback directed at me and will do my best to stay out of conversations between you and other bots or reviewers to keep the noise down. I'll push a commit with your requested changes shortly after. Please note there might be a delay between these steps, but rest assured I'm on the job! For more direct control, you can switch me to Reactive Mode. When this mode is on, I will only act on comments where you specifically mention me with New to Jules? Learn more at jules.google/docs. For security, I will only act on instructions from the user who triggered this task. |
- SVG는 디코딩이 아닌 파싱이므로 속성이 무의미함 - fetchpriority="high"인 LCP 이미지에 async를 주면 동기 렌더링이 지연되어 성능 저하 - 테스트 코드도 svg 파일을 예외처리 하도록 수정함
- SVG는 디코딩이 아닌 파싱이므로 속성이 무의미함 - fetchpriority="high"인 LCP 이미지에 async를 주면 동기 렌더링이 지연되어 성능 저하 - 테스트 코드도 svg 파일을 예외처리 하도록 수정함
- SVG는 디코딩이 아닌 파싱이므로 속성이 무의미함 - fetchpriority="high"인 LCP 이미지에 async를 주면 동기 렌더링이 지연되어 성능 저하 - 테스트 코드도 svg 파일을 예외처리 하도록 수정함
- SVG는 디코딩이 아닌 파싱이므로 속성이 무의미함 - fetchpriority="high"인 LCP 이미지에 async를 주면 동기 렌더링이 지연되어 성능 저하 - 테스트 코드도 svg 파일을 예외처리 하도록 수정함
- SVG는 디코딩이 아닌 파싱이므로 속성이 무의미함 - fetchpriority="high"인 LCP 이미지에 async를 주면 동기 렌더링이 지연되어 성능 저하 - 테스트 코드도 svg 파일을 예외처리 하도록 수정함
- SVG는 디코딩이 아닌 파싱이므로 속성이 무의미함 - fetchpriority="high"인 LCP 이미지에 async를 주면 동기 렌더링이 지연되어 성능 저하 - 테스트 코드도 svg 파일을 예외처리 하도록 수정함
💡 What
index.html파일에 있는 모든 SVG 이미지(.svg)와fetchpriority="high"가 설정된 LCP(최대 콘텐츠 풀 페인트) 이미지에서decoding="async"속성을 제거했습니다.tests/test_styles.py의 테스트 코드 로직을 수정하여,loading="lazy"이면서 SVG가 아닌 래스터 이미지에 대해서만 해당 속성이 있는지 검사하도록 변경했습니다.🎯 Why
SVG 이미지는 브라우저가 파싱을 통해 렌더링하므로 래스터 이미지처럼 별도의 '디코딩' 과정이 필요하지 않아
decoding="async"설정 자체가 무의미합니다. 더 큰 문제는fetchpriority="high"속성이 부여된 중요 LCP 이미지(히어로 이미지 등)에 이를 함께 적용한 것입니다. 이는 가장 먼저 동기적으로 그려져야 할 핵심 콘텐츠의 렌더링을 굳이 비동기로 지연시키는 심각한 성능 안티패턴이기 때문에 제거해야 합니다.📊 Impact
히어로 섹션 및 기타 주요 SVG 이미지들의 렌더링 지연을 방지하여 LCP(Largest Contentful Paint)와 TTI(Time To Interactive) 지표를 소폭 개선합니다. 브라우저의 메인 스레드 오버헤드를 줄입니다.
🔬 Measurement
index.html의 소스코드를 열어 SVG 이미지 태그들에 더 이상decoding="async"가 존재하지 않는지 확인합니다.tests/test_styles.py테스트가 정상적으로 통과하는지 확인합니다. (python3 -m pytest tests/)PR created automatically by Jules for task 2110590937339615064 started by @seonghobae