javascript - 渲染分离的随机三 Angular 形的最有效方法?

标签 javascript webgl

https://dl.dropboxusercontent.com/u/75048835/triangles2/index.html

这是该脚本每帧执行的操作:

  • 获取 slider 值
  • 如果 slider 值发生更改,请为顶点创建一个 Float32Array,为颜色创建一个 Float32Array,并调整其大小
  • 运行一个循环,每次迭代都会向数组添加一个新三 Angular 形, 具有随机 X、Y、RGB 和 alpha 值
  • 使用 gl.drawArrays 绘制数组

问题是,当我使用 800 多个三 Angular 形时,我无法获得合适的帧速率。有什么办法可以让它更快吗?

Source code here

最佳答案

尝试使用glBufferSubData而不是glBufferData。 glBufferData 每次调用时都需要分配一个新的缓冲区。应该会看到很大的性能提升。

关于javascript - 渲染分离的随机三 Angular 形的最有效方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30512343/

相关文章:

javascript - JQuery 对结果的长度进行四舍五入

javascript - 通过 Firebase Cloud 函数调用第三方 API(使用 Blaze 计划)。 react /还原

android - Three.js 可以在没有某些 WebGL 扩展的情况下准确呈现吗?

javascript - 为什么 PhoneGap 的性能 WebGL 与 firefox 或 chrome 不同?

javascript - WebGL:有没有一种有效的方法可以只上传图像/ Canvas 的一部分作为纹理?

optimization - 有没有更有效的方法来渲染大量的单个网格?

javascript - 在JS中用const之类的东西定义一个数组

javascript - Youtube cam录制叠加

javascript - 覆盖动态 iframe 的样式

javascript - Three.js 的累积着色器