JavaScript setInterval之后的高CPU使用率
high CPU usage after JavaScript setInterval
我有一个PHP代码,它从数据库中提取文本,并将其显示为链接。我每 3000 毫秒刷新一次 DIV,刷新本身的 CPU 使用率仅高出百分之几。经过 20-25 分钟的不断刷新,当我单击其中一个链接时,打开该页面大约需要 20 秒,同时浏览器选项卡冻结。发生更多刷新 - 打开链接所需的时间更多,以及打开更多链接时(如果打开 10-15 个链接,打开下一页的速度慢至 10-12 秒)。当浏览器尝试打开链接时,将完全加载 1 个处理器线程。这是代码(简化):
<div id="map1"></div>
<script src="http://code.jquery.com/jquery-2.0.3.min.js"></script>
<div id="map1">
<?PHP
if (isset($_GET['m'])) {
$selectback = "SELECT parentid FROM MAP_LINK WHERE sysid = " . $_GET['m'];
................
$rowb = ibase_fetch_row($query);
echo "<h6><a href='"#'" id='"back" . $rowb[0] . "'">BACK</a></h6><h4>
<script>
$('a#back" . $rowb[0] . "').click(function() {
clearInterval(auto_refresh);
$('"#map1'").load('"test2.php?m=" . $rowb[0] . "'");
auto_refresh = setInterval(function (){
$('"#map1'").load('"test2.php?m=" . $rowb[0] . "'");}, 3000);
});
</script>";
$select = "SELECT sysid FROM MAP_LINK WHERE parentid = " . $_GET['m'];
.........................................
$x = 0;
while ($x < $total_rows) {
$x++;
$row = ibase_fetch_row($query);
echo "<br><a href='"#'" id='"" . $row[0] . "'">Link # " . $row[0] . "</a>
<script>
$('a#" . $row[0] . "').click(function() {
clearInterval(auto_refresh);
$('"#map1'").load('"test2.php?m=" . $row[0] . "'");
auto_refresh = setInterval(function (){
$('"#map1'").load('"test2.php?m=" . $row[0] . "'");}, 3000);
});
</script>";
}
} else {
echo "<script>
$(document).ready(function(){
$('"#map1'").load('test2.php?m=56');
auto_refresh = setInterval(function (){
$('"#map1'").load('"test2.php?m=56'");}, 3000);
});</script>";
}
?>
这与我拥有的代码大致相同。数据库由 4 个表组成,从中提取数据。前 6-7 次点击会暂时打开下一页,没有延迟,延迟在第 10 次点击后开始,每次点击或刷新都会变大。
我的问题是:我怎样才能立即或至少更快地打开它?代码中存在错误。它可以工作,但它大量使用 CPU,并且速度越来越慢,无法在页面上导航。
谢谢!
迟到了,但您可以尝试将 setTimeout 链接在一起,如下所示:
function refreshments() {
setTimeout(function(){
//Do stuff
refreshments();
}, 1000);
}
refreshments();
相关文章:
- cpu:phantom:page的比例可以大于1:1:1吗
- Architecture for CPU intensive tasks with NodeJS & Socke
- 使用PHP来阻止用户下载代码,但代码占用cpu
- Express.js应用程序最大CPU
- PhantomJS与嵌入式web服务器只使用一个CPU
- 谷歌折线高内存使用率
- 如何避免webGL着色器加载给cpu带来太多负载
- 具有高 CPU 使用率的网页 -- 如何分析
- HTML5 文件上传块/切片会导致高 CPU 使用率
- Galleria.io 和骨干网.js CPU 使用率 100%
- JavaScript setInterval之后的高CPU使用率
- CPU与内存使用率(理论)
- 如何使用javascript函数保持低CPU使用率
- Javascript动画导致高cpu使用率
- Google Chrome对我的脚本有很高的CPU使用率
- React CPU使用率(快速更新)
- 降低Javascript CPU使用率
- CPU使用率高如何调试
- SetTimeout()会导致高cpu使用率
- 递归setTimeout()导致低cpu使用率