diff options
Diffstat (limited to 'src/mbgl/renderer/renderer_impl.cpp')
-rw-r--r-- | src/mbgl/renderer/renderer_impl.cpp | 11 |
1 files changed, 8 insertions, 3 deletions
diff --git a/src/mbgl/renderer/renderer_impl.cpp b/src/mbgl/renderer/renderer_impl.cpp index 21ff8ed478..780a30f271 100644 --- a/src/mbgl/renderer/renderer_impl.cpp +++ b/src/mbgl/renderer/renderer_impl.cpp @@ -67,9 +67,14 @@ void Renderer::Impl::setObserver(RendererObserver* observer_) { } void Renderer::Impl::render(const UpdateParameters& updateParameters) { - // Don't load/render anyting in still mode until explicitly requested. - if (updateParameters.mode == MapMode::Still && !updateParameters.stillImageRequest) return; - + // Avoid redundant render calls in still mode if: + // - It has not been explicitly requested (no still image request); or + // - Style is not loaded yet + if (updateParameters.mode == MapMode::Still + && (!updateParameters.stillImageRequest || !updateParameters.styleLoaded)) { + return; + } + assert(BackendScope::exists()); const bool zoomChanged = zoomHistory.update(updateParameters.transformState.getZoom(), updateParameters.timePoint); |