OpenGL:如何最小化绘图?

时间:2018-12-02 04:34:37

标签: opengl glut

我的OpenGL屏幕由2个三角形和1个纹理组成,仅此而已。我想尽可能少地更新屏幕,以节省电量并限制CPU / GPU的使用。不幸的是,当我的draw_scene例程提前返回而没有绘制任何内容时,即使我从未调用glutSwapBuffers,OpenGL屏幕也会变黑。顺便说一下,我的背景颜色不是黑色。看来,如果我不绘图,OpenGL窗口会丢失其内容。如何减少绘制的数量?

1 个答案:

答案 0 :(得分:1)

现代图形系统假定启动重绘时,将重绘全部内容。此外,如果您从图形系统收到重绘事件,那通常是因为窗口的内容变得不确定,需要重新创建,因此在这种情况下您必须重绘。

为了节省电量,您必须禁用空闲循环(或仅将所有进行的操作都忽略并立即让其返回给OS调度程序),并且没有计时器创建事件。