From 0c23d9a7ff3ba2300b9246236f19593eb4d405cc Mon Sep 17 00:00:00 2001 From: Andreas Hocevar Date: Thu, 4 Feb 2016 13:55:56 +0100 Subject: [PATCH] Keep track of tile source count --- externs/olx.js | 1 + src/ol/map.js | 3 ++- src/ol/renderer/layerrenderer.js | 1 + src/ol/source/rastersource.js | 1 + 4 files changed, 5 insertions(+), 1 deletion(-) diff --git a/externs/olx.js b/externs/olx.js index 827f4485d4..5d858c0d40 100644 --- a/externs/olx.js +++ b/externs/olx.js @@ -7008,6 +7008,7 @@ olx.view.FitOptions.prototype.maxZoom; * size: ol.Size, * skippedFeatureUids: Object., * tileQueue: ol.TileQueue, + * tileSourceCount: number, * time: number, * usedTiles: Object.>, * viewState: olx.ViewState, diff --git a/src/ol/map.js b/src/ol/map.js index 0ea3ae32c6..fe05b5bf50 100644 --- a/src/ol/map.js +++ b/src/ol/map.js @@ -1027,7 +1027,7 @@ ol.Map.prototype.handlePostRender = function() { maxTotalLoading = this.loadTilesWhileInteracting_ ? 8 : 0; maxNewLoads = 2; } - tileSourceCount = Object.keys(frameState.wantedTiles).length; + tileSourceCount = frameState.tileSourceCount; } maxTotalLoading *= tileSourceCount; maxNewLoads *= tileSourceCount; @@ -1332,6 +1332,7 @@ ol.Map.prototype.renderFrame_ = function(time) { size: size, skippedFeatureUids: this.skippedFeatureUids_, tileQueue: this.tileQueue_, + tileSourceCount: 0, time: time, usedTiles: {}, viewState: viewState, diff --git a/src/ol/renderer/layerrenderer.js b/src/ol/renderer/layerrenderer.js index 67902b8fae..6bb4ba492a 100644 --- a/src/ol/renderer/layerrenderer.js +++ b/src/ol/renderer/layerrenderer.js @@ -298,6 +298,7 @@ ol.renderer.Layer.prototype.manageTilePyramid = function( var tileSourceKey = goog.getUid(tileSource).toString(); if (!(tileSourceKey in frameState.wantedTiles)) { frameState.wantedTiles[tileSourceKey] = {}; + ++frameState.tileSourceCount; } var wantedTiles = frameState.wantedTiles[tileSourceKey]; var tileQueue = frameState.tileQueue; diff --git a/src/ol/source/rastersource.js b/src/ol/source/rastersource.js index 3e3090327a..ec11a98e30 100644 --- a/src/ol/source/rastersource.js +++ b/src/ol/source/rastersource.js @@ -122,6 +122,7 @@ ol.source.Raster = function(options) { size: [0, 0], skippedFeatureUids: {}, tileQueue: this.tileQueue_, + tileSourceCount: 0, time: Date.now(), usedTiles: {}, viewState: /** @type {olx.ViewState} */ ({