Always create layer renderer, even when layer is invisible or not ready
This is necessary because it is the layer renderer that is responsible for triggering a render when a layer loads or becomes visible.
This commit is contained in:
@@ -121,14 +121,11 @@ ol.renderer.canvas.Map.prototype.renderFrame = function(frameState) {
|
|||||||
|
|
||||||
goog.array.forEach(frameState.layersArray, function(layer) {
|
goog.array.forEach(frameState.layersArray, function(layer) {
|
||||||
|
|
||||||
|
var layerRenderer = this.getLayerRenderer(layer);
|
||||||
var layerState = frameState.layerStates[goog.getUid(layer)];
|
var layerState = frameState.layerStates[goog.getUid(layer)];
|
||||||
if (!layerState.visible) {
|
if (!layerState.visible || !layerState.ready) {
|
||||||
return;
|
|
||||||
} else if (!layerState.ready) {
|
|
||||||
frameState.animate = true;
|
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
var layerRenderer = this.getLayerRenderer(layer);
|
|
||||||
layerRenderer.renderFrame(frameState, layerState);
|
layerRenderer.renderFrame(frameState, layerState);
|
||||||
|
|
||||||
var image = layerRenderer.getImage();
|
var image = layerRenderer.getImage();
|
||||||
|
|||||||
@@ -79,12 +79,11 @@ ol.renderer.dom.Map.prototype.renderFrame = function(frameState) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
goog.array.forEach(frameState.layersArray, function(layer) {
|
goog.array.forEach(frameState.layersArray, function(layer) {
|
||||||
var layerState = frameState.layerStates[goog.getUid(layer)];
|
|
||||||
if (!layerState.ready) {
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
var layerRenderer = this.getLayerRenderer(layer);
|
var layerRenderer = this.getLayerRenderer(layer);
|
||||||
layerRenderer.renderFrame(frameState, layerState);
|
var layerState = frameState.layerStates[goog.getUid(layer)];
|
||||||
|
if (layerState.visible && layerState.ready) {
|
||||||
|
layerRenderer.renderFrame(frameState, layerState);
|
||||||
|
}
|
||||||
}, this);
|
}, this);
|
||||||
|
|
||||||
if (!this.renderedVisible_) {
|
if (!this.renderedVisible_) {
|
||||||
|
|||||||
@@ -525,12 +525,11 @@ ol.renderer.webgl.Map.prototype.renderFrame = function(frameState) {
|
|||||||
++this.textureCacheFrameMarkerCount_;
|
++this.textureCacheFrameMarkerCount_;
|
||||||
|
|
||||||
goog.array.forEach(frameState.layersArray, function(layer) {
|
goog.array.forEach(frameState.layersArray, function(layer) {
|
||||||
var layerState = frameState.layerStates[goog.getUid(layer)];
|
|
||||||
if (!layerState.visible || !layerState.ready) {
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
var layerRenderer = this.getLayerRenderer(layer);
|
var layerRenderer = this.getLayerRenderer(layer);
|
||||||
layerRenderer.renderFrame(frameState, layerState);
|
var layerState = frameState.layerStates[goog.getUid(layer)];
|
||||||
|
if (layerState.visible && layerState.ready) {
|
||||||
|
layerRenderer.renderFrame(frameState, layerState);
|
||||||
|
}
|
||||||
}, this);
|
}, this);
|
||||||
|
|
||||||
var size = frameState.size;
|
var size = frameState.size;
|
||||||
|
|||||||
Reference in New Issue
Block a user