2013-04-10 2 views
0

У меня есть одна серьезная проблема, касающаяся карусели на холсте. Я решил, как первый подход html/canvas/javascript, попытаться сделать себе карусель.Утечка памяти - Javascript/jquery and canvas

Вы можете найти его здесь, на everypage моей странице http://www.wizopunk-art.com я отключенной карусель, так просто ...

var wizopunk = new backroundViewer("backgroundCanv"); 

..somewhere в консоли

Как вы могли бы Сенс сразу , анимация не очень эффективна .. Кажется, у меня какая-то утечка памяти, но я не могу ее самостоятельно найти. Я надеялся, что у вас может быть какой-то намек, например полезные инструменты или даже если кто-то захочет бросить взгляд на мой собственный сценарий. У меня сложилось впечатление, что каждая картина, которую я рисую на холсте, хранится в памяти.

здесь ссылку на сценарий: http://www.wizopunk-art.com/javascript/carousel.js

Я не знаю, если мое описание достаточно точным, и я не имею в виду, чтобы беспокоить или что-то .. поэтому, пожалуйста, просто скажите мне, если я что-то отсутствует в моем сообщении

PS: извините за мой бедный английский ..

ответ

0

... Первый лучший способ создания цикла рендеринга использует requestAnimationFrame вместо setInterval. Другое дело - сначала сделать все в фоновом режиме. Здесь вы можете найти множество рекомендаций по разработке с помощью элемента canvas. (http://www.html5rocks.com/en/tutorials/canvas/performance/)

+0

Прежде всего, спасибо за ваш ответ! Итак, я изменил все свои setTimout на requestAnimationFrame (нашел небольшой скрипт для нормализации). Ничего не изменилось. Я прочитал содержание вашей ссылки, довольно интересно, но кроме «requestAnimationFrame», я уже пробовал все :) У меня есть буферный холст. Я просто начинаю удивляться, картинки слишком большие и слишком тяжелые, чтобы рисовать в таких анимациях? – wizopunker

+0

У кого-нибудь есть идея? знак равно – wizopunker