핵심 요약
- 지도 엔진 개발사 GLOBUS가 기존 표준 격인 earcut보다 최대 2배 이상 빠른 삼각분할 라이브러리 'earstrip'을 공개했습니다.
- GPU가 인식할 수 있도록 374만 개의 지도 폴리곤을 삼각형으로 변환하는 연산을 고속 최적화해 처리 시간을 획기적으로 단축했습니다.
- C++ 단일 헤더 및 웹어셈블리(npm)로 제공되며 동일한 ISC 라이선스로 배포되었습니다.
요약 지도 렌더링 엔진 개발사 GLOBUS가 기존의 유명 폴리곤 삼각분할(Triangulation) 라이브러리인 'earcut'보다 빠른 오픈소스 라이브러리 'earstrip'을 공개했습니다. C++ 단일 헤더 및 npm WebAssembly 빌드로 배포되며 earcut과 동일한 ISC 라이선스를 사용합니다. 성능 면에서는 C++ 기준 earcut.hpp보다 14% 빠르고, 웹 브라우저 환경에서는 earcut.js 대비 1.4배에서 최대 2.1배 빠른 속도를 보입니다.
GPU는 3D 또는 2D 그래픽 렌더링 시 오직 삼각형만 채울 수 있기 때문에, 건물·공원·주차장 등 지도 상의 수많은 다각형 데이터를 화면에 표시하려면 먼저 모든 윤곽선을 삼각형 조각들로 쪼개는 작업(삼각분할)이 필수적입니다. 개발팀의 폴란드 마조비아 지역 오프라인 지도(줌 레벨 13) 기준 약 374만 개의 폴리곤이 존재하는데, 기존에 사용하던 '구속 조건 델로네 삼각분할(Constrained Delaunay Triangulation)' 방식은 M4 Pro 싱글 코어에서 약 2.93초가 소요되었습니다.
델로네 방식은 정밀한 시뮬레이션용으로는 좋지만, 단순 평면 단색 채우기를 하는 GPU 지도 렌더러에는 지나치게 무거운 연산이었습니다. 실제로 전체 폴리곤의 절반에 가까운 180만 개는 점이 4개 이하인 삼각형이나 단순 사각형인데도 델로네 알고리즘은 여기에만 419ms를 소모했습니다. 이에 개발팀은 다각형 모서리를 하나씩 잘라내는 단순하고 빠른 '이어 클리핑(Ear clipping)' 방식으로 전환하고, 구멍(hole) 처리용 브리지 연결 등을 단계별로 최적화해 대규모 지도 폴리곤 분할 성능을 대폭 끌어올렸습니다.
Sponsored · 광고