【发布时间】:2011-04-24 18:48:12
【问题描述】:
我刚开始使用 SFML 库,它很棒。但是,当通过用鼠标拖动角落来调整窗口大小时,直到我释放鼠标,我才会收到调整大小事件。这意味着在释放鼠标之前我无法更新我的图形(游戏循环在 gui 线程上),并且还会导致所有调整大小位置的大量事件发生。
我怎样才能使它在调整大小时不会阻塞线程?
【问题讨论】:
标签: windows opengl resize sfml
我刚开始使用 SFML 库,它很棒。但是,当通过用鼠标拖动角落来调整窗口大小时,直到我释放鼠标,我才会收到调整大小事件。这意味着在释放鼠标之前我无法更新我的图形(游戏循环在 gui 线程上),并且还会导致所有调整大小位置的大量事件发生。
我怎样才能使它在调整大小时不会阻塞线程?
【问题讨论】:
标签: windows opengl resize sfml
Windows 会导致这种情况。如果您移动或调整窗口大小,GetEvent() 将变为阻塞。 (讨厌这个操作系统的另一个有趣的小理由......)
我已经用一个单独的事件轮询线程解决了这个问题。看看这个: (对您来说有趣的部分完全在 main.cpp 中。)
https://bitbucket.org/torokati44/netframework/src/93bdf20d0f65/main.cpp
【讨论】: