Skip unnecessary render functions
This commit is contained in:
@@ -76,8 +76,13 @@ ol.renderer.canvas.VectorTileLayer.prototype.composeFrame = function(
|
||||
frameState, layerState, context) {
|
||||
var transform = this.getTransform(frameState, 0);
|
||||
this.dispatchPreComposeEvent(context, frameState, transform);
|
||||
var renderMode = this.getLayer().getRenderMode();
|
||||
if (renderMode !== ol.layer.VectorTileRenderType.VECTOR) {
|
||||
this.renderTileImages(context, frameState, layerState);
|
||||
}
|
||||
if (renderMode !== ol.layer.VectorTileRenderType.IMAGE) {
|
||||
this.renderTileReplays_(context, frameState, layerState);
|
||||
}
|
||||
this.dispatchPostComposeEvent(context, frameState, transform);
|
||||
};
|
||||
|
||||
@@ -93,9 +98,6 @@ ol.renderer.canvas.VectorTileLayer.prototype.renderTileReplays_ = function(
|
||||
|
||||
var layer = this.getLayer();
|
||||
var replays = ol.renderer.canvas.VECTOR_REPLAYS[layer.getRenderMode()];
|
||||
if (!replays) {
|
||||
return;
|
||||
}
|
||||
var pixelRatio = frameState.pixelRatio;
|
||||
var skippedFeatureUids = layerState.managed ?
|
||||
frameState.skippedFeatureUids : {};
|
||||
|
||||
@@ -66,10 +66,25 @@ describe('ol.renderer.canvas.VectorTileLayer', function() {
|
||||
it('uses lower resolution for pure vector rendering', function() {
|
||||
layer.renderMode_ = 'vector';
|
||||
var renderer = new ol.renderer.canvas.VectorTileLayer(layer);
|
||||
expect(renderer).to.be.a(ol.renderer.canvas.VectorTileLayer);
|
||||
expect(renderer.zDirection).to.be(1);
|
||||
});
|
||||
|
||||
it('does not render images for pure vector rendering', function() {
|
||||
layer.renderMode_ = 'vector';
|
||||
var renderer = new ol.renderer.canvas.VectorTileLayer(layer);
|
||||
var spy = sinon.spy(renderer, 'renderTileImages');
|
||||
map.renderSync();
|
||||
expect(spy.callCount).to.be(0);
|
||||
});
|
||||
|
||||
it('does not render replays for pure image rendering', function() {
|
||||
layer.renderMode_ = 'image';
|
||||
var renderer = new ol.renderer.canvas.VectorTileLayer(layer);
|
||||
var spy = sinon.spy(renderer, 'renderTileReplays_');
|
||||
map.renderSync();
|
||||
expect(spy.callCount).to.be(0);
|
||||
});
|
||||
|
||||
it('gives precedence to feature styles over layer styles', function() {
|
||||
var spy = sinon.spy(map.getRenderer().getLayerRenderer(layer),
|
||||
'renderFeature');
|
||||
|
||||
Reference in New Issue
Block a user