我无法获得像素缓冲区对象来使异步glReadPixels工作(很好,但没有速度),在OSX10.10上使用GL_PIXEL_PACK_BUFFER的像素缓冲区。
我从GL_UNSIGNED_BYTE in glReadPixels转到GL_UNSIGNED_INT_8_8_8_8_REV
glReadPixels从20毫秒下降到0.6毫秒,换句话说,它开始真正意义上的异步工作。
我的问题是:将GL_UNSIGNED_INT_8_8_8_8_REV设置为像素格式在其他mac系统上是否有效,还是需要对它们进行测试?
发布于 2015-04-05 18:43:44
如果您想要确信它在所有配置上都会表现良好,那么您必须对它们进行测试。如果某个路径是慢的或快的,它通常将取决于GPU供应商。不同GPU代的驱动程序之间的结果也可能不同,甚至可以从软件版本更改为软件版本。
在这个具体的例子中,你所测量的是非常奇怪的。GL_UNSIGNED_BYTE和GL_UNSIGNED_INT_8_8_8_8_REV实际上在一台小终端机器上是相同的格式。他们中的一个应该比另一个更快是没有充分理由的。在检查是否可以使用快速路径时,这很可能只是一个遗漏。
https://stackoverflow.com/questions/29460055
复制相似问题