【发布时间】:2015-04-05 17:23:16
【问题描述】:
我无法在 OS X 10.10 上使用 GL_PIXEL_PACK_BUFFER 获取像素缓冲区对象来使异步 glReadPixels 工作(它工作得很好,但没有加速)。
我从 glReadPixels 中的 GL_UNSIGNED_BYTE 切换到 GL_UNSIGNED_INT_8_8_8_8_REV
glReadPixels 从 20 毫秒下降到 0.6 毫秒——换句话说,它开始真正意义上的异步工作。
我的问题是: 将 GL_UNSIGNED_INT_8_8_8_8_REV 设置为像素格式是否可以在其他 mac 系统上使用,还是我需要全部测试?
【问题讨论】:
-
在任何情况下使用 PBO 都是异步的,格式无关紧要。完全不清楚您的问题到底是什么。
-
将 PBO 与 glreadpixels 一起使用是异步的,但 glreadPixels 需要 20 毫秒才能返回 GL_UNSIGNED_BYTE 和 0.6 与 GL_UNSIGNED_INT_8_8_8_8_REV - 使用 PBO 时。因此,对于 GL_UNSIGNED_BYTE,我失去了将其称为异步的价值,因为在分析器中,当 GL_UNSIGNED_BYTE 在我正在使用的英特尔 iris Macbook Pro 上打开时,您可以看到驱动程序同步执行整个调用。