update(mode) {
const me = this;
const meta = me._cachedMeta;
- const {dataset: line, data: points = []} = meta;
+ const {dataset: line, data: points = [], _dataset} = meta;
// @ts-ignore
const animationsDisabled = me.chart._animationsDisabled;
let {start, count} = getStartAndCountOfVisiblePoints(meta, points, animationsDisabled);
}
// Update Line
+ line._decimated = !!_dataset._decimated;
line.points = points;
// In resize mode only point locations change, so no need to set the options.
function _getSegmentMethod(line) {
const opts = line.options;
const borderDash = opts.borderDash && opts.borderDash.length;
- const useFastPath = !line._loop && !opts.tension && !opts.stepped && !borderDash;
+ const useFastPath = !line._decimated && !line._loop && !opts.tension && !opts.stepped && !borderDash;
return useFastPath ? fastPathSegment : pathSegment;
}
this._path = undefined;
this._points = undefined;
this._segments = undefined;
+ this._decimated = false;
this._pointsUpdated = false;
if (cfg) {