在实时渲染的链路里,几何体的体积往往是带宽和显存的双重瓶颈。Draco 作为谷歌开源的网格压缩库,能够把原始顶点数据压缩至原始体积的 10% 以下,从而在网络传输和 GPU 读取阶段实现显著提速。
Draco 采用了基于拓扑的重建策略:先对顶点属性(位置、法线、纹理坐标)进行量化,再利用预测编码和可变长度整数(VLQ)对差值进行压缩。解码时,GPU 可以直接读取经重排的索引缓冲区,避免了传统 OBJ/GLTF 未压缩时的冗余顶点。
对几何细节要求极高的工业级 CAD 模型、需要在浏览器中实时切换 LOD 的数字孪生项目,都是 Draco 的天然匹配。相对地,若模型主要依赖纹理表现细节(如高分辨率贴图),压缩收益会被纹理带宽占比抵消,需配合 KTX2 等纹理压缩方案共同使用。
“把模型压到指尖大小,却不牺牲视觉质量,这正是 Draco 为 WebGL 带来的游戏规则改变。”
总的来看,Draco 通过算法层面的创新,把几何数据的体积从根本上压缩,使得 Web 端的 3D 交互从“只能观望”迈向“流畅操作”。如果你的项目仍在为模型加载卡顿而苦恼,不妨试一试 Draco——它或许正是打开高保真实时渲染的大门。
参与讨论
这压缩率绝了,我们项目显存直接降了一半 👍
求问这个在Three.js里集成难不?
之前用glb没压缩,加载慢得要命,换了Draco后用户体验提升太明显
M1芯片上跑得动吗?担心解码性能
我们做数字孪生的,这玩意简直是救命稻草
顶点数据压这么狠,法线会不会失真啊?
前几天刚搞完模型优化,Draco+KTX2组合拳,加载快到飞起
又是谷歌出手,不过这次真香
说真的,WebGL现在能这么流畅,Draco功劳不小
有人试过在低配安卓机上跑吗?怕兼容问题
这技术要是早两年出来,我那项目也不至于卡成ppt
可以这样理解,它把冗余顶点全去掉了,省空间也省时间
我们工业模型动辄几百MB,现在终于能塞进网页了
要是比特币跌回3万他们还能撑住不?