[openstreetmap/openstreetmap-website] "layeradd layerremove" event handlers dramatically slow down Map data layer rendering (Issue #5466)
Roman Deev
notifications at github.com
Sat Jan 4 19:29:16 UTC 2025
### URL
_No response_
### How to reproduce the issue?
I was trying to figure out why the Map Data layer is slow when displaying a lot of elements. In Firefox Profiler, I saw that a lot of time was spent on handlers for adding new objects to the map.
<img width="1360" alt="Снимок экрана 2025-01-04 в 21 18 56" src="https://github.com/user-attachments/assets/ebef23e6-1286-46af-a411-9b1fecfaa5f2" />
https://share.firefox.dev/4a3ZXM9
Specifically:
https://github.com/openstreetmap/openstreetmap-website/blob/95b919c5d1e33688b0841c7d38602372c2e4c4a3/app/assets/javascripts/index.js#L176-L184
I don’t understand why these handlers need to update data about the current coordinates, and to prove their uselessness I did the following:
1. Updated the page with Map Data enabled
2. Waited for the data to download
3. Allowed display of a large amount of data
Rendering took a few seconds.
After that, I did the same thing, but deleted the handlers with `map.off("layeradd layerremove")`. After that, the rendering is understated for less than a second.
https://github.com/user-attachments/assets/f8232635-7e97-4bd1-87ab-1d46b7b79e70
Further movement of the map is also noticeably faster and allows you to display tens of thousands of objects.
Note: `map` variable is not available by default, it is provided by my better-osm-org extension. This extension doesn't do anything else, and rendering performance doesn't depend on how it works.
You can also analyze the performance profile collected in the video: https://share.firefox.dev/4a3ZXM9
### Screenshot(s) or anything else?
_No response_
--
Reply to this email directly or view it on GitHub:
https://github.com/openstreetmap/openstreetmap-website/issues/5466
You are receiving this because you are subscribed to this thread.
Message ID: <openstreetmap/openstreetmap-website/issues/5466 at github.com>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.openstreetmap.org/pipermail/rails-dev/attachments/20250104/5d950bb1/attachment.htm>
More information about the rails-dev
mailing list