关键洞察
TypeGPU 是 WebGPU 的上层类型安全封装,两者在 GPU 上的 执行性能完全一致——因为 TypeGPU 在构建时把 TypeScript 编译为 WGSL, 运行时直接调用原生 WebGPU API。真正的差异体现在开发效率、类型安全和内存布局管理上。 本页所有演示均在浏览器中实时运行,你可以拖动滑块、切换模式亲手验证。
点击按钮修改结构体字段顺序,观察手动布局如何容易出错。 vec3f 实际占 16 字节(含 4 字节填充)!
相同功能:原生 WebGPU 约 142 行有效代码,TypeGPU 约 48 行。 切换标签页查看着色器、管线配置与内存布局三处的写法差异。
随着粒子数量增加,WebGPU 和 TypeGPU 的 GPU 执行时间曲线完全重合, 证明 TypeGPU 的运行时性能与原生 WebGPU 相同。差异仅体现在 CPU 侧的开发效率上。
GPU 性能:完全一致
TypeGPU 在构建时将 TypeScript 编译为 WGSL,运行时直接调用原生 WebGPU API。GPU 执行性能与原生 WebGPU 完全一致,无额外开销。上图中的双曲线重合证明了这一点。
类型安全:编译时捕获
TypeGPU 消除了 JS 与 WGSL 之间的类型断层。缓冲区类型、着色器参数、内存布局在编译时即被验证,错误在代码编写阶段就被捕获,而不是在运行时以奇怪的画面异常呈现。
开发效率:提升 3 倍
相同功能下 TypeGPU 代码量减少 60% 以上。无需手动计算偏移量、无需维护 WGSL 字符串、无需担心内存对齐陷阱。团队中的任何 TypeScript 开发者都能参与 GPU 编程。