Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/opengl/4.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
C++ OpenGL/GLUT GLUTIMERFUNC速度减慢_C++_Opengl_Glut - Fatal编程技术网

C++ OpenGL/GLUT GLUTIMERFUNC速度减慢

C++ OpenGL/GLUT GLUTIMERFUNC速度减慢,c++,opengl,glut,C++,Opengl,Glut,我有一个openGL/GLUT应用程序,它使用球碰撞检测。一切运转良好,一切运转良好。但是 当更新功能(推进所有球,检查与其他球或墙的碰撞等)被放置在GLUTIMERFUNC中进行更新时,我得到了一个很好的13.5 FPS,并且一切运行都很慢。函数本身的更新计时器足够高,不会产生任何开销 因此,现在我将碰撞检测的高级功能放在我的主绘图功能(由glutDisplayFunc和glutIdleFunc调用)中,惊喜惊喜惊喜我有稳定的60.5 FPS,没有延迟和平滑的动画 那么这怎么可能呢?这是否与G

我有一个openGL/GLUT应用程序,它使用球碰撞检测。一切运转良好,一切运转良好。但是

当更新功能(推进所有球,检查与其他球或墙的碰撞等)被放置在GLUTIMERFUNC中进行更新时,我得到了一个很好的13.5 FPS,并且一切运行都很慢。函数本身的更新计时器足够高,不会产生任何开销

因此,现在我将碰撞检测的高级功能放在我的主绘图功能(由glutDisplayFunc和glutIdleFunc调用)中,惊喜惊喜惊喜我有稳定的60.5 FPS,没有延迟和平滑的动画


那么这怎么可能呢?这是否与GLUTIMERFUNC被多次调用并使一切变慢这一事实有关,还是有什么GLUTIMERFUNC的原因?就像我说的,没有任何改变,只是一个函数被放置在另一个函数调用中。

这非常简单。不要使用过量。对于任何可靠的物理模拟,你都希望完全控制主回路。我同意CPP的观点,我最近抛弃了glut,发现glfw是一种无痛的替代品,可以让你控制主回路。