Loading is slow, arrives in visible steps, and stutters the app
Three separate causes, on top of the throttled cache hits in #135:
- The client only asks again on the 2-second position poll.
mapFetchTiles
runs from mapDraw, so a viewport that needs six requests fills in over
twelve seconds, in visible bands. When something is still pending it should
ask again in a fraction of a second, not on the next heartbeat.
- 64 chunks a request against a region that yields 1024 at once.
- A real parse blocks the main thread for a few hundred milliseconds, which
is what the app freezing during a load actually is.
Say what an empty area is
A chunk nobody has generated draws as nothing, so an operator cannot tell "not
loaded yet" from "nothing there" from "broken" — and waits for a load that will
never come. Unrendered area needs to look deliberate: a themed panel in the
site's accent colour with a line saying nobody has been here.
Draw only where players have been
An option for the desktop: render only the chunks the server has actually
generated and stop at that boundary, rather than reaching further out as the
view moves.
Structure markers deserve icons
They are single letters in coloured dots. Each kind should have a small drawn
glyph.
The performance settings need a note
They are per server and apply to every surface — the desktop, the panel and the
public site all read the same tiles. Sitting in the desktop map they read as a
setting for that window.
Loading is slow, arrives in visible steps, and stutters the app
Three separate causes, on top of the throttled cache hits in #135:
mapFetchTilesruns from
mapDraw, so a viewport that needs six requests fills in overtwelve seconds, in visible bands. When something is still pending it should
ask again in a fraction of a second, not on the next heartbeat.
is what the app freezing during a load actually is.
Say what an empty area is
A chunk nobody has generated draws as nothing, so an operator cannot tell "not
loaded yet" from "nothing there" from "broken" — and waits for a load that will
never come. Unrendered area needs to look deliberate: a themed panel in the
site's accent colour with a line saying nobody has been here.
Draw only where players have been
An option for the desktop: render only the chunks the server has actually
generated and stop at that boundary, rather than reaching further out as the
view moves.
Structure markers deserve icons
They are single letters in coloured dots. Each kind should have a small drawn
glyph.
The performance settings need a note
They are per server and apply to every surface — the desktop, the panel and the
public site all read the same tiles. Sitting in the desktop map they read as a
setting for that window.