我有一个程序,其中有一个线程使用 XSendEvent
生成 Expose
消息。第二个线程接收 Expose
消息以及其他消息(主要是输入处理)。问题在于发送线程以恒定速率 (~60Hz) 发送 Expose
消息,但接收线程的渲染速度可能比该速率慢。 X11 队列将因额外的 Expose
消息而陷入困境,并且任何输入处理消息将开始落后于所有这些额外的 Expose
消息。
在 Windows 中,这不是问题,因为 Windows 会自动将所有 WM_PAINT 消息合并为单个消息。在X11中有什么方法可以做到这一点,或者有其他方法可以解决这个问题吗?
最佳答案
您可以自己轻松地与 XCheckTypedEvent()
和 friend 合并任何类型的事件。
关于c++ - 从 X11 队列中删除额外的公开消息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18659561/