户态执行系统调用来执行内核态操作，需要CPU切换为内核态，这将耗费微秒级的时间来完成。在此期间，CPU不能执行任何操作。为优化性能，必须极小化CPU这种模式切换。 Linux OpenGL驱动程序分为两部分：内核驱动与用户空间驱动。用户空间驱动把所有OpenGL命令翻译为机器码提交给GPU。为减少系统调用，用户空间驱动实现marshalling。当GPU的命令缓冲区（command buffer）装满了绘图数据，API简单地把请求绘制的调用存放在一个临时缓冲区；当命令缓冲区接近为空，执行内核模式切换一次性增