EXAMPLE 20B · THREE.QUARKS 0.16.0
同类火焰,两种组织方式
左侧原生 Points 和预分配 TypedArray;右侧 three.quarks 的 ParticleSystem、ConeEmitter、ApplyForce 与 BatchedRenderer。两侧都使用本地程序生成的柔圆纹理。
原生 Three.js
应用自己管理出生、年龄、运动和 BufferAttribute。
活粒子
JS 更新
绘制调用
position 上传
three.quarks@0.16.0
库管理粒子状态和实例缓冲;每帧调用 BatchedRenderer.update(dt)。
活粒子
库更新
绘制调用
缓冲更新
共同参数
两条路线的粒子数、采样和图元大小接近但不逐像素相同;两个 WebGL 画布共享浏览器资源。计时只包住各自的 JS 更新,不是 GPU 基准测试。