들어가며"이 애니메이션 왜 이렇게 뚝뚝 끊겨요?"라는 질문을 받았을 때, 처음엔 requestAnimationFrame으로 바꾸면 되겠지 하고 단순하게 접근했다. 실제로 적용해보니 나아지긴 했지만 완전히 매끄럽지는 않았다. 그때 깨달았다. 나는 requestAnimationFrame이 "언제, 왜" 좋은지는 모른 채 "애니메이션엔 이거 쓰는 거다"라고 외워서 쓰고 있었다는 걸.결국 문제를 제대로 풀려면 브라우저가 화면 한 프레임을 그리기까지 내부적으로 어떤 단계를 거치는지, 그리고 그 사이에서 자바스크립트 코드가 언제 끼어들 수 있는지를 이해해야 했다. 이 글은 그 과정에서 정리한 내용이다.1. 브라우저는 어떻게 픽셀을 그리는가 — 렌더링 파이프라인브라우저가 HTML/CSS/JS를 받아서 실제 화면의 픽..