-
Notifications
You must be signed in to change notification settings - Fork 692
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
perf: de-prioritize rendering non-visible tiles #10183
base: master
Are you sure you want to change the base?
perf: de-prioritize rendering non-visible tiles #10183
Conversation
The TileCombined's dimension, i.e. its _width and _height, is not fixed in the streaming TileCombined ctor (line ~404). |
I need clarification regarding the IDLE criteria, which shall allow sending the invisible tiles. |
50a1781
to
2841348
Compare
Force push resolved merge conflict with latest master tip as detected with the bots. I must have pushed it this morning in-between. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks, some useful cleanups here perhaps - though the algorithm used doesn't seem to match what was asked for. Let me paste that again:
a) only render & send those that are inside a visible area and
b) re-spin the main-loop and
c) only render non-visible tiles when there is nothing else to do =)
Was there a problem with detecting nothing else to do in c) - I would expect that is reasonably easy to detect - when we found nothing to read from our remote socket, and had a non-zero timeout to poll for.
"an attempt to reduce bandwidth to client" - this is primarily a way of reducing latency, by not spending time rendering not-yet-seen tiles - and prioritizing visible tiles over non-visible ones. Nothing to do with bandwidth in particular.
It would be good to cleanup the ordering functionality at the same time though eg. // FIXME: it's not that clear what good this does for us ... Around thumbnailing slides - while ensuring that whatever algorithm we use doesn't create starvation problems. |
…const` Signed-off-by: Sven Göthel <[email protected]> Change-Id: Ic71b03747e57976ce4ac69a5f97a015d5d210648
As an attempt to increase responsiveness for client, we only send invisible requested combined-tiles if IDLE. IDLE is determined if socket poll timed out, i.e. nothing else to do for client. Signed-off-by: Sven Göthel <[email protected]> Change-Id: Ic71b03747e57976ce4ac69a5f97a015d5d210648
2841348
to
3a3acc9
Compare
Looking at it, it only pushes leading preview-tiles to the end of the queue Our IDLE/invisible mechanism act above the produced 'popWholeTileQueue'
Since out IDLE/invisible mechanism includes the preview-tile order, see above, |
Offered the optional Tile/TileCombined intersection test patch via |
COOL 24.04 Cypress (desktop) — FAILURE: |
Summary
Only render invisible combined-tiles if IDLE
As an attempt to increase responsiveness for client,
we only send invisible requested combined-tiles if IDLE.
IDLE is determined if socket poll timed out, i.e. nothing else to do for client.
Checklist
make prettier-write
and formatted the code.make check
make run
and manually verified that everything looks okay