Switch to canvas rendering for station icons #18
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
I have decided to move to canvas rendering for station icons after seeing the performance increase it offered with launch sites.
This change does require more initial files and slightly degrades zoom quality but the overall experience is considerably improved.
I have measured page performance for SondeHub V2 (Google Maps), SondeHub V2 (Leaflet, DOM rendering), and SondeHub V2 (Leaflet, canvas rendering).
The base frame rate is ~25fps for Google Maps and ~80 for both Leaflet versions when the map is still.
When moving the map the google frame rate is ~5fps, ~25fps for Leaflet DOM, and ~70fps for Leaflet canvas.
This should ensure the map remains smooth to use on more devices.