QField icon indicating copy to clipboard operation
QField copied to clipboard

Consider additional strategies for preview rendering beyond map canvas

Open class77 opened this issue 7 months ago • 4 comments

What is the bug or the crash? What were your expectations and what actually happened?

Hi,

I'm using qfield on iOS version 3.6.2, with a custom map of railroad tracks, In the previous versions, when I enabled location tracking and compass tracking, the point moved across the screen, and beyond a certain point, the map moved and reload,

In the latest version the screen now moves a bit with each move, but the map won't refresh entierely until it reaches almost the end of the screen, some layers information is missing and not render, the screen has to move quite far before the map reloads the missing elements, sometimes leaving a large part of the map empty, if I manually move with my finger everything loads again.

I have attached some screenshots

sorry if my english is not perfect im a french user 🤣

I already tick the new option "render preview content arround visible map canvas"

Image

Image

Steps to reproduce the issue

Load a map and move with GPS without touch anything

Version

3.6.2

Operating system name

iOS

Operating system version

ios 18.5

Reinstall QField

  • [x] I have a fresh install of the latest QField version, but the problem persists.
  • [x] Problem can be reliably reproduced, doesn't happen randomly.
  • [ ] Problem happens with all files and projects, not only some files or projects.

Additional context

No response

class77 avatar Jun 06 '25 19:06 class77

Update, still hapening with 3.6.4

class77 avatar Jun 11 '25 05:06 class77

@class77 , hey there, thanks for the report. What you are seeing is a revamped map canvas locked to position behavior we put in place for QField 3.6. We are looking into feedback such as yours to improve the UX.

The main benefit is - as I'm sure you've seen - that the position remains constantly on the center of your screen. To achieve that, we do preview rendering of content behind the visible edge of the map canvas so we can slide the map canvas without having to refresh for every single position change. The preview tiles drawn outside of the map canvas are optimized for speedy rendering with the aim of reducing CPU cost. In order to do that, labels are skipped there, as well as any heavy vector or raster layer that takes a long time to render.

So for e.g. here I assume this is why your labels are cut off.

One thing we could tweak is how far away from the center of the re-rendered screen should we trigger another rendering.

nirvn avatar Jun 18 '25 09:06 nirvn

@class77 , the latest version, QField 3.6.6, should have improved things on this front by refreshing the map as soon as we reach the edge of non preview tiles. Let us know if that helped out.

nirvn avatar Jun 21 '25 02:06 nirvn

@nirvn Thanks for the update, I just tried it, There is an improvement, the map updates when the unlabeled part reaches my GPS position, would it be possible to preload a few more of the map in order to keep more data on the screen all the time? Example if the canvas on the screen is 100% when the canvas reached our position it moved about half,

After that I have a fairly specific use of Qfield which does not necessarily correspond to what it was originally intended for, I can understand if it is not possible to do better 😁

It's already a great achievement to be able to use a map with so much data in such a lightweight application! Image

class77 avatar Jun 21 '25 09:06 class77

Hi, just a quick idea which would allow the problem to be corrected very easily Could there be a map refresh every X seconds? If we assume that most people use the GPS on our phones which are updated every 1 second, if the map is refreshed, let's say every 10 seconds, that would limit the appearance of areas without data when moving Thank you for your support

class77 avatar Sep 23 '25 13:09 class77

(sorry I couldn't comment without closing the topic)

class77 avatar Sep 23 '25 13:09 class77