哪个线程会调用 GLFW 回调?

问题描述 投票:0回答:2

我发现这些函数可以为来自硬件的事件注册回调(也许吧?我不确定)。

喜欢以下功能。

glfwSetCursorPosCallback(window, mouse_callback);
glfwSetScrollCallback(window, scroll_callback);

很好奇这些函数是怎么调用的。 GLFW 是否通过

glfwInit
创建一个新线程来循环这些功能?或者 GLFW 是否注册了一些监听器来监听来自不同硬件的这些事件?

glfw
2个回答
0
投票

我跟踪运行的程序,发现在主线程中调用了该函数。而且我发现该函数在 glfwPollEvents 中被调用。这意味着硬件输入保存在缓冲区中,opengl 将获取输入并进行回调。


0
投票

大部分 GLFW API 被指定仅在主线程(您的应用程序启动的线程)上使用。每个回调都将在此线程上执行,在对

glfwPollEvents
glfwWaitEvents
的调用中。您的回调将永远不会在任何其他线程上执行。

© www.soinside.com 2019 - 2024. All rights reserved.