举例:
在客户端 - 服务器模型中,客户端发出的命令不会 必须立即发送到服务器。如果客户端和 服务器通过网络,发送效率非常低 通过网络的各个命令。相反,命令可以是 在客户端缓冲,然后在稍后发送到服务器 时间点。因此,需要有一种机制 客户端知道服务器何时完成先前的执行 提交的命令。
OpenGL®ES2.0编程指南 - Aaftab Munshi,Dan Ginsburg,Dave Shreiner
另一方面,实现了OpenGL错误报告机制(glGetError
)和其他内容,以便实现最少的检查以实现最大性能。
如果客户端 - 服务器架构不是客户端 - 服务器(独立吗?),那么它是不是比较慢?是否真的值得使用客户端 - 服务器架构在不同的机器上工作?
答案 0 :(得分:4)
虽然OpenGL旨在实现客户端 - 服务器实现,但特定实现可以直接以直接呈现方式实现,即OpenGL调用立即执行或稍有延迟。
然而,必须明确指出客户端 - 服务器架构并不意味着性能损失。实际上,OpenGL的异步执行模型允许实现在操作执行的细节方面有很多余地,通过内部重新排列操作的顺序,可以实现比直接有序执行更好的吞吐量。唯一的要求是,操作的结果必须与那些按顺序执行的操作相匹配。但这与现代CPU上的无序执行没有什么不同。
另一方面,实现了OpenGL错误报告机制(glGetError)和其他内容,以便实现最少的检查以实现最大性能。
嗯,实际上OpenGL需要大量内部错误检查和验证(这是Vulkan解决的问题之一,允许在发布版本中禁用或删除此错误检查和验证)。所以你的陈述不准确。