Return directly when all we do is render queued images
This commit is contained in:
@@ -4,7 +4,7 @@
|
|||||||
import {getUid} from '../../util.js';
|
import {getUid} from '../../util.js';
|
||||||
import TileRange from '../../TileRange.js';
|
import TileRange from '../../TileRange.js';
|
||||||
import TileState from '../../TileState.js';
|
import TileState from '../../TileState.js';
|
||||||
import {createEmpty, getIntersection, getTopLeft} from '../../extent.js';
|
import {createEmpty, equals, getIntersection, getTopLeft} from '../../extent.js';
|
||||||
import CanvasLayerRenderer from './Layer.js';
|
import CanvasLayerRenderer from './Layer.js';
|
||||||
import {apply as applyTransform, compose as composeTransform, makeInverse, toString as transformToString} from '../../transform.js';
|
import {apply as applyTransform, compose as composeTransform, makeInverse, toString as transformToString} from '../../transform.js';
|
||||||
|
|
||||||
@@ -21,6 +21,12 @@ class CanvasTileLayerRenderer extends CanvasLayerRenderer {
|
|||||||
constructor(tileLayer) {
|
constructor(tileLayer) {
|
||||||
super(tileLayer);
|
super(tileLayer);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Rendered extent has changed since the previous `renderFrame()` call
|
||||||
|
* @type {boolean}
|
||||||
|
*/
|
||||||
|
this.extentChanged = true;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @private
|
* @private
|
||||||
* @type {import("../../extent.js").Extent}
|
* @type {import("../../extent.js").Extent}
|
||||||
@@ -301,6 +307,7 @@ class CanvasTileLayerRenderer extends CanvasLayerRenderer {
|
|||||||
|
|
||||||
this.renderedRevision = sourceRevision;
|
this.renderedRevision = sourceRevision;
|
||||||
this.renderedResolution = tileResolution;
|
this.renderedResolution = tileResolution;
|
||||||
|
this.extentChanged = !this.renderedExtent_ || !equals(this.renderedExtent_, canvasExtent);
|
||||||
this.renderedExtent_ = canvasExtent;
|
this.renderedExtent_ = canvasExtent;
|
||||||
|
|
||||||
this.manageTilePyramid(frameState, tileSource, tileGrid, pixelRatio,
|
this.manageTilePyramid(frameState, tileSource, tileGrid, pixelRatio,
|
||||||
|
|||||||
@@ -27,7 +27,7 @@ import {
|
|||||||
makeInverse
|
makeInverse
|
||||||
} from '../../transform.js';
|
} from '../../transform.js';
|
||||||
import CanvasExecutorGroup, {replayDeclutter} from '../../render/canvas/ExecutorGroup.js';
|
import CanvasExecutorGroup, {replayDeclutter} from '../../render/canvas/ExecutorGroup.js';
|
||||||
import {clear} from '../../obj.js';
|
import {clear, isEmpty} from '../../obj.js';
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -432,6 +432,11 @@ class CanvasVectorTileLayerRenderer extends CanvasTileLayerRenderer {
|
|||||||
return this.container_;
|
return this.container_;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (!isEmpty(this.renderTileImageQueue_) && !this.extentChanged) {
|
||||||
|
this.renderTileImages_(hifi, frameState);
|
||||||
|
return this.container_;
|
||||||
|
}
|
||||||
|
|
||||||
const context = this.overlayContext_;
|
const context = this.overlayContext_;
|
||||||
const declutterReplays = layer.getDeclutter() ? {} : null;
|
const declutterReplays = layer.getDeclutter() ? {} : null;
|
||||||
const source = layer.getSource();
|
const source = layer.getSource();
|
||||||
|
|||||||
Reference in New Issue
Block a user