Allow canvas reuse for WebGL layers

This commit is contained in:
Tim Schaub
2021-11-06 12:09:08 -06:00
parent a1b8f08bca
commit a2f3c02ac5
13 changed files with 527 additions and 44 deletions
-13
View File
@@ -195,12 +195,6 @@ class WebGLTileLayerRenderer extends WebGLLayerRenderer {
* @private
*/
this.tileTextureCache_ = new LRUCache(cacheSize);
/**
* @type {number}
* @private
*/
this.renderedOpacity_ = NaN;
}
afterHelperCreated() {
@@ -318,7 +312,6 @@ class WebGLTileLayerRenderer extends WebGLLayerRenderer {
this.preRender(gl, frameState);
const viewState = frameState.viewState;
const layerState = frameState.layerStatesArray[frameState.layerIndex];
const extent = getRenderExtent(frameState, frameState.extent);
const tileLayer = this.getLayer();
const tileSource = tileLayer.getSource();
@@ -505,12 +498,6 @@ class WebGLTileLayerRenderer extends WebGLLayerRenderer {
const canvas = this.helper.getCanvas();
const opacity = layerState.opacity;
if (this.renderedOpacity_ !== opacity) {
canvas.style.opacity = String(opacity);
this.renderedOpacity_ = opacity;
}
const tileTextureCache = this.tileTextureCache_;
while (tileTextureCache.canExpireCache()) {
const tileTexture = tileTextureCache.pop();