Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/visual-studio/8.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++ CPU智能OpenGL函数_C++_Visual Studio_Opengl - Fatal编程技术网

C++ CPU智能OpenGL函数

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

我正在使用Visual Studio 2013和OpenGL创建模拟。 我使用keboard输入来对变量进行某些更改,在创建的窗口中可以看到更新

但是,在我按键后和窗口上更改的输出之间有一个小延迟

我尝试使用VisualStudio诊断工具,发现有两个关键功能需要CPU密集型

一个是我创建的用户函数,另一个是“display/main/\uu tmainCRTStartup/mainCRTStartup”

我假设这是一个过剩函数。这是正常的还是我做错了什么

任何帮助都将不胜感激

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);