도형 수와 변경 빈도
적은 도형을 개별 조작하면 SVG가 편하고, 많은 픽셀과 빈번한 redraw는 Canvas가 맞을 수 있다.
요소 수와 프레임 비용을 함께 본다SVG는 DOM에 도형 객체가 남아 브라우저가 상태를 보관하는 retained mode에 가깝고, Canvas는 매 프레임 픽셀을 직접 그리는 immediate mode에 가깝다. 이벤트, 접근성, 재그리기, 해상도 대응 방식이 이 차이에서 갈린다.
적은 도형을 개별 조작하면 SVG가 편하고, 많은 픽셀과 빈번한 redraw는 Canvas가 맞을 수 있다.
요소 수와 프레임 비용을 함께 본다SVG는 도형별 DOM 이벤트를 받을 수 있고, Canvas는 좌표 기반 hit-test를 직접 구현해야 한다.
상호작용이 많으면 차이가 커진다SVG는 title, desc, role로 의미를 붙이기 쉽지만 Canvas는 대체 텍스트와 별도 DOM이 필요하다.
그래프와 도표는 접근성 요구를 먼저 본다Canvas는 devicePixelRatio에 맞춰 backing store 크기를 조정해야 선명하다.
CSS 크기와 실제 픽셀 크기는 다르다Canvas는 상태를 직접 보관하고 변경 때 필요한 영역을 다시 그린다.
지우지 않으면 이전 픽셀이 남는다