Xpra: Ticket #505: fix bottleneck with applications like gtkperf

The problem with gtkperf is that it creates thousands of windows, and destroys them before we get a chance to paint them, this causes too many new-window packets to be queued up, too many damage requests to clog up the encoding queue, all of it for mostly nothing. (see also #232)

We should be able to detect when we have too many short-lived windows and start delaying things by a few milliseconds, which should be enough for the window to get closed before we bother with all the expensive actions.

This is one of the very rare cases where older protocols like VNC still do better, because they do not have to worry about windows, just pixels, which makes things so much easier.



Sat, 15 Feb 2014 11:43:23 GMT - Antoine Martin: owner, status, description changed


Fri, 26 Dec 2014 04:54:51 GMT - Antoine Martin: milestone changed

We can't delay things in the server class which needs to keep track of things at all times, so this has to be done per-client in the server source class.

make_window_source is called from:


Fri, 23 Oct 2015 07:06:23 GMT - Antoine Martin: milestone changed

Re-scheduling.

We should not care too much about pathological cases like these, it makes us look good on benchmarks but that's all.


Tue, 27 Sep 2016 09:28:52 GMT - Antoine Martin: status changed; resolution set

Works well enough for me!


Thu, 02 Nov 2017 11:56:47 GMT - Antoine Martin: milestone changed; version set


Sat, 23 Jan 2021 04:57:38 GMT - migration script:

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