iphone - 在 OpenGL ES 2.0 中切换着色器是否会影响性能?

标签 iphone opengl-es 3d

#1 OpenGL ES 2.0 设备 (iPhone/iPad) 一次可以编译和使用的着色器程序的数量/大小是否有限制?

#2 在 channel 中间切换程序是否有任何性能开销,例如,如果我要渲染 100 个三角形,其中 50 个使用着色器 1,50 个使用着色器 2,我会体验性能吗在使用这个的任何情况下都会点击吗?例如,每个三角形交替编程是否会更慢,或者批处理并执行着色器 1 的所有 50 个然后执行着色器 2 的所有 50 个程序是否应该更快?我想我是在问是否有一些内部上下文切换,或者 OpenGL ES 库是否只是指定要执行的着色器程序内存在卡上的地址,如果我为每个三角形指定不同的地址也没关系。

最佳答案

  • 问题1,没有限制,只有系统可用内存量。
  • 问题 2,是的,切换着色器会影响性能,因此批处理和最小化着色器切换可确保最佳性能。

关于iphone - 在 OpenGL ES 2.0 中切换着色器是否会影响性能?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4775218/

相关文章:

iphone - UIWebView loadHTMLString 在 iOS5 中不起作用

iphone - 我们何时以及如何开始忘记非视网膜显示屏的iPhone和iPod Touch?

iphone - 如何在我的应用程序中纠正与 iAd 相关的崩溃

iphone - 替换 xcode 中 openGl 绘图中的特定颜色?

iphone - 在 iphone sdk 中以编程方式创建 sqlite 数据库

android - 在 OpenGL ES 2.0 和索引信息中使用单独的缓冲区

Android VR工具包-HeadTransform getHeadView矩阵表示

android - 3D 引擎对我有什么用?

3d - 如何在网络浏览器中绘制硬件加速的3D图形?

c++ - 顶点着色器的支持有多广泛?