diff --git a/src/ol/renderer/canvas/VectorTileLayer.js b/src/ol/renderer/canvas/VectorTileLayer.js index 3b6eca9bff..7119994bef 100644 --- a/src/ol/renderer/canvas/VectorTileLayer.js +++ b/src/ol/renderer/canvas/VectorTileLayer.js @@ -619,17 +619,19 @@ class CanvasVectorTileLayerRenderer extends CanvasTileLayerRenderer { const size = source.getTilePixelSize(z, pixelRatio, projection); context.canvas.width = size[0]; context.canvas.height = size[1]; - const canvasTransform = resetTransform(this.tmpTransform_); const renderScale = pixelRatio / renderPixelRatio; - scaleTransform(canvasTransform, renderScale, renderScale); - context.setTransform.apply(context, canvasTransform); + if (renderScale !== 1) { + const canvasTransform = resetTransform(this.tmpTransform_); + scaleTransform(canvasTransform, renderScale, renderScale); + context.setTransform.apply(context, canvasTransform); + } const tileExtent = tileGrid.getTileCoordExtent(tileCoord, this.tmpExtent); + const pixelScale = renderPixelRatio / resolution; + const transform = resetTransform(this.tmpTransform_); + scaleTransform(transform, pixelScale, -pixelScale); + translateTransform(transform, -tileExtent[0], -tileExtent[3]); for (let i = 0, ii = executorGroups.length; i < ii; ++i) { const executorGroup = executorGroups[i]; - const pixelScale = renderPixelRatio / resolution; - const transform = resetTransform(this.tmpTransform_); - scaleTransform(transform, pixelScale, -pixelScale); - translateTransform(transform, -tileExtent[0], -tileExtent[3]); executorGroup.execute(context, transform, 0, {}, true, IMAGE_REPLAYS[layer.getRenderMode()]); } replayState.renderedTileResolution = tile.wantedResolution;