Discard unwanted tiles from tile queue

This commit is contained in:
Tom Payne
2013-01-18 16:36:26 +01:00
parent 111b4585a8
commit 1c524caae6
8 changed files with 63 additions and 23 deletions

View File

@@ -87,6 +87,7 @@ ol.renderer.canvas.TileLayer.prototype.renderFrame =
var tileLayer = this.getTileLayer();
var tileSource = tileLayer.getTileSource();
var tileSourceKey = goog.getUid(tileSource).toString();
var tileGrid = tileSource.getTileGrid();
var tileSize = tileGrid.getTileSize();
var z = tileGrid.getZForResolution(view2DState.resolution);
@@ -165,7 +166,7 @@ ol.renderer.canvas.TileLayer.prototype.renderFrame =
tileState = tile.getState();
if (tileState == ol.TileState.IDLE) {
tileCenter = tileGrid.getTileCoordCenter(tileCoord);
frameState.tileQueue.enqueue(tile, tileCenter, tileResolution);
frameState.tileQueue.enqueue(tile, tileSourceKey, tileCenter);
} else if (tileState == ol.TileState.LOADED) {
tilesToDrawByZ[z][tileCoord.toString()] = tile;
continue;
@@ -216,6 +217,7 @@ ol.renderer.canvas.TileLayer.prototype.renderFrame =
}
this.updateTileUsage(frameState.tileUsage, tileSource, z, tileRange);
this.updateWantedTiles(frameState.wantedTiles, tileSource, z, tileRange);
var transform = this.transform_;
goog.vec.Mat4.makeIdentity(transform);