我有一个简单的js脚本可以滚动图像。
奇怪的是,它在Windows上加载CPU高达100%,而在Linux上,CPU加载在同一台计算机上很少达到20%。我已经在两个平台上的firefox,chrome和opera中测试了这一点 - 结果几乎相同。
有人可以解释发生了什么吗?
<script>
var scrllTmr;
window.onload = function(){
//set style
document.getElementById('scroll').style.overflow = 'hidden';
document.getElementById('scrollme').style.float = 'left';
document.getElementById('scrollme').style.position = 'relative';
//get canvas
cw = parseInt(document.getElementById('scroll').offsetWidth);
w = parseInt(document.getElementById('scrollme').offsetWidth);
//start scroll
lft = -2101;
document.getElementById('scrollme').style.left = lft + "px";
scrollStep(cw,w,lft);
}
function scrollStep(cw,w,lft){
//calc and do step
if(lft == w * -1)
lft = cw + w;
document.getElementById('scrollme').style.left = lft + "px";
//wait and do next...
if(scrllTmr)
clearTimeout(scrllTmr);
scrllTmr = setTimeout('scrollStep(cw,w,' + (lft - 1) + ')',10);
}
</script>
事实上,任何执行某些事情的javascript代码都是那样的
答案 0 :(得分:1)
可能是视频管道中的内容。我猜这台机器会使用软件渲染,例如英特尔950或3100.视频驱动程序的差异可能会导致这种情况。
答案 1 :(得分:0)
<script>
var scrllTmr;
window.onload = function(){
//set style
document.getElementById('scroll').style.overflow = 'hidden';
document.getElementById('scrollme').style.float = 'left';
document.getElementById('scrollme').style.position = 'relative';
//get canvas
cw = parseInt(document.getElementById('scroll').offsetWidth);
w = parseInt(document.getElementById('scrollme').offsetWidth);
//start scroll
lft = -2101;
document.getElementById('scrollme').style.left = lft + "px";
scrollStep(cw,w,lft);
}
function scrollStep(cw,w,lft){
//calc and do step
if(lft == w * -1)
lft = cw + w;
document.getElementById('scrollme').style.left = lft + "px";
//wait and do next...
if(scrllTmr)
clearTimeout(scrllTmr);
scrllTmr = setTimeout('scrollStep(cw,w,' + (lft - 1) + ')',10);
}
</script>
事实上,任何执行某些事情的javascript代码都是那样的