2012-05-25 3 views
0

Windows XP에서 Raphael 2.01, Firefox 12.0을 사용하고 있습니다.Raphael.js - 스크립트는 가벼운 것처럼 보이지만 실행은 무겁습니다 - 왜?

저는 트윈 애니메이션이 아닌 연속적인 오브젝트 모션을 시도했습니다. 내 스크립트로 인한 부담은 가볍지 만 PC의 냉각 팬 소리는 커질 것입니다!

이유와 해결책을 알고 싶습니다.

(단계)

  • 는 내가 문서에 여러 개의 원형 개체 (10-5)를 설정합니다.

  • 계속됩니다. 문서의 가장자리에 닿으면 복귀 (반대 방향으로 이동)하지만 동작이 느려집니다. 내가 구글 크롬의 작업 관리자의 PC의 부하를 검사 할 때

  • 는 메모리 사용량이 커지고 (40메가바이트 ===> 1백50메가바이트 ===> ...)

(스크립트)가된다

http://jsfiddle.net/JsL46/3/

* 죄송합니다. "jsfiddle"에 코드를 붙여 넣으면 circle 객체가 나타나지만 실행되지 않습니다.

+0

jsFiddle을 뒤범벅하면, 메모리 누수가 문제가 아닌 것 같습니다. 디버그, 리팩터링 및 수정을 통해보다 간결한 질문을하십시오. –

+0

Eliran, 그리고 늦게 내 대답에 대해 사과드립니다. 나는 "translate()"가 많은 메모리를 소비한다고 생각하며, 메모리 소비를 줄이기 위해 "animate()"함수를 선택하는 것이 더 좋은 방법이다 ( ). 그러나이 방법은 선의 수학적 동작 설명을 매우 잘 수행합니다. 그래서 저는 라파엘 계획에 대해 더 많이 배웁니다. – Crane

답변

0

RaphaelJS는 기존의 스타일 변경 및 오프셋을 사용하여 애니메이션을 수행하므로 많은 문자가 발생하고 repaints and reflows이 발생합니다. left/right movement과 같은 간단한 경우 브라우저의 부하를 줄이려면 SVG SMIL animation을 사용하십시오.