主题
渲染性能优化
在使用 Chart.js 时,尤其是处理大量数据或频繁更新图表时,性能优化显得尤为重要。合理减少重绘次数,禁用不必要的动画,以及分批更新数据,可以显著提升图表的渲染效率。
下面示例展示如何通过关闭动画和使用 update 方法的参数来优化性能。
js
const ctx = document.getElementById("perfChart").getContext("2d");
const perfChart = new Chart(ctx, {
type: "line",
data: {
labels: Array.from({ length: 1000 }, (_, i) => `点${i + 1}`),
datasets: [
{
label: "大量数据",
data: Array.from({ length: 1000 }, () => Math.random() * 100),
borderColor: "rgb(75, 192, 192)",
fill: false,
tension: 0.1,
},
],
},
options: {
animation: false, // 关闭动画提升性能
responsive: true,
plugins: {
legend: { display: true },
},
},
});
// 模拟数据更新但不重绘
setInterval(() => {
perfChart.data.datasets[0].data = perfChart.data.datasets[0].data.map(
() => Math.random() * 100
);
perfChart.update("none"); // 更新数据但不重绘动画
}, 2000);示例无法以 iframe 加载(请检查路径或将 demo 放到 public/)。