我的目标是在 HighCharts 气泡中渲染大量系列。
如果我尝试为此使用 boost 模块,则我的视频驱动程序存在一些问题。
我认为,该boost模块正在尝试使用GPU渲染每个系列数据,但这不适用于大量系列。
例如:
// Prepare the data
var data = [],
n = 200,
i;
var seriesArray = []
for(j=0; j<n; j+=1) {
for (i = 0; i < n; i += 1) {
data.push([
Math.pow(Math.random(), 2) * 100,
Math.pow(Math.random(), 2) * 100,
Math.pow(Math.random(), 2) * 100
]);
}
var serie={
type: 'bubble',
boostBlending: 'alpha',
color: 'rgb(152, 0, 67)',
fillOpacity: 0.1,
data: data,
minSize: 1,
maxSize: 10,
tooltip: {
followPointer: false,
pointFormat: '[{point.x:.1f}, {point.y:.1f}]'
}
};
seriesArray.push(serie);
}
if (!Highcharts.Series.prototype.renderCanvas) {
throw 'Module not loaded';
}
console.time('bubble');
Highcharts.chart('container', {
chart: {
zoomType: 'xy'
},
xAxis: {
gridLineWidth: 1,
minPadding: 0,
maxPadding: 0,
startOnTick: false,
endOnTick: false
},
yAxis: {
minPadding: 0,
maxPadding: 0,
startOnTick: false,
endOnTick: false
},
title: {
text: 'Bubble chart with ' + Highcharts.numberFormat(data.length, 0, ' ') + ' points'
},
legend: {
enabled: false
},
boost: {
useGPUTranslations: true,
usePreallocated: true
},
series: seriesArray
});
console.timeEnd('bubble');