Skip to content

Optimize Layer Loading State Propagation and Event Handling #12869

Description

@dsuren1

Description

Improve layer loading performance for maps with a large number of layers by batching loading events, reducing unnecessary state updates and selector recalculations, and minimizing redundant UI rendering during tile load events.

The enhancement includes:

  • Batch onLayerLoading and onLayerLoad events across OpenLayers, and Cesium using a component-level HOC with deduplication, reducing redundant dispatches
  • Pass batched layer IDs directly from OpenLayers/Cesium instead of dispatching multiple actions for coalesced layers.
  • Avoid unnecessary layer and transient state updates when the loading state has not changed.
  • Reduce selector and UI recalculation by consuming layer loading state directly where required, including MapLoading and the TOC.
  • Buffer high-frequency OpenLayers tile load completion events to reduce dispatch bursts.

What kind of improvement you want to add? (check one with "x", remove the others)

  • Minor changes to existing features
  • Code style update (formatting, local variables)
  • Refactoring (no functional changes, no api changes)
  • Build related changes
  • CI related changes
  • Other... Please describe:

Other useful information

Security vulnerabilities

Do not report security vulnerabilities in public issues.

If you believe you have found a vulnerability in MapStore, please use GitHub private vulnerability reporting or contact the security address listed in SECURITY.md.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Projects

No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions