C++ CPU智能OpenGL函数
我正在使用Visual Studio 2013和OpenGL创建模拟。 我使用keboard输入来对变量进行某些更改,在创建的窗口中可以看到更新 但是,在我按键后和窗口上更改的输出之间有一个小延迟 我尝试使用VisualStudio诊断工具,发现有两个关键功能需要CPU密集型 一个是我创建的用户函数,另一个是“display/main/\uu tmainCRTStartup/mainCRTStartup” 我假设这是一个过剩函数。这是正常的还是我做错了什么 任何帮助都将不胜感激C++ CPU智能OpenGL函数,c++,visual-studio,opengl,C++,Visual Studio,Opengl,我正在使用Visual Studio 2013和OpenGL创建模拟。 我使用keboard输入来对变量进行某些更改,在创建的窗口中可以看到更新 但是,在我按键后和窗口上更改的输出之间有一个小延迟 我尝试使用VisualStudio诊断工具,发现有两个关键功能需要CPU密集型 一个是我创建的用户函数,另一个是“display/main/\uu tmainCRTStartup/mainCRTStartup” 我假设这是一个过剩函数。这是正常的还是我做错了什么 任何帮助都将不胜感激 void key
void keyboard (unsigned char key, int x, int y)
{
switch (key)
{
case 'r': case 'R':
if (filling==0)
{
glPolygonMode (GL_FRONT_AND_BACK, GL_FILL);
filling=1;
}
else
{
glPolygonMode (GL_FRONT_AND_BACK, GL_POINT);
filling=0;
}
break;
case 27:
exit(0);
break;
}
}
我把代码复制到一个新项目中,我把显示函数改为画一个三角形,它工作得非常快 (我知道这应该是评论,而不是回答,但我没有足够的声誉来添加评论) 你可以改变
glTranslatef(x_translate,0.0,0.0);
glTranslatef(0.0,y_translate,0.0);
glTranslatef(0,0,z_translate);
到
我把代码复制到一个新项目中,我把显示函数改为画一个三角形,它工作得非常快 (我知道这应该是评论,而不是回答,但我没有足够的声誉来添加评论) 你可以改变
glTranslatef(x_translate,0.0,0.0);
glTranslatef(0.0,y_translate,0.0);
glTranslatef(0,0,z_translate);
到
mainCRTStartup
是调用main
的运行库父函数。所以它告诉你的是,main
占用了很多时间,这是合理的。我会尝试向该循环添加一个Sleep(0)或Sleep(10),看看它是否有任何区别,并删除glFlush();停止使用固定管道,也许它会运行得更快;)mainCRTStartup
是调用main
的运行库父函数。所以它告诉你的是,main
占用了很多时间,这是合理的。我会尝试向该循环添加一个Sleep(0)或Sleep(10),看看它是否有任何区别,并删除glFlush();停止使用固定管道,也许它会运行得更快;)
glTranslatef(x_translate,0.0,0.0);
glTranslatef(0.0,y_translate,0.0);
glTranslatef(0,0,z_translate);
glTranslatef(x_translate,y_translate,z_translate);