Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

allow the client more control over window update speed #543

Closed
totaam opened this issue Mar 20, 2014 · 9 comments
Closed

allow the client more control over window update speed #543

totaam opened this issue Mar 20, 2014 · 9 comments

Comments

@totaam
Copy link
Collaborator

totaam commented Mar 20, 2014

Issue migrated from trac ticket # 543

component: core | priority: major | resolution: fixed

2014-03-20 11:24:47: totaam created the issue


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!

@totaam
Copy link
Collaborator Author

totaam commented Mar 20, 2014

2014-03-20 11:29:32: totaam uploaded file workspace-change-batch-delay.patch (16.8 KiB)

when the window is not on the current workspace, limit its update speed

@totaam
Copy link
Collaborator Author

totaam commented Mar 20, 2014

2014-03-20 11:31:59: totaam changed status from new to assigned

@totaam
Copy link
Collaborator Author

totaam commented Mar 20, 2014

2014-03-20 11:31:59: totaam changed owner from antoine to totaam

@totaam
Copy link
Collaborator Author

totaam commented Mar 20, 2014

2014-03-20 11:31:59: totaam commented


The patch above is in pretty good shape, it overloads the "buffer-refresh" packet with the ability to:

  • update the batch configuration fairly generically
  • update "client_properties" so we don't need to use a "configure-window" packet for property changes

The window refresh drops dramatically when it isn't on the current desktop (though still higher than I expected - to investigate)

@totaam
Copy link
Collaborator Author

totaam commented Mar 20, 2014

2014-03-20 14:11:20: totaam uploaded file window-throttled.png (13.7 KiB)

before moving the window to another workspace on the left, after on the right
window-throttled.png

@totaam
Copy link
Collaborator Author

totaam commented Mar 20, 2014

2014-03-20 14:13:39: totaam commented


Merged in r5870, it works really well.

Here's the most extreme example, using the speed setting "low latency" with x264:
[[Image(window-throttled.png)]]

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)

@totaam
Copy link
Collaborator Author

totaam commented Mar 21, 2014

2014-03-21 04:32:25: totaam changed status from assigned to closed

@totaam
Copy link
Collaborator Author

totaam commented Mar 21, 2014

2014-03-21 04:32:25: totaam changed resolution from ** to fixed

@totaam
Copy link
Collaborator Author

totaam commented Mar 21, 2014

2014-03-21 04:32:25: totaam commented


Hooked into the power events callbacks in r5875 - see #492.

Will probably do more on this as part of #540.

@totaam totaam closed this as completed Mar 21, 2014
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant