
requestAnimationFrame으로 드로잉 성능 최적화하기
·
프로젝트 개선
안녕하세요 :) 오늘은 requestAnimationFrame() 함수를 활용해 부드러운 애니메이션을 구현하고 성능을 최적화한 경험을 공유하고자 합니다. 회사에서 Canvas를 이용해 Figma처럼 드로잉툴을 구현해야 하는 과제가 있었습니다. 제가 택한 구현 방법은 mousemove 이벤트가 발생할 때마다 점을 수집해 state에 저장하고, 이를 기반으로 선을 그리는 것이었습니다. 아주 간단한 예시 코드는 다음과 같습니다. const handleMouseMove = () => { const point = stageRef.current.getPointerPosition(); if (point) { setDrawingPoints((prev) => [...prev, point]); ..