#1424 closed task (fixed)
html5: faster network layer, input devices, etc
Reported by: | Antoine Martin | Owned by: | alas |
---|---|---|---|
Priority: | major | Milestone: | 2.0 |
Component: | html5 | Version: | trunk |
Keywords: | Cc: |
Description
Follow up from #1341.
Video / paint:
- either fix broadway, or get native video decoding to play properly without buffering too much
process_interval
should not be hardcoded?
Network layer:
onmessage
should not copy bytes at a time (see ticket:1341#comment:12)- less wasteful process_xxxx_queue" timers scheduling
process_receive_queue
should not use recursion
Input devices:
- throttle tablet input events / #1390
Attachments (5)
Change History (11)
Changed 5 years ago by
Attachment: | test-slow-send.patch added |
---|
Changed 5 years ago by
Attachment: | html5-zerocopy.patch added |
---|
implement zero copy in network layer - only aggregate chunks if we have to, do it using fast set method
Changed 5 years ago by
Attachment: | html5-timers-managed.patch added |
---|
try to manage the timers and only use them as needed - actually makes things slower
Changed 5 years ago by
Attachment: | html5-timers-managed-v2.patch added |
---|
alternative implementation of managed timers
comment:1 Changed 5 years ago by
Status: | new → assigned |
---|
- r15183 merges the zero copy code (and removes some unused variables, more removed in r15185)
- r15184: don't queue draws, r15187: lower timer delay
With these changes, testing with glxspheres at high res, the throughput and framerate are increased - but really not by much. And this is even more wasteful than before (running the timers at full speed), so r15188 switches to "on-demand" timers. (also a bit slower?)
Big question: how can we validate those changes better? We need reliable performance data to compare before and after, preferably using a real-world use case (not glxgears / glxspheres).. As some of these changes may actually make things worse.
comment:2 Changed 5 years ago by
- moving clipboard to its own ticket: #1461
- we try to clamp the windows to the browser's window area, but allow the user to move part of the window "off-screen" if they wish: r15241 - but there's a bug in the "draggable window" code, which is reporting coordinates out of range... and they get more and more out of range as we clamp the window, something is not getting updated somewhere
comment:3 Changed 5 years ago by
Owner: | changed from Antoine Martin to alas |
---|---|
Status: | assigned → new |
Summary: | html5: use video, faster network layer, input devices, etc → html5: faster network layer, input devices, etc |
- video support moved to #1463. (too late for this release)
- tablet input device is ready: ticket:1390#comment:1
@afarr: since we don't have a reliable way of measuring performance, I'm not sure there's anything here for you to test - feel free to close as FYI. (just bear in mind that the scrolling paint code still looks buggy with the html5 client: #1432?)
comment:4 Changed 5 years ago by
comment:6 Changed 17 months ago by
this ticket has been moved to: https://github.com/Xpra-org/xpra/issues/1424
make it easier to test slow network and packet aggregation in client receiver code