我无法获得像素缓冲区对象,使用GL_PIXEL_PACK_BUFFER在OS X 10.10上使用像素缓冲区使异步glReadPixels正常工作(但是它有效但没有加速)。
我从glReadPixels中的GL_UNSIGNED_BYTE切换到GL_UNSIGNED_INT_8_8_8_8_REV
glReadPixels从20ms降至0.6毫秒 - 换句话说,它开始真正意义上的异步工作。
我的问题是: 将GL_UNSIGNED_INT_8_8_8_8_REV设置为像素格式是否可以在其他mac系统上运行,还是需要对它们进行全部测试?
答案 0 :(得分:0)
如果您想确信它在所有配置上都能表现良好,那么您必须全部测试它们。如果特定路径缓慢或快速,它通常取决于GPU供应商。不同GPU代的驱动程序之间的结果也可能不同,甚至可以从软件版本更改为软件版本。
您在这个具体示例中测量的内容非常奇怪。 GL_UNSIGNED_BYTE
和GL_UNSIGNED_INT_8_8_8_8_REV
实际上是小端机器上的相同格式。没有充分的理由为什么其中一个应该比另一个更快。在检查是否可以使用快速路径时,这很可能只是一个遗漏。