4 ms·
gtk+ certainly does use server-side textures and positioned draws. That is why the documentation is so adamant about using API like create_similar_surface(). E
by audidude 10y ago
gtk+ certainly does use server-side textures and positioned draws. That is why the documentation is so adamant about using API like create_similar_surface().
Even the pixelcache uses server-side textures when available.
This is what Xshm does and why everything modern uses it. You get a server-side texture, but mapped into client address space so you can do direct draws and then XCopyArea() into your final location for double-buffering.
But gtk+ isn't really in the position to be able to control everything so precisely all the way down the driver stack to network transparency layers. So unless you connect to our process directly, like the HTML5 broadway backend, there is only so much we can do.
The broadway backend does employ various techniques to reduce the amount of content passed using a sort of rolling hash.
https://git.gnome.org/browse/gtk+/tree/gdk/broadway/broadway-buffer.c https://git.gnome.org/browse/gtk+/tree/gdk/broadway/broadway...
I expect forthcoming app/display network transparency layers in GNOME's Wayland compositor to employ a similar strategy.