Skip to content

Conversation

@pull
Copy link

@pull pull bot commented May 2, 2024

See Commits and Changes for more details.


Created by pull[bot]

Can you help keep this open source service alive? 💖 Please sponsor : )

@pull pull bot added the ⤵️ pull label May 2, 2024
apps4av and others added 24 commits August 11, 2024 15:04
Permit reuse of datagram sockets
Partial fix to issue #365

This commit addresses two issues with tile rendering that cause the display
to have black regions (missing tiles) where it shouldn't.

In Preferences.java, it increases the tile budget by a factor of 2.
Specifically, it divides by 0.5, my understanding of the smallest zoom size
before we flip to the next zoom level.  I used a float there as documentation
because maybe someday that magic number changes?
==> But let me know if I should just ditch the goofy float math and int-multiply by 2.

That fix wasn't enough, because I'd still see missing tiles because the budget
gets clipped by getTilesNumber to the MEM_*_{X,Y} memory limits. The biggest memory
limit was based on a whopping 192MB device. My tablet has 4GB and would like more
tiles, please. I added a MEM_512 tier with 13×11 tiles.
==> I don't know how the MEM_512_OH value should be calculated. Suggestions invited.

In the process of diagnosing these issues, I was getting terribly confused by
the draw loop in Tile.java. I refactored it a little to extract some
expressions that have intuitive meaning (tileXIndex, tileYIndex, centerTileX,
centerTileY) and compute based on those. I think this change is just aesthetic.

I tested this manually on an Android emulator by reproducing zoom levels that cause
trouble on my tablet.
Fix missing tiles by accounting for zoomed-out tiles and extending memory budget on big RAM devices
Add HeartbeatMessage to BufferProcessor
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants