diff --git a/src/ol/renderer/canvas/tilelayer.js b/src/ol/renderer/canvas/tilelayer.js index 296a04d203..37c99abcf1 100644 --- a/src/ol/renderer/canvas/tilelayer.js +++ b/src/ol/renderer/canvas/tilelayer.js @@ -31,9 +31,9 @@ ol.renderer.canvas.TileLayer = function(tileLayer) { /** * @protected - * @type {Array.} + * @type {!Array.} */ - this.renderedTiles = null; + this.renderedTiles = []; /** * @protected @@ -122,7 +122,7 @@ ol.renderer.canvas.TileLayer.prototype.prepareFrame = function( var useInterimTilesOnError = tileLayer.getUseInterimTilesOnError(); - var tmpExtent = ol.extent.createEmpty(); + var tmpExtent = this.tmpExtent; var tmpTileRange = new ol.TileRange(0, 0, 0, 0); var childTileRange, fullyLoaded, tile, x, y; var drawableTile = ( @@ -162,7 +162,8 @@ ol.renderer.canvas.TileLayer.prototype.prepareFrame = function( /** @type {Array.} */ var zs = Object.keys(tilesToDrawByZ).map(Number); zs.sort(ol.array.numberSafeCompareFunction); - var renderables = []; + var renderables = this.renderedTiles; + renderables.length = 0; var i, ii, currentZ, tileCoordKey, tilesToDraw; for (i = 0, ii = zs.length; i < ii; ++i) { currentZ = zs[i]; @@ -174,7 +175,6 @@ ol.renderer.canvas.TileLayer.prototype.prepareFrame = function( } } } - this.renderedTiles = renderables; this.updateUsedTiles(frameState.usedTiles, tileSource, z, tileRange); this.manageTilePyramid(frameState, tileSource, tileGrid, pixelRatio,