gpt4 book ai didi

java - glfw pollevents() 真的非常慢

转载 作者:行者123 更新时间:2023-11-30 07:58:39 24 4
gpt4 key购买 nike

我一直在对我的游戏引擎进行一些基准测试,并发现了一个错误的罪魁祸首:

glfwPollevents();

我对此进行了彻底的计时,95% 的时间它的表现符合预期,但有时它会占用我的更新间隔的 5-200%(即 1/60 秒)。我真的不知道是什么原因造成的。在这些巨大的民意调查期间,没有调用我定义的回调。一切都很安静。这是完全不可预测的。

我有一些理论:1. 调度程序在函数内的某个地方中断。这不太可能,而且我会在循环的其他部分看到相同的行为,但我没有。

  • 有一些我不知道的邪恶回调正在被调用并消耗时间。

  • lwjgl 问题。 LWJGL 是 glfw 的包装器,因此可以在 Java 中使用,我也是这么做的。

  • 驱动程序,但是哪个?

  • 最佳答案

    glfwPollEvents();是特定于操作系统的系统调用的包装器,使您能够检查应用于窗口的任何事件。有很多事情都算作事件,包括用户级别的内容(例如选择窗口或调整窗口大小),还包括 GLFW 不允许您访问的系统级别的内容。有很多事情可能会导致像您所描述的短暂中断/挂起。

    一般来说,最好的建议是在不同的线程上处理渲染,并使用消息队列指示主线程执行“主线程关键任务”(例如打开新窗口或其他类似的重要任务)。

    关于java - glfw pollevents() 真的非常慢,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32255136/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com