Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/360.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python glut显示功能的频率_Python_Opengl_Glut - Fatal编程技术网

Python glut显示功能的频率

Python glut显示功能的频率,python,opengl,glut,Python,Opengl,Glut,我不明白到底是什么原因导致使用glut调用display函数 我使用pyopenglforpython。我的程序有一个update()函数,使用glutTimerFunc每隔60秒调用一次 这是在屏幕上修改对象的唯一功能,绝对没有其他功能。因此,我希望display函数在update函数运行后调用一次 但事实并非如此:在对update()的两次调用之间,display函数被调用了大约10次。这显然是一种浪费,我担心它会在更困难的时候减慢程序 它让我的电脑风扇发出噪音 我试图在更新函数的末尾添加一

我不明白到底是什么原因导致使用glut调用
display
函数

我使用pyopenglforpython。我的程序有一个
update()
函数,使用
glutTimerFunc
每隔60秒调用一次

这是在屏幕上修改对象的唯一功能,绝对没有其他功能。因此,我希望
display
函数在
update
函数运行后调用一次

但事实并非如此:在对
update()
的两次调用之间,
display
函数被调用了大约10次。这显然是一种浪费,我担心它会在更困难的时候减慢程序

它让我的电脑风扇发出噪音

我试图在更新函数的末尾添加一个
glutPostRedisplay()
,没有任何区别


有没有办法强迫glut仅在真正需要时调用
display

在结构合理的程序中,
glutPostRedisplay(…)
就是为了这个目的。如果您执行了需要重新绘制场景的操作,则调用它,GLUT将在稍后的时间点调用显示回调。它不会立即调用显示回调,而是延迟此调用,并且多个
glutPostRedisplay(…)
调用不一定会转换为每次调用一次。它类似于旧图形中的“脏”帧缓冲区,您知道它需要重新发布,并且在合乎逻辑的情况下,可以使用它;您每帧只能转换一次dirty。谢谢,但我仍然不明白为什么只有一个(或否)
GLUTPOSTRESDISPLAY
转换为多个
display
调用(您的评论解释了相反的情况)。