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

Sometimes we only request two rows of tiles in writer on an initial load #7760

Merged
merged 1 commit into from Dec 14, 2023

Conversation

caolanm
Copy link
Contributor

@caolanm caolanm commented Nov 30, 2023

Sometimes we only request and only get two rows of tiles in writer on an initial load. Most frequently I see this with a non-debug online server via nextcloud of the default "Welcome to Nextcloud" docx in firefox in the 2nd or 3rd tab of opening the same document. While the page doesn't visually resize there is a resize delivered after the initial request of tiles.

Change-Id: Id263adbbd98ad0a7c6143d241d0d91e1c28eaac5

  • Resolves: #
  • Target version: master

Summary

TODO

  • ...

Checklist

  • Code is properly formatted
  • All commits have Change-Id
  • I have run tests with make check
  • I have issued make run and manually verified that everything looks okay
  • Documentation (manuals or wiki) has been updated or is not required

@caolanm caolanm force-pushed the private/caolanm/resize_after_initial_tile_request branch 7 times, most recently from c754284 to e6508eb Compare December 5, 2023 12:24
Sometimes we only request and only get two rows of tiles in writer on an
initial load. Most frequently I see this with a non-debug online server
via nextcloud of the default "Welcome to Nextcloud" docx in firefox in
the 2nd or 3rd tab of opening the same document. While the page doesn't
visually resize there is a resize delivered after the initial request
of tiles.

clientvisiblearea x=-8160 y=0 width=28785 height=1575 splitx=0 splity=0 Socket.js:272:10
clientzoom tilepixelwidth=256 tilepixelheight=256 tiletwipwidth=1920 tiletwipheight=1920 Socket.js:272:10
tilecombine nviewid=0 part=0 width=256 height=256 tileposx=0,1920,3840,5760,7680,9600,11520 tileposy=0,0,0,0,0,0,0 oldwid=0,0,0,0,0,0,0 tilewidth=1920 tileheight=1920 Socket.js:272:10
...
tile: nviewid=1001 part=0 width=256 height=256 tileposx=0 tileposy=0 tilewidth=1920 tileheight=1920 oldwid=1 wid=72 ver=92 Socket.js:272:10
tile: nviewid=1001 part=0 width=256 height=256 tileposx=1920 tileposy=0 tilewidth=1920 tileheight=1920 oldwid=1 wid=73 ver=93 Socket.js:272:10
tile: nviewid=1001 part=0 width=256 height=256 tileposx=3840 tileposy=0 tilewidth=1920 tileheight=1920 oldwid=1 wid=74 ver=94 Socket.js:272:10
tile: nviewid=1001 part=0 width=256 height=256 tileposx=5760 tileposy=0 tilewidth=1920 tileheight=1920 oldwid=1 wid=75 ver=95 Socket.js:272:10
tile: nviewid=1001 part=0 width=256 height=256 tileposx=7680 tileposy=0 tilewidth=1920 tileheight=1920 oldwid=1 wid=76 ver=96 Socket.js:272:10
tile: nviewid=1001 part=0 width=256 height=256 tileposx=9600 tileposy=0 tilewidth=1920 tileheight=1920 oldwid=1 wid=77 ver=97 Socket.js:272:10
tile: nviewid=1001 part=0 width=256 height=256 tileposx=11520 tileposy=0 tilewidth=1920 tileheight=1920 oldwid=1 wid=78 ver=98 Socket.js:272:10
...
tileprocessed tile=0:0:0:0:1920:1920:1001,0:0:1920:0:1920:1920:1001,0:0:3840:0:1920:1920:1001,0:0:5760:0:1920:1920:1001,0:0:7680:0:1920:1920:1001,0:0:9600:0:1920:1920:1001,0:0:11520:0:1920:1920:1001 Socket.js:272:10
...
DEBUG: sizeincreased CanvasTileLayer.js:5702:11
...
tilecombine nviewid=0 part=0 width=256 height=256 tileposx=0,1920,3840,5760,7680,9600,11520 tileposy=1920,1920,1920,1920,1920,1920,1920 oldwid=0,0,0,0,0,0,0 tilewidth=1920 tileheight=1920 Socket.js:272:10
tile: nviewid=1001 part=0 width=256 height=256 tileposx=0 tileposy=1920 tilewidth=1920 tileheight=1920 oldwid=1 wid=71 ver=99 Socket.js:272:10
tile: nviewid=1001 part=0 width=256 height=256 tileposx=1920 tileposy=1920 tilewidth=1920 tileheight=1920 oldwid=1 wid=79 ver=100 Socket.js:272:10
tile: nviewid=1001 part=0 width=256 height=256 tileposx=3840 tileposy=1920 tilewidth=1920 tileheight=1920 oldwid=1 wid=80 ver=101 Socket.js:272:10
tile: nviewid=1001 part=0 width=256 height=256 tileposx=5760 tileposy=1920 tilewidth=1920 tileheight=1920 oldwid=1 wid=81 ver=102 Socket.js:272:10
tile: nviewid=1001 part=0 width=256 height=256 tileposx=7680 tileposy=1920 tilewidth=1920 tileheight=1920 oldwid=1 wid=82 ver=103 Socket.js:272:10
tile: nviewid=1001 part=0 width=256 height=256 tileposx=9600 tileposy=1920 tilewidth=1920 tileheight=1920 oldwid=1 wid=83 ver=104 Socket.js:272:10
tile: nviewid=1001 part=0 width=256 height=256 tileposx=11520 tileposy=1920 tilewidth=1920 tileheight=1920 oldwid=1 wid=84 ver=105 Socket.js:272:10
tileprocessed tile=0:0:0:1920:1920:1920:1001,0:0:1920:1920:1920:1920:1001,0:0:3840:1920:1920:1920:1001,0:0:5760:1920:1920:1920:1001,0:0:7680:1920:1920:1920:1001,0:0:9600:1920:1920:1920:1001,0:0:11520:1920:1920:1920:1001 Socket.js:272:10
...
clientvisiblearea x=-8160 y=0 width=28785 height=12075 splitx=0 splity=0 Socket.js:272:10
...
...no tile requests...

