首先理解下绘图过程:
无非是把数据从系统内存
中复制到图形卡
,然后绘制出图形
OpenGL设计模式
OpenGL是按照客户机-服务器
模式设计
客户端:
- 负责发送OpenGL命令
-
CPU
上面存储的代码,比如OpenGLApi,C和C++代码
服务端:
- 负责接收OpenGL命令并执行相应的操作
- 调用的是
GPU
芯片
进一步阐述
-
客户端是存储在
CPU
储存器中的,并且在应用程序
中执行或者在主系统内存中驱动程序
中执行。驱动程序
会将渲染命令
和数组
组合起来,发送给服务器执行! -
服务器和客户端在
功能上也是异步
的。客户端不断的把数据块和命令块组合在⼀起输送到缓冲区,然后缓冲区就会发送到服务器执行 -
管线停滞:在以下两种情况会发生
1)服务器停⽌工作等待客户机
2)客户机停⽌工作来等待服务器做好接受更多的命令和准备
不同角度理解:
-
软件:
客户端:我们编写的程序
服务端:计算机图形硬件制造商提供的OpenGL的实现 -
个人计算机:
客户端:CPU、内存等硬件,以及用户编写的OpenGL程序
服务端:OpenGL驱动程序、显示设备(实际上就是图形加速卡上的硬件和内存)
网友评论