2012-07-29 3 views
0

나는 ajax 트랜잭션이 수행 될 때마다 약 1 %의 추가 CPU 사용량을 사용하는 ajax 응용 프로그램이 있습니다.자바 스크립트 누적 CPU 사용량

1 시간 후에 사용자 작업이없는 경우 페이지가 다시로드되고 CPU 사용량이 5 % 미만으로 떨어지나 각 ajax 트랜잭션이 수행 될 때 CPU 사용량이 늘어나고 페이지가 다시로드 될 때까지 절대로 해제되지 않습니다.

나는 고아 타이머가 의심 스럽지만 아무 것도 찾을 수없는 것 같습니다. 나는 파이어 폭스와 파이어 버그를 사용하고 있으며, 필자가 예상하는 호출을 보여줍니다. 트랜잭션이 완료되고 페이지가 비활성 상태 (1 초 타이머 시계 이외) 인 경우 프로필을 작성하면 화면 클럭에 실시간 이외의 타이머가 표시되지 않습니다.

이것이 무엇인지에 대한 제안과 그것을 어떻게 추적 할 수 있습니까 ??

나는 순수한 자바 스크립트를 사용하고 있습니다.

+0

사람 :-) 여기 http://stackoverflow.com/a/4534459/538866 겉으로는 간단한 BBC 계산 스크립트에 대한 같은 논의를했다이 도움 당신이 할 수 있습니까? –

+1

그것은 AJAX가 아니며 매번 응답을 통해 수행하고있는 작업입니다. 코드를 게시 할 수 있습니까? –

+0

어떤 브라우저 또는 사용자 에이전트입니까? – austincheney

답변

0

OK, 내 초기 본능이 올바르다. 아약스가 호출 할 때마다 서버 시간을 로컬 실시간 시계와 동기화한다. 동기화가 중요하기 때문에.

변수를 setInterval() 함수에 할당하지 않았으며 로컬 시계를 다시 동기화하기 전에 window.clearInterval()을 사용하여 이전 setInterval()을 지우지 않았습니다. 이로 인해 계속 증가하는 setInterval() 활성 호출이 발생했습니다.

감사 어쨌든