Signed-off-by: Caolán McNamara <caolan.mcnamara@collabora.com>
Change-Id: Id263adbbd98ad0a7c6143d241d0d91e1c28eaac5
@caolanm caolanm force-pushed the private/caolanm/resize_after_initial_tile_request branch from e6508eb to 0eda6ad Compare December 5, 2023 21:19
@caolanm caolanm requested a review from eszkadev December 6, 2023 12:36
Copy link
Contributor

@Ashod Ashod left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Could this be related to the threading issue, fixed in #7820? And if so, would this patch still be preferred?

@caolanm
Copy link
Contributor Author

caolanm commented Dec 12, 2023

This one I see in normal use, not just with wasm. This one is more common with firefox I think. And I typically see it on the welcome to nextcloud default document.

@caolanm caolanm requested a review from mmeeks December 13, 2023 14:55
@caolanm
Copy link
Contributor Author

caolanm commented Dec 13, 2023

Had this again today with (non-debug) online ba536c3 and core 2e57d87

Captured the deferred log from protocol dumping: example.log

What I see as unusual vs the working case is the clientvisiblearea lines
1702477719537.OUTGOING.clientvisiblearea x=-8160 y=0 width=28785 height=1575 splitx=0 splity=0
which is unusually short (and not representative of my actual browser height)
and then
1702477721957.OUTGOING.clientvisiblearea x=-8160 y=0 width=28785 height=12075 splitx=0 splity=0
which is not followed by any tiles, so I end up with just one row at the top of the document

@caolanm
Copy link
Contributor Author

caolanm commented Dec 13, 2023

And I managed to capture a log with this patch applied where we still have that initial:

1702479723439.OUTGOING.clientvisiblearea x=-8160 y=0 width=28785 height=1575 splitx=0 splity=0
but end up with a full screen of tiles.

after.log

@caolanm caolanm merged commit fe32aef into master Dec 14, 2023
12 checks passed
@caolanm caolanm deleted the private/caolanm/resize_after_initial_tile_request branch December 14, 2023 10:28
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
Archived in project
Development

Successfully merging this pull request may close these issues.

None yet

3 participants