我正在使用 jQuery 的 ajax 函数轮询我的服务器,然后使用该数据更新画布。我每秒轮询一次服务器(这不是使用 setInterval() 完成的,以防您想知道...我确实听说有时是这些问题的根源。画布是动画的,我会跟踪帧率。我用这个数据来计算一秒钟的时间)。这在 Chrome 中不是问题,但在 Firefox 和 Maxthon Cloud(以及程度低得多的 Opera)中,性能逐渐变得越来越差。我认为这是 ajax 调用,我不知道如何解决这个问题。这是我的“callServer()”函数,如果有用的话。谢谢!
function callServer(action, json)
{
if(!json)
{
$.ajax({
type: 'POST',
url: 'okey.php.',
data: 'action=' + action,
cache: false,
success: function(data)
{
switch(action)
{
case 'ptv':
tilesValue = data;
break;
case 'ptc':
tilesColor = data;
break;
case 'tid':
//alert(data);
thisPlayerID = data;
break;
case 'pti':
playerTurnInfo = data;
//alert(data);
break;
case 'gs':
gameStatus = data;
break;
case 'steal':
alert(data);
break;
case 'draw':
alert(data);
break;
case 'testing':
alert(data);
break;
}
}
});
}
else if(json)
{
$.ajax({
type: 'POST',
url: 'okey.php.',
data: 'action=' + action,
dataType: 'json',
cache: false,
success: function(data)
{
switch(action)
{
case 'ptv':
tilesValue = data;
break;
case 'ptc':
tilesColor = data;
//alert(tilesColor.length);
break;
case 'pn':
playerNames = data;
break;
case 'pid':
playerIDs = data;
break;
case 'pts':
//alert("excellent");
turnStatuses = data;
break;
case 'ti':
tileIndeces = data;
//alert(tileIndeces.length)
break;
case 'dis':
//alert(parseInt(data[3]));
discarded = data;
//alert(parseInt(discarded[3]));
break;
}
}
});
}
}
更新:导致问题的不是电话频率。