abort rendering early when we don't need to

when rendering still images, we don't need to render until everything is completely loaded
This commit is contained in:
Konstantin Käfer
2015-05-12 17:30:40 +02:00
parent 3ec48b1030
commit e274959753

View File

@@ -216,6 +216,11 @@ void MapContext::render() {
// Cleanup OpenGL objects that we abandoned since the last render call.
env.performCleanup();
if (data.mode == MapMode::Still && (!callback || !data.getFullyLoaded())) {
// We are either not waiting for a map to be rendered, or we don't have all resources yet.
return;
}
assert(style);
if (!painter) {
@@ -226,7 +231,7 @@ void MapContext::render() {
painter->setDebug(data.getDebug());
painter->render(*style, transformState, data.getAnimationTime());
if (data.mode == MapMode::Still && callback && style->isLoaded() && resourceLoader->getSprite()->isLoaded()) {
if (data.mode == MapMode::Still) {
callback(view.readStillImage());
callback = nullptr;
}