2010-03-04 12 views
0

나는 수평 스크롤을하는 간단한 js 스크립트가있다.다른 플랫폼의 자바 스크립트

이상한 것은 윈도우에서 CPU를 최대 100 %로드하는 반면, 리눅스에서는 동일한 컴퓨터에서 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> 

, cotiniously 무언가를 어떤 자바 스크립트 코드는 그런 식으로

+4

예,'var foo = bar;'에서'var foo = baz;'로 42 행을 변경하십시오. 진심으로? 살펴볼 코드, 링크 및/또는 리소스를 제공하십시오. 우리는 마음을 읽지 않습니다. = P – anddoutoi

+0

몇 가지 코드를 보여 주면 설명 할 수 있습니다. –

+1

@anddoutoi : +1,하지만 우리 중 일부는 마음을 읽습니다. 나는 ... 풍자의 느낌을 받고 있습니다 ... – Robusto

답변

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> 

사실, 뭔가 cotiniously 비디오 파이프 라인

+0

답변을 제공하는 대신 질문을 편집해야합니다. –

+0

면책 사유 ... – Vetal

1

아마 뭔가를 그런 식으로 작동하지 않습니다 모든 자바 스크립트 코드를 동작 . 이 기계가 소프트웨어 렌더링을 사용하고 있다고 생각합니다. Intel 950 또는 3100. 비디오 드라이버의 차이로 인해이 문제가 발생할 수 있습니다.

+0

인텔사 모바일 945GM – Vetal

관련 문제