【发布时间】:2015-08-27 16:43:29
【问题描述】:
我一直在对我的游戏引擎进行一些基准测试,发现了一个罪魁祸首:
glfwPollevents();
我已经对此进行了彻底的计时,并且 95% 的时间都按预期运行,但有时它会占用我更新间隔的 5-200%(即 1/60 秒)。我真的不知道是什么原因造成的。在这些巨大的民意调查中,没有调用我定义的回调。一切都很安静。这是完全不可预测的。
我有一些理论: 1. 调度程序在函数内的某处中断。这不太可能发生,我会在循环的其他部分看到相同的行为,但我没有。
有一些我不知道的邪恶回调在某处被调用并占用时间。
lwjgl 问题。 LWJGL 是来自 glfw 的包装器,因此它可以在 Java 中使用,我就是这样做的。
驱动程序,但是哪个?
【问题讨论】:
-
你安装了哪些回调?如果它实际上的行为方式与您讨论的方式相同,我怀疑 VSYNC 已打开,并且可能卡在您的刷新窗口回调中。
-
我只为键和鼠标创建了回调,而不是窗口。如果你还没有创建它,它就不会捉弄你,对吧?