Bug 132438 - Very Slow scrolling or no scrolling at with Skia Raster or Vulkan very high resolution image (reasonable speed with OpenGL)
Summary: Very Slow scrolling or no scrolling at with Skia Raster or Vulkan very high r...
Status: RESOLVED FIXED
Alias: None
Product: LibreOffice
Classification: Unclassified
Component: Writer (show other bugs)
Version:
(earliest affected)
7.0.0.0.alpha0+
Hardware: All All
: medium normal
Assignee: Luboš Luňák
URL:
Whiteboard: target:7.0.0 target:7.1.0 target:7.0.1
Keywords:
Depends on:
Blocks: Skia
  Show dependency treegraph
 
Reported: 2020-04-26 18:38 UTC by Telesto
Modified: 2020-12-03 16:24 UTC (History)
1 user (show)

See Also:
Crash report or crash signature:


Attachments
Example file (351.97 KB, application/vnd.oasis.opendocument.text)
2020-05-12 09:14 UTC, Telesto
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Telesto 2020-04-26 18:38:02 UTC
Description:
Very Slow scrolling or no scrolling at with Skia Raster or Vulkan very high resolution image

Steps to Reproduce:
1. Download the attached image
2. Insert image & scroll slow

Source image: attachment 132958 [details]

Actual Results:
Very very slow

Expected Results:
(Very) Slow


Reproducible: Always


User Profile Reset: No



Additional Info:
Version: 7.0.0.0.alpha0+ (x64)
Build ID: f924658e45f256544e43c3fdb2af9b585d0f0933
CPU threads: 4; OS: Windows 6.3 Build 9600; UI render: Skia/Raster; VCL: win; 
Locale: nl-NL (nl_NL); UI-Language: en-US
Calc: CL

memcmp	2.15s	2.15s	21.38%	21.38%	VCRUNTIME140	[unknown]	0	0x7ffcb58b12de
fdtest	1.61s	1.61s	15.98%	15.98%	ucrtbase	[unknown]	0	0x7ffca8b36000
SkColorFilters::Blend	1.42s	4.80s	14.15%	47.75%	skialo	[unknown]	0	0x7ffc9245e814
GetMessageW	0.69s	0.69s	6.86%	6.86%	USER32	[unknown]	0	0x7ffcbdcc2685
fminf	0.64s	1.72s	6.40%	17.12%	ucrtbase	[unknown]	0	0x7ffca8b2f3a0
fmaxf	0.64s	1.17s	6.35%	11.61%	ucrtbase	[unknown]	0	0x7ffca8b2f328
Comment 1 Telesto 2020-04-26 18:42:35 UTC
Same can be observed scrolling attachment 123613 [details] in multipage view (less horrific)

So optimization wouldn't hurt, if possible :-)
Comment 2 Luboš Luňák 2020-05-12 08:17:34 UTC
The steps to reproduce are unclear. The "source image" is a text document.
Comment 3 Telesto 2020-05-12 08:23:51 UTC
(In reply to Luboš Luňák from comment #2)
> The steps to reproduce are unclear. The "source image" is a text document.

Most problematic is scrolling pag 17.. but not sure if it's worth looking into
Comment 4 Xisco Faulí 2020-05-12 08:55:49 UTC
(In reply to Telesto from comment #3)
> (In reply to Luboš Luňák from comment #2)
> > The steps to reproduce are unclear. The "source image" is a text document.
> 
> Most problematic is scrolling pag 17.. but not sure if it's worth looking
> into

Could you please create a minimized document ?
Comment 5 Telesto 2020-05-12 09:14:48 UTC
Created attachment 160715 [details]
Example file
Comment 6 QA Administrators 2020-05-13 03:52:14 UTC Comment hidden (obsolete)
Comment 7 Xisco Faulí 2020-05-13 12:33:48 UTC
Patch in gerrit: https://gerrit.libreoffice.org/c/core/+/94118
Moving to ASSIGNED
Comment 8 Telesto 2020-05-13 21:23:20 UTC
I'm noticing a hard coded 'cache'. In older versions this stuff could be configured.. not sure if people should fiddle around with it.. Expert configuration?

But I have see insane large (or awfully slow) PNG's/GIF's/SVG/EPS images.. (there are meta bugs for it).. And I remember also a few presentations.. with quite a lot of madness in it..
The might need for a large cache.. However, this image handling does caching too? So no clue how everything fits together.. 

Note to myself to check.. 
Bug 123180
Bug 113038
Comment 9 Commit Notification 2020-05-14 09:58:41 UTC
Luboš Luňák committed a patch related to this issue.
It has been pushed to "master":

https://git.libreoffice.org/core/commit/fc0bff85f3338cb4fe8f4d42421cb69801cb3abb

cache results of Skia's drawTransformedBitmap() (tdf#132438)

It will be available in 7.0.0.

The patch should be included in the daily builds available at
https://dev-builds.libreoffice.org/daily/ in the next 24-48 hours. More
information about daily builds can be found at:
https://wiki.documentfoundation.org/Testing_Daily_Builds

Affected users are encouraged to test the fix and report feedback.
Comment 10 Clemens Eisserer 2020-07-26 12:07:25 UTC
Just gave the attached document a try on my friend's haswell-era laptop (windows-10, skia/raster, intel haswell 4200u) and while it is useable, scrolling is still quite choppy with libreoffice + skia/raster - whereas with Word2013 scrolling is completly fluent and snappy.
Comment 11 Clemens Eisserer 2020-07-26 12:09:15 UTC
Forgot to link the recorded video of LibreOffice 7.0.2 skia/raster vs Word2013 scrolling: https://youtu.be/umgFyLVlC7I
Comment 12 Commit Notification 2020-07-27 13:58:50 UTC
Luboš Luňák committed a patch related to this issue.
It has been pushed to "master":

https://git.libreoffice.org/core/commit/4addedabe6778e70754709290502d721cdef796d

tweak not caching images in Skia drawing when upscaling (tdf#132438)

It will be available in 7.1.0.

The patch should be included in the daily builds available at
https://dev-builds.libreoffice.org/daily/ in the next 24-48 hours. More
information about daily builds can be found at:
https://wiki.documentfoundation.org/Testing_Daily_Builds

Affected users are encouraged to test the fix and report feedback.
Comment 13 Luboš Luňák 2020-07-27 14:00:04 UTC
The change from 2020-05-14 got later unintentionally affected by another change, but this recent commit should make things work again.
Comment 14 Commit Notification 2020-07-29 08:25:26 UTC
Luboš Luňák committed a patch related to this issue.
It has been pushed to "libreoffice-7-0":

https://git.libreoffice.org/core/commit/7057d6729c865eac4831f9c286421b553a7c4ee9

tweak not caching images in Skia drawing when upscaling (tdf#132438)

It will be available in 7.0.1.

The patch should be included in the daily builds available at
https://dev-builds.libreoffice.org/daily/ in the next 24-48 hours. More
information about daily builds can be found at:
https://wiki.documentfoundation.org/Testing_Daily_Builds

Affected users are encouraged to test the fix and report feedback.