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

WIP: tiles rendering #11016

Draft
wants to merge 2 commits into
base: master
Choose a base branch
from
Draft

Conversation

eszkadev
Copy link
Contributor

No description provided.

Let's consider calc where we changed single column content.
We need to redraw tiles in a single column probably.
That was not possible to fetch in one go as we looked only
for horizontal adjacent tiles. Let's try to combine also
vertically.

Related to issue #10968 Preload more intelligently

After applying we can combine 2 tiles vertically:

kit-17619-17619 2025-01-24 18:38:40.239133 +0100 [ kitbroker_001 ] DBG  #21: child_ws: recv [tilecombine nviewid=1000 part=3 width=256 height=256 tileposx=49920,49920,49920,49920,49920 tileposy=207360,211200,215040,218880,222720 tilewidth=3840 tileheight=3840 ver=973,974,975,976,977 | kit/KitWebSocket.cpp:59
kit-17619-17619 2025-01-24 18:38:40.239167 +0100 [ kitbroker_001 ] TRC  KitQueue depth: 5| kit/KitQueue.cpp:424
kit-17619-17619 2025-01-24 18:38:40.239173 +0100 [ kitbroker_001 ] TRC  Combining candidate:  nviewid=1000 part=3 width=256 height=256 tileposx=49920 tileposy=211200 tilewidth=3840 tileheight=3840 ver=974| kit/KitQueue.cpp:460
kit-17619-17619 2025-01-24 18:38:40.239178 +0100 [ kitbroker_001 ] TRC  Combining candidate:  nviewid=1000 part=3 width=256 height=256 tileposx=49920 tileposy=215040 tilewidth=3840 tileheight=3840 ver=975| kit/KitQueue.cpp:460
kit-17619-17619 2025-01-24 18:38:40.239182 +0100 [ kitbroker_001 ] TRC  Combining candidate:  nviewid=1000 part=3 width=256 height=256 tileposx=49920 tileposy=218880 tilewidth=3840 tileheight=3840 ver=976| kit/KitQueue.cpp:460
kit-17619-17619 2025-01-24 18:38:40.239186 +0100 [ kitbroker_001 ] TRC  Combining candidate:  nviewid=1000 part=3 width=256 height=256 tileposx=49920 tileposy=222720 tilewidth=3840 tileheight=3840 ver=977| kit/KitQueue.cpp:460
kit-17619-17619 2025-01-24 18:38:40.239190 +0100 [ kitbroker_001 ] TRC  Combined 2 tiles, leaving 3 in queue.| kit/KitQueue.cpp:472
kit-17619-17619 2025-01-24 18:38:40.239196 +0100 [ kitbroker_001 ] TRC  KitQueue res:  nviewid=1000 part=3 width=256 height=256 tileposx=49920,49920 tileposy=207360,211200 tilewidth=3840 tileheight=3840 ver=973,974| kit/KitQueue.cpp:482

Signed-off-by: Szymon Kłos <[email protected]>
Change-Id: Ie564c79fb3a462d9df8a5bcd7eb4addc42a1fcbe
Before we combined only directly adjacent tiles, now we can do it in range of 4 tiles

Related to issue #10968 Preload more intelligently

1. Test when scrolling down a lot:

BEFORE+++++++++++++++++++++++++++++++++++++++++++++++++++++
kit-17619-17619 2025-01-24 18:38:40.239133 +0100 [ kitbroker_001 ] DBG  #21: child_ws: recv [tilecombine nviewid=1000 part=3 width=256 height=256 tileposx=49920,49920,49920,49920,49920 tileposy=207360,211200,215040,218880,222720 tilewidth=3840 tileheight=3840 ver=973,974,975,976,977 | kit/KitWebSocket.cpp:59
kit-17619-17619 2025-01-24 18:38:40.239167 +0100 [ kitbroker_001 ] TRC  KitQueue depth: 5| kit/KitQueue.cpp:424
kit-17619-17619 2025-01-24 18:38:40.239173 +0100 [ kitbroker_001 ] TRC  Combining candidate:  nviewid=1000 part=3 width=256 height=256 tileposx=49920 tileposy=211200 tilewidth=3840 tileheight=3840 ver=974| kit/KitQueue.cpp:460
kit-17619-17619 2025-01-24 18:38:40.239178 +0100 [ kitbroker_001 ] TRC  Combining candidate:  nviewid=1000 part=3 width=256 height=256 tileposx=49920 tileposy=215040 tilewidth=3840 tileheight=3840 ver=975| kit/KitQueue.cpp:460
kit-17619-17619 2025-01-24 18:38:40.239182 +0100 [ kitbroker_001 ] TRC  Combining candidate:  nviewid=1000 part=3 width=256 height=256 tileposx=49920 tileposy=218880 tilewidth=3840 tileheight=3840 ver=976| kit/KitQueue.cpp:460
kit-17619-17619 2025-01-24 18:38:40.239186 +0100 [ kitbroker_001 ] TRC  Combining candidate:  nviewid=1000 part=3 width=256 height=256 tileposx=49920 tileposy=222720 tilewidth=3840 tileheight=3840 ver=977| kit/KitQueue.cpp:460
kit-17619-17619 2025-01-24 18:38:40.239190 +0100 [ kitbroker_001 ] TRC  Combined 2 tiles, leaving 3 in queue.| kit/KitQueue.cpp:472
kit-17619-17619 2025-01-24 18:38:40.239196 +0100 [ kitbroker_001 ] TRC  KitQueue res:  nviewid=1000 part=3 width=256 height=256 tileposx=49920,49920 tileposy=207360,211200 tilewidth=3840 tileheight=3840 ver=973,974| kit/KitQueue.cpp:482
...
kit-17619-17619 2025-01-24 18:38:40.240723 +0100 [ kitbroker_001 ] DBG  paintPartTile      2 tiles at (49920, 207360), (3840, 7680)  took 1444us (90.7701 MP/s).| common/RenderTiles.hpp:134

