我目前正在使用openGL对游戏进行编码,而且我已经进入了第一人称模式控制摄像机的阶段。\#34;与W& S,用鼠标旋转。
出于某种原因,当我处于窗口模式时,我移动和旋转的速度似乎比全屏时的速度快很多,但这不是我的主要问题。的(* 1)
由于上述原因,我决定将游戏限制为全屏。
我的关卡是一个立方体,每一边都是不同的RGB颜色,当我快速移动鼠标时,关卡的角落变得非常块状,直到我减速。的(* 2)
任何人都知道问题是什么(* 1,* 2)。
我试图为你们截取它,但它在截图中看起来很正常。
答案 0 :(得分:2)
使用glutGet(GLUT_ELAPSED_TIME)
:
void displayCallback()
{
int start = glutGet(GLUT_ELAPSED_TIME);
drawFrame();
glutSwapBuffers();
int end = glutGet(GLUT_ELAPSED_TIME);
cout << "Frame time: " << (end-start) << "ms" << endl;
}
如果他们在16-17ms左右,你很可能会有一些vsync。管理vsync取决于系统,包括访问方法和可靠性:(
你最好的选择是frame-rate independence,所以无论你跑得多快/慢,你都能做正确的事。