我正在阅读this document 我对这句话有疑问:
虽然OpenGL明确要求按顺序完成命令, 这并不意味着两个(或更多)命令不能同时发生 执行。因此,可以从一个调色器调用 命令与其他人的着色器调用一起执行 命令。
这是否意味着,例如,当我发出两个连续的glDrawArrays调用时,第二个调用可能会在第一个调用完成之前立即处理?
我的第一个想法是OpenGL调用仅映射到gpu的内部命令,并且OpenGL调用在没有完成这些命令的情况下立即返回,从而使第二个OpenGL调用能够发出自己的内部命令。然后可以并行化OpenGL调用创建的内部命令。
答案 0 :(得分:0)
说的是,执行命令的确切顺序和任何并发性留待实现的判断,唯一的限制是最终结果必须看起来就像所有命令都已被执行一样按照客户端程序调用它们的顺序一个接一个。
编辑:某些OpenGL调用会导致隐式或显式同步。例如,回读像素或等待同步事件。