COMBINED 2

AFTER++++++++++++++++++++++++++++++++++++++++++++++++++++++
kit-30108-30108 2025-01-24 19:13:48.862157 +0100 [ kitbroker_002 ] DBG  #21: child_ws: recv [tilecombine nviewid=1000 part=3 width=256 height=256 tileposx=0,3840,7680,11520,15360,19200 tileposy=107520,107520,107520,107520,107520,107520 tilewidth=3840 tileheight=3840 ver=500,501,502,503,504,505 | kit/KitWebSocket.cpp:59
kit-30108-30108 2025-01-24 19:13:48.862199 +0100 [ kitbroker_002 ] TRC  KitQueue depth: 6| kit/KitQueue.cpp:424
kit-30108-30108 2025-01-24 19:13:48.862214 +0100 [ kitbroker_002 ] TRC  Combining candidate:  nviewid=1000 part=3 width=256 height=256 tileposx=3840 tileposy=107520 tilewidth=3840 tileheight=3840 ver=501| kit/KitQueue.cpp:460
kit-30108-30108 2025-01-24 19:13:48.862226 +0100 [ kitbroker_002 ] TRC  Combining candidate:  nviewid=1000 part=3 width=256 height=256 tileposx=7680 tileposy=107520 tilewidth=3840 tileheight=3840 ver=502| kit/KitQueue.cpp:460
kit-30108-30108 2025-01-24 19:13:48.862236 +0100 [ kitbroker_002 ] TRC  Combining candidate:  nviewid=1000 part=3 width=256 height=256 tileposx=11520 tileposy=107520 tilewidth=3840 tileheight=3840 ver=503| kit/KitQueue.cpp:460
kit-30108-30108 2025-01-24 19:13:48.862254 +0100 [ kitbroker_002 ] TRC  Combining candidate:  nviewid=1000 part=3 width=256 height=256 tileposx=15360 tileposy=107520 tilewidth=3840 tileheight=3840 ver=504| kit/KitQueue.cpp:460
kit-30108-30108 2025-01-24 19:13:48.862265 +0100 [ kitbroker_002 ] TRC  Combining candidate:  nviewid=1000 part=3 width=256 height=256 tileposx=19200 tileposy=107520 tilewidth=3840 tileheight=3840 ver=505| kit/KitQueue.cpp:460
kit-30108-30108 2025-01-24 19:13:48.862275 +0100 [ kitbroker_002 ] TRC  Combined 5 tiles, leaving 1 in queue.| kit/KitQueue.cpp:472
kit-30108-30108 2025-01-24 19:13:48.862290 +0100 [ kitbroker_002 ] TRC  KitQueue res:  nviewid=1000 part=3 width=256 height=256 tileposx=0,3840,7680,11520,15360 tileposy=107520,107520,107520,107520,107520 tilewidth=3840 tileheight=3840 ver=500,501,502,503,504| kit/KitQueue.cpp:482
...
kit-30108-30108 2025-01-24 19:13:48.866132 +0100 [ kitbroker_002 ] DBG  paintPartTile      5 tiles at (0, 107520), (19200, 3840)  took 3613us (90.6947 MP/s).| common/RenderTiles.hpp:134

COMBINED 5

-------------------------------------------------------------------

2. Test when changing the column background color

BEFORE++++++++++++++++++++++++++++++++++++++++
kit-17014-17014 2025-01-24 19:29:16.111993 +0100 [ kitbroker_002 ] TRC  Combined 7 tiles, leaving 0 in queue.| kit/KitQueue.cpp:472

ONLY SINGLE ROW

AFTER++++++++++++++++++++++++++++++++++++++++++++
kit-30959-30959 2025-01-24 19:24:15.670147 +0100 [ kitbroker_002 ] TRC  Combined 10 tiles, leaving 4 in queue.| kit/KitQueue.cpp:472

TWO ROWS COMBINED

Signed-off-by: Szymon Kłos <[email protected]>
Change-Id: Icb19e75b6caf2f9e54129c3ca21ca9ed2733afc4
@eszkadev eszkadev added the draft label Jan 24, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
Status: To Review
Development

Successfully merging this pull request may close these issues.

1 participant