我有一个Web应用程序,每秒轮询服务器以更新其显示数据。我发现浏览器的CPU使用率逐渐增加(在一夜之间),从6%上升到30%,没有应用程序交互或行为变化。
这个问题可以很容易地在Chrome中重现,我将轮询间隔减小到100毫秒以获得更明显的效果。
使用这个例子,CPU使用率会以非常快的速度增加,原因不明。我没有进行任何处理,使用setTimeout而不是setInterval,所以我从来没有重叠的请求。
我正在使用Chrome(和Safari)进行测试,仍然看到CPU使用率非常快地增加。有任何想法吗?
这个问题可以很容易地在Chrome中重现,我将轮询间隔减小到100毫秒以获得更明显的效果。
<html>
<body>
<script>
var i = 0;
var xhr = new XMLHttpRequest();
xhr.onload = function() {
console.log("response", i++);
setTimeout(send, 100);
}
function send() {
xhr.open("GET", "/", true);
xhr.send();
}
send();
</script>
这段代码可以在任何像Web服务器一样的服务器上轻松运行,如:
python -m SimpleHTTPServer 8888
使用这个例子,CPU使用率会以非常快的速度增加,原因不明。我没有进行任何处理,使用setTimeout而不是setInterval,所以我从来没有重叠的请求。
我正在使用Chrome(和Safari)进行测试,仍然看到CPU使用率非常快地增加。有任何想法吗?