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

html5 2.2 updates #1581

Closed
totaam opened this issue Jul 15, 2017 · 14 comments
Closed

html5 2.2 updates #1581

totaam opened this issue Jul 15, 2017 · 14 comments

Comments

@totaam
Copy link
Collaborator

totaam commented Jul 15, 2017

Issue migrated from trac ticket # 1581

component: html5 | priority: major | resolution: fixed

2017-07-15 14:21:43: antoine created the issue


Follow up from #1491 (for 2.1).

Now also on github where pull requests can be submitted: [https://github.com/totaam/xpra-html5/]

@totaam
Copy link
Collaborator Author

totaam commented Aug 16, 2017

2017-08-16 12:43:12: antoine changed status from new to assigned

@totaam
Copy link
Collaborator Author

totaam commented Aug 16, 2017

2017-08-16 12:43:12: antoine commented


As part of the network layer work (#1590), it would be very useful to hook into the Network Information API to have some information about the type of connection the browser is using, what latency can be expected, get notified about (dis)connection events, etc
This information could be provided to the server as hints it can feed into its own heuristics.

@totaam
Copy link
Collaborator Author

totaam commented Sep 2, 2017

2017-09-02 05:08:43: antoine edited the issue description

@totaam
Copy link
Collaborator Author

totaam commented Sep 11, 2017

2017-09-11 12:51:13: antoine commented


As of r16824, we expose this information to the server as "connection-data" for each client that provides it.

The big problem is that this connection API looks buggy as hell, at least the downlink value is.
Here is some data with a Fedora 26 server, chrome 62 Fedora 26 client, the "download" value is nowhere near the system settings (values are in bits per second):

  • 100 Mbps interface: 'rtt': 100, 'downlink': 100000, 'effective-type': '4g', 1000 times less!
  • same interface but reconfigured as half-duplex 10Mbps with ethtool -s eth0 speed 10 duplex half : 'rtt': 300, 'downlink': 1350000, 'effective-type': '3g', closer only ~6 times lower... (same values with full duplex)
  • after re-configuring it to 100 Mbps.. now same as 10 Mbps...
  • loopback interface: 'rtt': 100, 'effective-type': '4g'
  • chrome 61 on win32 connecting via a paravirtualized network driver (1000Mbps?): 'rtt': 100, 'downlink': 1450000, 'effective-type': '4g'
  • Windows 7 server, Linux client over paravirtualized network driver: 'rtt': 100, 'effective-type': '4g'
  • Windows 7 server, local client: 'rtt': 75, 'downlink': 1450000, 'effective-type': '4g'

Firefox 55 and Safari 10.1.2 have no support for this API yet.

So, if anything the "effective-type" is more reliable than the "downlink" value.
And I've tried turning on and off my network interfaces, the "onchange" event handler never fired... so we can't use that to detect when the network connection drops.

@totaam
Copy link
Collaborator Author

totaam commented Oct 5, 2017

2017-10-05 07:14:01: antoine commented


See OffscreenCanvas: it isn't supported everywhere but it could potentially speed things up quite a bit, allowing us to split the picture decoding and the actual paint. (exactly like the regular client does with its decode thread)
See also ticket/1637#comment:2, we should already be able to decode pictures in parallel (as long as the browser supports this) and only update the canvas in the right order.

@totaam
Copy link
Collaborator Author

totaam commented Oct 24, 2017

2017-10-24 17:19:40: antoine changed status from assigned to new

@totaam
Copy link
Collaborator Author

totaam commented Oct 24, 2017

2017-10-24 17:19:40: antoine changed owner from antoine to maxmylyn

@totaam
Copy link
Collaborator Author

totaam commented Oct 24, 2017

2017-10-24 17:19:40: antoine commented


Updates:

Will follow up in #1670.

@maxmylyn: just a FYI, feel free to close. (SB might want to merge some of this)

@totaam
Copy link
Collaborator Author

totaam commented Oct 27, 2017

2017-10-27 18:29:33: maxmylyn changed status from new to closed

@totaam
Copy link
Collaborator Author

totaam commented Oct 27, 2017

2017-10-27 18:29:33: maxmylyn set resolution to fixed

@totaam
Copy link
Collaborator Author

totaam commented Oct 27, 2017

2017-10-27 18:29:33: maxmylyn commented


Noted and closing.

@totaam totaam closed this as completed Oct 27, 2017
@totaam
Copy link
Collaborator Author

totaam commented Nov 28, 2017

2017-11-28 11:02:25: antoine commented


See also #1689, #1586 and #1712.

r17467: adds webp decoding (#1694)

@totaam
Copy link
Collaborator Author

totaam commented Jan 2, 2018

2018-01-02 15:52:40: antoine commented


The bandwidth detection code caused a regression: #1729#comment:13

@totaam
Copy link
Collaborator Author

totaam commented May 29, 2018

2018-05-29 16:09:06: antoine commented


See also: #1860 detect wifi connections (jittery) which causes problems like #1855

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