【问题标题】:Is XCB ready for production use? Should I use Xlib instead?XCB 准备好用于生产了吗?我应该改用 Xlib 吗?
【发布时间】:2012-02-20 00:18:30
【问题描述】:

如果需要在不使用 GTK、QT 等的情况下对 X11 事件、窗口和输入进行低级别访问,应该使用 Xlib 还是 XCB?各有什么优缺点?

【问题讨论】:

  • qt5.5.0 使用 XCB 而不是 xlib。所以我假设 xcb 已经准备好用于生产了。
  • 如果您想获得高性能,请使用 XCB...以及由于缺乏文档而造成的合理痛苦(我喜欢 XCB,顺便说一句!)。此外,XCB 的一个很好的信息来源似乎是 X 协议本身,因为据我所知,XCB 是一个相当薄的层

标签: linux unix x11 window-managers xcb


【解决方案1】:

你可以同时使用它们。 XCB 使用更简单,对多线程环境有更好的响应,但缺乏文档,而 Xlib 是一个更过时/复杂的工具,文档更好,实现更全面。

我目前正在研究 XCB API,最难的事情是找到文档和好的 API 参考。

最后:如果你的目标是更快的开发,你应该使用 Xlib,否则 XCB 意味着未来(但它还远未成为这样)。

【讨论】:

  • ...最难的是找到文档和好的 API 参考... 非常正确。一些官方教程充满了错误,甚至无法编译。 Example
【解决方案2】:

在学习 XCB 时有什么帮助是查看 X11 规范,例如这里https://www.x.org/releases/current/doc/xproto/x11protocol.pdf

大多数 XCB 调用直接映射到 X11 请求。扩展也是如此。

【讨论】:

    猜你喜欢
    • 2012-04-25
    • 1970-01-01
    • 2014-03-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-02-24
    • 2011-07-14
    相关资源
    最近更新 更多