Bug 85847 - android: Implement layers of tiles instead of a huge background image
Summary: android: Implement layers of tiles instead of a huge background image
Status: RESOLVED WONTFIX
Alias: None
Product: LibreOffice
Classification: Unclassified
Component: Android Viewer (show other bugs)
Version:
(earliest affected)
4.4.0.0.alpha0+ Master
Hardware: Other All
: medium normal
Assignee: Not Assigned
URL:
Whiteboard:
Keywords:
Depends on:
Blocks: mabAndroid
  Show dependency treegraph
 
Reported: 2014-11-04 10:08 UTC by Jan Holesovsky
Modified: 2017-03-06 16:14 UTC (History)
1 user (show)

See Also:
Crash report or crash signature:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Jan Holesovsky 2014-11-04 10:08:21 UTC
At the moment, we use one large background image for the user to see where about he/she is in the document.  This has 2 problems, especially with large documents:

* The entire document has to be rendered on startup, which eats terrible amount 
  of time

* The bitmap has so bad resolution, that it looks confusing, and is mostly
  unusable.

Instead of one large bitmap, we need several layers that contain tiles of lower and lower resolution.

Layer 1: The tiles at 1:1 zoom

Layer 2: Tiles at 1:4

Layer 3: Tiles at 1:16

Layer 4: Tiles at 1:64

Layer 5: Tiles at 1:256

...

Layer X: Just 1 tile at 1:4^(X-1)

This is not a huge amount of tiles - we are not supposed to keep all of them, we can throw away the ones on X-1 layers variously, as in bug 85846.

On startup, the layers should be filled in this way:

* First Layer 1 - the tiles that intersect the visible area (so that the user gets the view as the first thing).

* Then the some higher layer, like Layer 3, again only the tiles that intersect the visible area + one tile before + one tile after (so that the scrolling immediately gives ~something)

* Then (when idle) the higher layers, up to Layer X - so that there is always something to render, without having to fetch it first

On scroll, always present the highest quality - can happen to be a combination of various layers, combining the worse and better quality; but fetch the best ones accordingly.
Comment 1 QA Administrators 2016-02-21 08:36:47 UTC Comment hidden (obsolete)
Comment 2 QA Administrators 2017-03-06 15:37:59 UTC Comment hidden (obsolete)
Comment 3 Jan Holesovsky 2017-03-06 16:14:05 UTC
With editing, this does not make much sense anyway, let's WONTFIX this.  I'd be for dropping the background image for good, and instead speed up the tiles generation ;-)