Port WebGL renderer to requestRenderFrame

This commit is contained in:
Tom Payne
2012-10-04 11:13:40 +02:00
parent 12099bab56
commit 783dfe0618
3 changed files with 30 additions and 38 deletions

View File

@@ -604,9 +604,17 @@ ol.renderer.webgl.Map.prototype.removeLayerRenderer = function(layer) {
ol.renderer.webgl.Map.prototype.render = function() {
if (!this.getMap().isDef()) {
return false;
return;
}
var requestRenderFrame = false;
this.forEachReadyVisibleLayer(function(layer, layerRenderer) {
if (layerRenderer.render()) {
requestRenderFrame = true;
}
});
var size = /** @type {ol.Size} */ this.getMap().getSize();
if (!this.canvasSize_.equals(size)) {
this.canvas_.width = size.width;
@@ -684,7 +692,9 @@ ol.renderer.webgl.Map.prototype.render = function() {
gl.drawArrays(goog.webgl.TRIANGLE_STRIP, 0, 4);
}, this);
return animate;
if (requestRenderFrame) {
this.getMap().requestRenderFrame();
}
};