我正在使用 glCopyTexture2d 从 iPhone 游戏中的屏幕内容创建纹理。它很简单,我想知道使用帧缓冲区(渲染到纹理)是否有任何性能增益。然而(渲染到纹理)对我来说并不简单。理论上glCopyTexture2d是VRAM到VRAM的复制。与 glCopyTexture2d 相比,是否有人体验到使用“渲染到纹理”的性能提升。
最佳答案
使用 FBO 渲染到纹理应该比 glCopyTexImage2D
更快,因为直接渲染到纹理完全可以防止任何复制(无论是 VRAM 到 VRAM,这仍然是相当多数据的副本)。但您应该亲自尝试一下它是否能为您的应用程序带来真正的好处。 This site对 FBO 进行了很好的介绍,并提供了简单的纹理渲染教程。如果您有 FBO 支持,您真的应该尝试一下,这可能是值得的。
顺便说一句,使用 glCopyTexSubImage2D
甚至应该比 glCopyTexImage2D
更快(假设已经存在正确大小的纹理),因为这样纹理内存就不会获得全新分配。
关于iphone - glCopyTexture2d 比使用帧缓冲区对象慢吗,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5561520/