使用glut定时器控制帧率
来源:互联网 发布:ubuntu 查看内存占用 编辑:程序博客网 时间:2024/06/05 22:46
写了个程序,运行很慢,帧率很低,不知道什么原因,以为程序代码太多,执行太慢,经过不断的调试和验证,才弄明白。现在记录一下:
在glut函数中:
通过函数glutDisplayFunc(Draw);来设置需要显示的画面函数,虽然函数中有glutSwapBuffers();和glFlush();函数来刷新输出,但不会不断进行刷新。
如果需要不断刷新,则需要进行如下设置:
glutDisplayFunc(Draw);
glutIdleFunc(Draw); //增加idle时候的函数
但是这样的话,如果函数内容不多,则会刷新过快。于是要通过glut的定时器函数来控制帧率,定时进行glutPostRedisplay();
例程如下:
使用glutTimerFunc是因為我想要讓他固定每16ms更新畫面一次(FPS大約60)
void main()
{
glutInitDisplayMode( GLUT_DOUBLE | GLUT_RGBA );
glutInitWindowSize( 640,480 );
WinNumber=glutCreateWindow( "Test" );
glutDisplayFunc(display);
。。。。。。
glutTimerFunc(16, OnTimer, 1);
glutMainLoop();
}
void OnTimer(int value)
{
alpha++;
alpha=(alpha%256);
glutPostRedisplay();
glutTimerFunc(16, OnTimer, 1);
}
void display()
{
..........上略...............
glutSwapBuffers();
}
- 使用glut定时器控制帧率
- glut中定时器的使用
- glut使用
- OpenGL---GLUT键盘控制 .
- 使用定时器实现线程控制
- GLUT教程(五) GLUT键盘控制
- Win32控制台中使用定时器的方法
- glut使用示例
- 使用OpenGL中的GLUT
- dev c++使用glut
- Qt使用Glut库
- OpenGL---GLUT教程(五) GLUT键盘控制
- OpenGL---GLUT教程(七) GLUT高级键盘控制
- GLUT教程(七) GLUT高级键盘控制
- OpenGL---GLUT教程(五) GLUT键盘控制
- OpenGL---GLUT教程(七) GLUT高级键盘控制
- OpenGL---GLUT教程(五) GLUT键盘控制
- OpenGL---GLUT教程(七) GLUT高级键盘控制
- 关于extern "C"解释
- 程序员致富的若干方法探讨
- 随笔分页代码(小试身手)
- 斐波那契数列-专题讲解
- ThinkPhp框架研究之二 魔术函数 __call
- 使用glut定时器控制帧率
- 234234
- qt 获取windows 的消息(qt get message from win32 API )
- 办公助理工具--文件目录的读取与保存程序
- Mysql数据库插入数据时的乱码问题解决办法
- C++运算符优先级错误
- [MIT6.828]ELF文件格式
- 高中学历的PHP程序员如何找工作
- ruby编程规范