From 8cdc60ccd13c11d007ae7f09d226e043dc803e0a Mon Sep 17 00:00:00 2001 From: Jukka Kurkela Date: Wed, 16 Sep 2020 01:57:31 +0300 Subject: [PATCH] [perf] Update/draw only visible line/points (#7793) * Restore count parameter to updateElements * [perf] Update/draw only visible line/points * CC --- docs/docs/getting-started/v3-migration.md | 2 +- src/controllers/controller.bar.js | 15 +++-- src/controllers/controller.bubble.js | 13 ++-- src/controllers/controller.doughnut.js | 13 ++-- src/controllers/controller.line.js | 43 +++++++++---- src/controllers/controller.polarArea.js | 15 +++-- src/controllers/controller.radar.js | 14 ++--- src/core/core.datasetController.js | 22 ++++--- src/elements/element.line.js | 57 +++++++++++++----- .../source-labels-linear-offset-min-max.png | Bin 19235 -> 20496 bytes .../ticks-reverse-linear-min-max.png | Bin 20986 -> 21511 bytes .../scale.time/ticks-reverse-linear.png | Bin 19612 -> 21866 bytes types/core/index.d.ts | 2 +- 13 files changed, 119 insertions(+), 77 deletions(-) diff --git a/docs/docs/getting-started/v3-migration.md b/docs/docs/getting-started/v3-migration.md index 7cb461098..de875bd8c 100644 --- a/docs/docs/getting-started/v3-migration.md +++ b/docs/docs/getting-started/v3-migration.md @@ -461,7 +461,7 @@ The APIs listed in this section have changed in signature or behaviour from vers ##### Dataset Controllers -* `updateElement` was replaced with `updateElements` now taking the elements to update, the `start` index, and `mode` +* `updateElement` was replaced with `updateElements` now taking the elements to update, the `start` index, `count`, and `mode` * `setHoverStyle` and `removeHoverStyle` now additionally take the `datasetIndex` and `index` #### Interactions diff --git a/src/controllers/controller.bar.js b/src/controllers/controller.bar.js index 0e663c983..30e092d89 100644 --- a/src/controllers/controller.bar.js +++ b/src/controllers/controller.bar.js @@ -231,10 +231,10 @@ export default class BarController extends DatasetController { const me = this; const meta = me._cachedMeta; - me.updateElements(meta.data, 0, mode); + me.updateElements(meta.data, 0, meta.data.length, mode); } - updateElements(rectangles, start, mode) { + updateElements(rectangles, start, count, mode) { const me = this; const reset = mode === 'reset'; const vscale = me._cachedMeta.vScale; @@ -247,11 +247,10 @@ export default class BarController extends DatasetController { me.updateSharedOptions(sharedOptions, mode, firstOpts); - for (let i = 0; i < rectangles.length; i++) { - const index = start + i; - const options = sharedOptions || me.resolveDataElementOptions(index, mode); - const vpixels = me._calculateBarValuePixels(index, options); - const ipixels = me._calculateBarIndexPixels(index, ruler, options); + for (let i = start; i < start + count; i++) { + const options = sharedOptions || me.resolveDataElementOptions(i, mode); + const vpixels = me._calculateBarValuePixels(i, options); + const ipixels = me._calculateBarIndexPixels(i, ruler, options); const properties = { horizontal, @@ -265,7 +264,7 @@ export default class BarController extends DatasetController { if (includeOptions) { properties.options = options; } - me.updateElement(rectangles[i], index, properties, mode); + me.updateElement(rectangles[i], i, properties, mode); } } diff --git a/src/controllers/controller.bubble.js b/src/controllers/controller.bubble.js index 386317b10..c0aceecd0 100644 --- a/src/controllers/controller.bubble.js +++ b/src/controllers/controller.bubble.js @@ -65,10 +65,10 @@ export default class BubbleController extends DatasetController { const points = me._cachedMeta.data; // Update Points - me.updateElements(points, 0, mode); + me.updateElements(points, 0, points.length, mode); } - updateElements(points, start, mode) { + updateElements(points, start, count, mode) { const me = this; const reset = mode === 'reset'; const {xScale, yScale} = me._cachedMeta; @@ -76,10 +76,9 @@ export default class BubbleController extends DatasetController { const sharedOptions = me.getSharedOptions(firstOpts); const includeOptions = me.includeOptions(mode, sharedOptions); - for (let i = 0; i < points.length; i++) { + for (let i = start; i < start + count; i++) { const point = points[i]; - const index = start + i; - const parsed = !reset && me.getParsed(index); + const parsed = !reset && me.getParsed(i); const x = reset ? xScale.getPixelForDecimal(0.5) : xScale.getPixelForValue(parsed.x); const y = reset ? yScale.getBasePixel() : yScale.getPixelForValue(parsed.y); const properties = { @@ -89,14 +88,14 @@ export default class BubbleController extends DatasetController { }; if (includeOptions) { - properties.options = me.resolveDataElementOptions(index, mode); + properties.options = me.resolveDataElementOptions(i, mode); if (reset) { properties.options.radius = 0; } } - me.updateElement(point, index, properties, mode); + me.updateElement(point, i, properties, mode); } me.updateSharedOptions(sharedOptions, mode, firstOpts); diff --git a/src/controllers/controller.doughnut.js b/src/controllers/controller.doughnut.js index 78e79a4fe..389e46979 100644 --- a/src/controllers/controller.doughnut.js +++ b/src/controllers/controller.doughnut.js @@ -104,7 +104,7 @@ export default class DoughnutController extends DatasetController { me.outerRadius = outerRadius - radiusLength * me._getRingWeightOffset(me.index); me.innerRadius = Math.max(me.outerRadius - radiusLength * chartWeight, 0); - me.updateElements(arcs, 0, mode); + me.updateElements(arcs, 0, arcs.length, mode); } /** @@ -117,7 +117,7 @@ export default class DoughnutController extends DatasetController { return reset && opts.animation.animateRotate ? 0 : this.chart.getDataVisibility(i) ? me.calculateCircumference(meta._parsed[i] * opts.circumference / DOUBLE_PI) : 0; } - updateElements(arcs, start, mode) { + updateElements(arcs, start, count, mode) { const me = this; const reset = mode === 'reset'; const chart = me.chart; @@ -139,9 +139,8 @@ export default class DoughnutController extends DatasetController { startAngle += me._circumference(i, reset); } - for (i = 0; i < arcs.length; ++i) { - const index = start + i; - const circumference = me._circumference(index, reset); + for (i = start; i < start + count; ++i) { + const circumference = me._circumference(i, reset); const arc = arcs[i]; const properties = { x: centerX + me.offsetX, @@ -153,11 +152,11 @@ export default class DoughnutController extends DatasetController { innerRadius }; if (includeOptions) { - properties.options = sharedOptions || me.resolveDataElementOptions(index, mode); + properties.options = sharedOptions || me.resolveDataElementOptions(i, mode); } startAngle += circumference; - me.updateElement(arc, index, properties, mode); + me.updateElement(arc, i, properties, mode); } me.updateSharedOptions(sharedOptions, mode, firstOpts); } diff --git a/src/controllers/controller.line.js b/src/controllers/controller.line.js index fae5d17a1..e5dbc5883 100644 --- a/src/controllers/controller.line.js +++ b/src/controllers/controller.line.js @@ -2,6 +2,7 @@ import DatasetController from '../core/core.datasetController'; import {valueOrDefault} from '../helpers/helpers.core'; import {isNumber} from '../helpers/helpers.math'; import {resolve} from '../helpers/helpers.options'; +import {_lookupByKey} from '../helpers/helpers.collection'; export default class LineController extends DatasetController { @@ -13,8 +14,11 @@ export default class LineController extends DatasetController { update(mode) { const me = this; const meta = me._cachedMeta; - const line = meta.dataset; - const points = meta.data || []; + const {dataset: line, data: points = []} = meta; + const {start, count} = getStartAndCountOfVisiblePoints(meta, points); + + me._drawStart = start; + me._drawCount = count; // Update Line // In resize mode only point locations change, so no need to set the points or options. @@ -28,10 +32,10 @@ export default class LineController extends DatasetController { } // Update Points - me.updateElements(points, 0, mode); + me.updateElements(points, start, count, mode); } - updateElements(points, start, mode) { + updateElements(points, start, count, mode) { const me = this; const reset = mode === 'reset'; const {xScale, yScale, _stacked} = me._cachedMeta; @@ -40,14 +44,13 @@ export default class LineController extends DatasetController { const includeOptions = me.includeOptions(mode, sharedOptions); const spanGaps = valueOrDefault(me._config.spanGaps, me.chart.options.spanGaps); const maxGapLength = isNumber(spanGaps) ? spanGaps : Number.POSITIVE_INFINITY; - let prevParsed; + let prevParsed = start > 0 && me.getParsed(start - 1); - for (let i = 0; i < points.length; ++i) { - const index = start + i; + for (let i = start; i < start + count; ++i) { const point = points[i]; - const parsed = me.getParsed(index); - const x = xScale.getPixelForValue(parsed.x, index); - const y = reset ? yScale.getBasePixel() : yScale.getPixelForValue(_stacked ? me.applyStack(yScale, parsed) : parsed.y, index); + const parsed = me.getParsed(i); + const x = xScale.getPixelForValue(parsed.x, i); + const y = reset ? yScale.getBasePixel() : yScale.getPixelForValue(_stacked ? me.applyStack(yScale, parsed) : parsed.y, i); const properties = { x, y, @@ -56,10 +59,10 @@ export default class LineController extends DatasetController { }; if (includeOptions) { - properties.options = sharedOptions || me.resolveDataElementOptions(index, mode); + properties.options = sharedOptions || me.resolveDataElementOptions(i, mode); } - me.updateElement(point, index, properties, mode); + me.updateElement(point, i, properties, mode); prevParsed = parsed; } @@ -167,3 +170,19 @@ LineController.defaults = { }, } }; + +function getStartAndCountOfVisiblePoints(meta, points) { + const pointCount = points.length; + + let start = 0; + let count = pointCount; + + if (meta._sorted) { + const {iScale, _parsed} = meta; + const {min, max, minDefined, maxDefined} = iScale.getUserBounds(); + start = minDefined ? Math.max(0, _lookupByKey(_parsed, iScale.axis, min).lo) : 0; + count = (maxDefined ? Math.min(pointCount, _lookupByKey(_parsed, iScale.axis, max).hi + 1) : pointCount) - start; + } + + return {start, count}; +} diff --git a/src/controllers/controller.polarArea.js b/src/controllers/controller.polarArea.js index 60e5c042b..26d61ff7e 100644 --- a/src/controllers/controller.polarArea.js +++ b/src/controllers/controller.polarArea.js @@ -21,7 +21,7 @@ export default class PolarAreaController extends DatasetController { const arcs = this._cachedMeta.data; this._updateRadius(); - this.updateElements(arcs, 0, mode); + this.updateElements(arcs, 0, arcs.length, mode); } /** @@ -42,7 +42,7 @@ export default class PolarAreaController extends DatasetController { me.innerRadius = me.outerRadius - radiusLength; } - updateElements(arcs, start, mode) { + updateElements(arcs, start, count, mode) { const me = this; const reset = mode === 'reset'; const chart = me.chart; @@ -61,12 +61,11 @@ export default class PolarAreaController extends DatasetController { for (i = 0; i < start; ++i) { angle += me._computeAngle(i); } - for (i = 0; i < arcs.length; i++) { + for (i = start; i < start + count; i++) { const arc = arcs[i]; - const index = start + i; let startAngle = angle; - let endAngle = angle + me._computeAngle(index); - let outerRadius = this.chart.getDataVisibility(index) ? scale.getDistanceFromCenterForValue(dataset.data[index]) : 0; + let endAngle = angle + me._computeAngle(i); + let outerRadius = this.chart.getDataVisibility(i) ? scale.getDistanceFromCenterForValue(dataset.data[i]) : 0; angle = endAngle; if (reset) { @@ -86,10 +85,10 @@ export default class PolarAreaController extends DatasetController { outerRadius, startAngle, endAngle, - options: me.resolveDataElementOptions(index, mode) + options: me.resolveDataElementOptions(i, mode) }; - me.updateElement(arc, index, properties, mode); + me.updateElement(arc, i, properties, mode); } } diff --git a/src/controllers/controller.radar.js b/src/controllers/controller.radar.js index 1c30e0c0f..19283338f 100644 --- a/src/controllers/controller.radar.js +++ b/src/controllers/controller.radar.js @@ -38,21 +38,19 @@ export default class RadarController extends DatasetController { } // Update Points - me.updateElements(points, 0, mode); + me.updateElements(points, 0, points.length, mode); } - updateElements(points, start, mode) { + updateElements(points, start, count, mode) { const me = this; const dataset = me.getDataset(); const scale = me._cachedMeta.rScale; const reset = mode === 'reset'; - let i; - for (i = 0; i < points.length; i++) { + for (let i = start; i < start + count; i++) { const point = points[i]; - const index = start + i; - const options = me.resolveDataElementOptions(index, mode); - const pointPosition = scale.getPointPositionForValue(index, dataset.data[index]); + const options = me.resolveDataElementOptions(i, mode); + const pointPosition = scale.getPointPositionForValue(i, dataset.data[i]); const x = reset ? scale.xCenter : pointPosition.x; const y = reset ? scale.yCenter : pointPosition.y; @@ -65,7 +63,7 @@ export default class RadarController extends DatasetController { options }; - me.updateElement(point, index, properties, mode); + me.updateElement(point, i, properties, mode); } } diff --git a/src/core/core.datasetController.js b/src/core/core.datasetController.js index 7f5a958cc..a211216dd 100644 --- a/src/core/core.datasetController.js +++ b/src/core/core.datasetController.js @@ -179,6 +179,8 @@ export default class DatasetController { this._data = undefined; this._objectData = undefined; this._sharedOptions = undefined; + this._drawStart = undefined; + this._drawCount = undefined; this.enableOptionSharing = false; this.initialize(); @@ -380,11 +382,11 @@ export default class DatasetController { parsed = me.parsePrimitiveData(meta, data, start, count); } - + const isNotInOrderComparedToPrev = () => isNaN(cur[iAxis]) || (prev && cur[iAxis] < prev[iAxis]); for (i = 0; i < count; ++i) { meta._parsed[i + start] = cur = parsed[i]; if (sorted) { - if (prev && cur[iAxis] < prev[iAxis]) { + if (isNotInOrderComparedToPrev()) { sorted = false; } prev = cur; @@ -544,7 +546,7 @@ export default class DatasetController { parsed = _parsed[i]; value = parsed[scale.axis]; otherValue = parsed[otherScale.axis]; - return (isNaN(value) || otherMin > otherValue || otherMax < otherValue); + return (isNaN(value) || isNaN(otherValue) || otherMin > otherValue || otherMax < otherValue); } for (i = 0; i < ilen; ++i) { @@ -633,13 +635,15 @@ export default class DatasetController { const elements = meta.data || []; const area = chart.chartArea; const active = []; - let i, ilen; + const start = me._drawStart || 0; + const count = me._drawCount || (elements.length - start); + let i; if (meta.dataset) { - meta.dataset.draw(ctx, area); + meta.dataset.draw(ctx, area, start, count); } - for (i = 0, ilen = elements.length; i < ilen; ++i) { + for (i = start; i < start + count; ++i) { const element = elements[i]; if (element.active) { active.push(element); @@ -648,7 +652,7 @@ export default class DatasetController { } } - for (i = 0, ilen = active.length; i < ilen; ++i) { + for (i = 0; i < active.length; ++i) { active[i].draw(ctx, area); } } @@ -936,10 +940,10 @@ export default class DatasetController { } me.parse(start, count); - me.updateElements(elements, start, 'reset'); + me.updateElements(data, start, count, 'reset'); } - updateElements(element, start, mode) {} // eslint-disable-line no-unused-vars + updateElements(element, start, count, mode) {} // eslint-disable-line no-unused-vars /** * @private diff --git a/src/elements/element.line.js b/src/elements/element.line.js index d01278d3e..778aeab57 100644 --- a/src/elements/element.line.js +++ b/src/elements/element.line.js @@ -33,6 +33,20 @@ function getLineMethod(options) { return lineTo; } +function pathVars(points, segment, params) { + params = params || {}; + const count = points.length; + const start = Math.max(params.start || 0, segment.start); + const end = Math.min(params.end || count - 1, segment.end); + + return { + count, + start, + loop: segment.loop, + ilen: end < start ? count + end - start : end - start + }; +} + /** * Create path from points, grouping by truncated x-coordinate * Points need to be in order by x-coordinate for this to work efficiently @@ -43,17 +57,17 @@ function getLineMethod(options) { * @param {number} segment.end - end index of the segment, referring the points array * @param {boolean} segment.loop - indicates that the segment is a loop * @param {object} params - * @param {object} params.move - move to starting point (vs line to it) - * @param {object} params.reverse - path the segment from end to start + * @param {boolean} params.move - move to starting point (vs line to it) + * @param {boolean} params.reverse - path the segment from end to start + * @param {number} params.start - limit segment to points starting from `start` index + * @param {number} params.end - limit segment to points ending at `start` + `count` index */ function pathSegment(ctx, line, segment, params) { - const {start, end, loop} = segment; const {points, options} = line; + const {count, start, loop, ilen} = pathVars(points, segment, params); const lineMethod = getLineMethod(options); - const count = points.length; // eslint-disable-next-line prefer-const let {move = true, reverse} = params || {}; - const ilen = end < start ? count + end - start : end - start; let i, point, prev; for (i = 0; i <= ilen; ++i) { @@ -90,15 +104,15 @@ function pathSegment(ctx, line, segment, params) { * @param {number} segment.end - end index of the segment, referring the points array * @param {boolean} segment.loop - indicates that the segment is a loop * @param {object} params - * @param {object} params.move - move to starting point (vs line to it) - * @param {object} params.reverse - path the segment from end to start + * @param {boolean} params.move - move to starting point (vs line to it) + * @param {boolean} params.reverse - path the segment from end to start + * @param {number} params.start - limit segment to points starting from `start` index + * @param {number} params.end - limit segment to points ending at `start` + `count` index */ function fastPathSegment(ctx, line, segment, params) { const points = line.points; - const count = points.length; - const {start, end} = segment; + const {count, start, ilen} = pathVars(points, segment, params); const {move = true, reverse} = params || {}; - const ilen = end < start ? count + end - start : end - start; let avgX = 0; let countX = 0; let i, point, prevX, minY, maxY, lastY; @@ -290,8 +304,10 @@ export default class Line extends Element { * @param {number} segment.end - end index of the segment, referring the points array * @param {boolean} segment.loop - indicates that the segment is a loop * @param {object} params - * @param {object} params.move - move to starting point (vs line to it) - * @param {object} params.reverse - path the segment from end to start + * @param {boolean} params.move - move to starting point (vs line to it) + * @param {boolean} params.reverse - path the segment from end to start + * @param {number} params.start - limit segment to points starting from `start` index + * @param {number} params.end - limit segment to points ending at `start` + `count` index * @returns {undefined|boolean} - true if the segment is a full loop (path should be closed) */ pathSegment(ctx, segment, params) { @@ -302,16 +318,22 @@ export default class Line extends Element { /** * Append all segments of this line to current path. * @param {CanvasRenderingContext2D} ctx + * @param {number} [start] + * @param {number} [count] * @returns {undefined|boolean} - true if line is a full loop (path should be closed) */ - path(ctx) { + path(ctx, start, count) { const me = this; const segments = me.segments; const ilen = segments.length; const segmentMethod = _getSegmentMethod(me); let loop = me._loop; + + start = start || 0; + count = count || (me.points.length - start); + for (let i = 0; i < ilen; ++i) { - loop &= segmentMethod(ctx, me, segments[i]); + loop &= segmentMethod(ctx, me, segments[i], {start, end: start + count - 1}); } return !!loop; } @@ -319,8 +341,11 @@ export default class Line extends Element { /** * Draw * @param {CanvasRenderingContext2D} ctx + * @param {object} chartArea + * @param {number} [start] + * @param {number} [count] */ - draw(ctx) { + draw(ctx, chartArea, start, count) { const options = this.options || {}; const points = this.points || []; @@ -334,7 +359,7 @@ export default class Line extends Element { ctx.beginPath(); - if (this.path(ctx)) { + if (this.path(ctx, start, count)) { ctx.closePath(); } diff --git a/test/fixtures/scale.time/source-labels-linear-offset-min-max.png b/test/fixtures/scale.time/source-labels-linear-offset-min-max.png index 47463888222a50fb8cae16a3c081bb75674dac04..29fae000ff0acf3fa477a233355b4bad724d9d3b 100644 GIT binary patch literal 20496 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ಹq6L5NSyzJX#s_b1xKw< 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 literal 19235 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 diff --git a/test/fixtures/scale.time/ticks-reverse-linear-min-max.png b/test/fixtures/scale.time/ticks-reverse-linear-min-max.png index 8da6a228a80c6000be3a04ad8a1f84f2d46e1e78..dbdfa5ed0a5a75a2f9b78d9c84e9dfe8fed6a177 100644 GIT binary patch literal 21511 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 U6>S55(-AV-Z>pEO&;H8)0UmMpegFUf diff --git a/test/fixtures/scale.time/ticks-reverse-linear.png b/test/fixtures/scale.time/ticks-reverse-linear.png index ec0e7be091607abf545a5665c03d6698fb13fbac..b229b7785286fa3e50475438917f2a2b98297b30 100644 GIT binary patch literal 21866 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 diff --git a/types/core/index.d.ts b/types/core/index.d.ts index a497b245a..4a00823d4 100644 --- a/types/core/index.d.ts +++ b/types/core/index.d.ts @@ -338,7 +338,7 @@ export class DatasetController