Javascript Phonegap应用程序使用11种不同的图表降低速度
问题: 我遇到的问题是,我有11个不同的图表同时运行(在后台),这减慢了在phonegap中创建的整个应用程序的速度。我很困惑,不知道该怎么做才能使应用程序运行得更快。我相信线程就是解决方案,或者我一次只能运行一个图,并保持其余的图处于死区(死区=在选择之前不接收数据) 我正在从事的项目的简短描述: 我基本上使用canvas.js(),浏览11个不同的图,这些图将分别接收随机生成的值。我正在使用jQuery浏览图表。用户决定要查看的图表,一次只能查看一个图表 以下是jQuery代码,用户也可以在11个不同的表中导航:Javascript Phonegap应用程序使用11种不同的图表降低速度,javascript,canvas,Javascript,Canvas,问题: 我遇到的问题是,我有11个不同的图表同时运行(在后台),这减慢了在phonegap中创建的整个应用程序的速度。我很困惑,不知道该怎么做才能使应用程序运行得更快。我相信线程就是解决方案,或者我一次只能运行一个图,并保持其余的图处于死区(死区=在选择之前不接收数据) 我正在从事的项目的简短描述: 我基本上使用canvas.js(),浏览11个不同的图,这些图将分别接收随机生成的值。我正在使用jQuery浏览图表。用户决定要查看的图表,一次只能查看一个图表 以下是jQuery代码,用户也可以在
$('[data-row]').on('click', function() {
var row = $(this).attr('data-row');
$('.active').removeClass('active');
$('#table' + row).addClass('active');
});
这里是11个不同图表中的一个
$(window).on("load", function() {
var dps1 = []; // TB1S1
var chart = new CanvasJS.Chart("table12",
{
title:{
text: "Ethanol Content"
},
axisX:{
title: "Current Time",
},
axisY: {
title: "Ethenol Content (%)",
},
data: [
{
type: "spline",
showInLegend: "true",
legendText: "Ethenol Content",
dataPoints: dps1
}],
legend: {
cursor: "pointer",
itemclick: function (e) {
if (typeof(e.dataSeries.visible) === "undefined" || e.dataSeries.visible) {
e.dataSeries.visible = false;
} else {
e.dataSeries.visible = true;
}
chart.render();
}
}
});
var xVal = 0;
var updateInterval = 1000;
var dataLength = 100;
var updateChart = function (count) {
count = count || 1;
// count is number of times loop runs to generate random dataPoints.
for (var j = 0; j < count; j++) {
dps1.push({
x: xVal,
y: y35
});
xVal++;
};
// When handling real data, put dps1,2,3,4,5,6,7,8 inside the if statement.
if (dps1.length > dataLength )
{
dps1.shift();
}
chart.render();
};
// generates first set of dataPoints
updateChart(dataLength);
// update chart after specified time.
setInterval(function(){updateChart()}, updateInterval);
});
$(窗口).on(“加载”,函数(){
变量dps1=[];//TB1S1
var chart=new CanvasJS.chart(“表12”,
{
标题:{
正文:“乙醇含量”
},
axisX:{
标题:“当前时间”,
},
axisY:{
标题:“乙烯醇含量(%)”,
},
数据:[
{
类型:“样条曲线”,
showInLegend:“正确”,
legendText:“乙烯醇含量”,
数据点:dps1
}],
图例:{
光标:“指针”,
项目点击:功能(e){
if(typeof(e.dataSeries.visible)==“undefined”| | e.dataSeries.visible){
e、 dataSeries.visible=false;
}否则{
e、 dataSeries.visible=true;
}
chart.render();
}
}
});
var xVal=0;
var updateInterval=1000;
var-dataLength=100;
var updateChart=函数(计数){
计数=计数| | 1;
//count是循环运行以生成随机数据点的次数。
对于(var j=0;jdataLength)
{
dps1.shift();
}
chart.render();
};
//生成第一组数据点
updateChart(数据长度);
//在指定时间后更新图表。
setInterval(函数(){updateChart()},updateInterval);
});
我希望这里的信息是可以理解的
问候
Dler H.那么用户一次只能看到一个图表,但所有11个图表同时运行?我认为最好的第一步是只运行可视的图表,我相信这正是我的目标。但我的问题是怎么做?