직관에 반하는 최적화: Skia에서 경로 병합 속도 향상

2025-01-01

저자는 Skia를 사용하여 많은 벡터 그래픽 경로의 병합 작업을 수행하는 동안 성능 병목 현상을 경험했습니다. 경로를 반복적으로 병합하는 초기 단순한 접근 방식은 느렸고, Skia의 경로 빌더가 최적화를 제공했지만 충분히 빠르지 않았습니다. Skia의 경로 작업 내부를 자세히 조사한 결과 각 경로의 곡선 수가 성능에 큰 영향을 미친다는 것을 알게 되었습니다. 경로 병합을 더 작은 간격으로 나누고 분할 정복 전략을 재귀적으로 적용함으로써 저자는 상당한 속도 향상을 달성하여 결국 Skia의 기본 방법을 능가했습니다. 놀랍게도 이 방법을 통해 병합 작업 수를 늘리면 더 빠른 처리가 가능했습니다.