The client may offer an enhanced UI to let the user select which windows are more important (ie: #539), or we can detect which windows are more important: if a window is not shown on the current desktop, we don't need to refresh it at full speed!
when the window is not on the current workspace, limit its update speed
The patch above is in pretty good shape, it overloads the "buffer-refresh
" packet with the ability to:
The window refresh drops dramatically when it isn't on the current desktop (though still higher than I expected - to investigate)
before moving the window to another workspace on the left, after on the right
Merged in r5870, it works really well.
Here's the most extreme example, using the speed setting "low latency" with x264:
With more reasonable settings, the bandwidth savings are still impressive, usually about 8 times less once the throttling kicks in.
I am keeping the ticket open for further testing, and probably refactor the code a little to use it on suspend / resume (see #492)
Hooked into the power events callbacks in r5875 - see #492.
Will probably do more on this as part of #540.
this ticket has been moved to: https://github.com/Xpra-org/xpra/issues/543