对于物理粒子系统模拟,我想优化 WebGL2 程序。我想知道使用访问 3D 纹理的变换反馈调整顶点位置是否更快,例如,将我的位置设置为纹理像素中的“color.r”,或者转储整个 3D-纹理返回给 CPU 并从纹理中提取所有顶点的位置值,并将新的顶点数组重新提交给 GPU 以在随后的绘制周期中进行处理。
作为初学者,我不知道什么会更快。我需要使用纹理,因为我的位置计算需要知道 26 个相邻粒子相对于正在计算的顶点的位置。
我没有要显示的代码。在我为任何一种方法编写代码之前,我希望获得一种方法的指导。
我的直觉说,保持在 GPU 上而不是在每个绘制周期来回抽取 1,000,000 个顶点(最少)价值的数据会更快,但这是一个新手直觉,我更喜欢从对他的知识有信心的人那里获得指导。