您可以在一个应用程序中使用多个 Xlib Display 连接和多个eglDisplay 连接吗
与eglDisplay一对一共享显示。
不共享窗户或表面。
是否可以?有什么我应该知道的陷阱吗?
One to One sharing of Display to eglDisplay.
No sharing of windows or surfaces.
Is it possible? Are there any gotchas I should know about?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
您可以在程序中拥有任意数量的
Display
连接。唯一的潜在问题是同时从多个连接获取事件。您不能像在普通的单显示器应用程序中那样仅使用XNextEvent
来实现此目的。您需要从每个Display
中提取ConnectionNumber
,将它们放入fdset
中,并使用select
等待事件(至少在 POSIX 系统上)。然后在select
报告就绪的连接上调用XNextEvent
。我不确定
eglDisplay
,但考虑到它可以从Display
获取,我认为应该没有问题。You can have as many
Display
connections as you wish in your program. The only potential problem is getting events from many connections simultaneously. You can't just useXNextEvent
for that like in a normal single-display application. You need to extractConnectionNumber
from eachDisplay
, put them in anfdset
and wait for an event withselect
(on POSIX systems at least). Then callXNextEvent
on a connection thatselect
reports ready.I'm not sure about
eglDisplay
, but given that it can be obtained fromDisplay
, I'd say there should be no problem.