[Xcb] Is there any way to intercept or generate protocol to an in-memory buffer?

Clemens Eisserer linuxhippy at gmail.com
Tue Dec 26 20:11:36 UTC 2017

Hi there,

I am currently trying to solve a performance problem in Java2D's
xrender backend.
What I actually would like to do is to defer the actual command
submission to the x-server in order to batch many small XPutImages to
one large XShmPutImage.
I could do this in my own code (log API calls to an application
managed buffer and call the coresponding Xlib/xcb functions later from
within a large protocol-decoding switch statement). However I wonder
if there isn't a more efficient way, given the fact that X's network
transparency introduces some kind of defering anyway.

Is there any way to intercept the protocol before it is sent to the X-Server?
Or in case interception is not supported, is there a way to let xcb
generate all protocol to a user-accessible / user-controlled buffer
and submit it manually to the x-server?

Thank you in advance and best regards, Clemens

More information about the Xcb mailing list