Xpra: Ticket #76: try to minimize round trips: send pixel data with new override-redirect windows

On high latency links, the number of round trips required can cause the UI to look sluggish.

The server currently sends a "new-override-redirect" or "new-window" packet, the client then creates the window.

For override redirect windows, the damage data is sent in the next packet. The pixel data could be combined to ensure the window's contents are available as soon as it is shown.

For regular windows the server waits for the client's "map-window" event to actually configure it and make it visible (using the client's specified coordinates and size) and then requests the damage data. This one is more difficult: we could pre-configure the window and send the pixel data with the "new-window" packet, but if the client somehow maps the window to a different coordinates or size, the response will require the window to be moved/resized and the new damage data to be sent... (which is actually worse)



Fri, 03 Feb 2012 18:37:11 GMT - Antoine Martin: attachment set

this patch combines the new-override-redirect with the window's draw packet


Mon, 20 Feb 2012 19:33:03 GMT - Antoine Martin: owner, status, milestone changed


Fri, 04 May 2012 09:55:11 GMT - Antoine Martin: milestone changed

Looking at this again and I can't understand my earlier reasoning, the server does this:

        self._do_send_new_window_packet("new-override-redirect", window, geometry, properties)
        (_, _, w, h) = geometry
        self._damage(window, 0, 0, w, h)

So the window's pixels will be sent in the next packet after the "new-window" packet. The only case where this would make a difference is when the link is already saturated and window batching is in place: the pixels would then get delayed a little bit...

It would be good to get feedback from those experiencing this issue regularly before doing anything about it... so delaying for now.


Mon, 23 Jul 2012 17:18:55 GMT - Antoine Martin: status changed; resolution set

Probably not worth doing, closing.


Sat, 23 Jan 2021 04:44:52 GMT - migration script:

this ticket has been moved to: https://github.com/Xpra-org/xpra/issues/76