比 earcut 更快:370 万个地图多边形剖分只要 489 毫秒 — Hacker News 中文摘要
来源:globus.software — 147 分 · HN #50193170
📋 概述
Globus 把地图引擎里的多边形三角剖分器抽成单头文件 C++ 库 earstrip(ISC 许可,与 earcut 相同),并提供参数完全一致的 WebAssembly/npm 版本。C++ 下比 earcut.hpp 快 14%,浏览器里是 earcut.js 的 1.4 到 2.1 倍。基准是真实地图:华沙 Śródmieście 的几个街区有 331 个多边形、5151 个顶点,切出 4514 个三角形;马佐夫舍省 13 级离线地图共 3,740,425 个多边形,M4 Pro 单核原本需要 2.93 秒,换成耳切法后 489 毫秒。
🔑 核心要点
- 单头文件 C++ 库加同参数 WASM 版,ISC 许可,可直接替换 earcut。
- 浏览器端比 earcut.js 快 1.4–2.1 倍,C++ 端比 earcut.hpp 快 14%。
- 13 级马佐夫舍离线地图含 3,740,425 个多边形,全部切分 489 ms(原 2.93 秒)。
- 关键前提:GPU 只会填三角形,而地图数据几乎全是多边形,剖分是渲染前绕不开的一步。
💡 金句
in the browser 1.4 to 2.1 times as fast as earcut.js
👍 0
👎 0
← 返回 Hacker News 首页