Skip to content
This repository has been archived by the owner on Aug 8, 2023. It is now read-only.

[core] Orchestration performance for styles with multiple sources #15756

Merged

Conversation

pozdnyakov
Copy link
Contributor

@pozdnyakov pozdnyakov commented Oct 3, 2019

RenderOrchestrator holds a vector of ordered rendered layers, in order to minimize calling of getRenderLayer(), which could be quite expensive as it calculates hash of the layer Id.

This change improves orchestration performance in particular for the styles that have multiple sources.

The API_renderStill_multiple_sources benchmark runs approximately 30% faster with the changes applied (x64 Linux desktop).

@pozdnyakov pozdnyakov added performance Speed, stability, CPU usage, memory usage, or power usage Core The cross-platform C++ core, aka mbgl labels Oct 3, 2019
@pozdnyakov pozdnyakov self-assigned this Oct 3, 2019
@pozdnyakov pozdnyakov force-pushed the mikhail_multiple_sources_orchestration_performance branch from 0a368d6 to b9292a8 Compare October 3, 2019 16:12
@pozdnyakov
Copy link
Contributor Author

cc @julianrex

@pozdnyakov pozdnyakov added the needs changelog Indicates PR needs a changelog entry prior to merging. label Oct 4, 2019
RenderOrchestrator holds a vector of ordered rendered layers,
in order to minimize calling of `getRenderLayer()`, which
could be quite expensive as it calculates hash of the layer Id.

This change improves orchestration performance in particular
for the styles that have multiple sources.

The `API_renderStill_multiple_sources` benchmark runs
approximately 70% faster with the changes applied.
@pozdnyakov pozdnyakov force-pushed the mikhail_multiple_sources_orchestration_performance branch from b9292a8 to af3dc5b Compare October 4, 2019 09:34
@pozdnyakov pozdnyakov requested a review from a team October 4, 2019 09:34
@pozdnyakov pozdnyakov added rendering and removed needs changelog Indicates PR needs a changelog entry prior to merging. labels Oct 4, 2019
@pozdnyakov pozdnyakov merged commit 946b9d2 into master Oct 4, 2019
@pozdnyakov pozdnyakov deleted the mikhail_multiple_sources_orchestration_performance branch October 4, 2019 10:16
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
Core The cross-platform C++ core, aka mbgl performance Speed, stability, CPU usage, memory usage, or power usage rendering
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants