Приложение HTML5 canvas (javascript) - как обнаружить утечку памяти? - PullRequest
1 голос
/ 31 октября 2010

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

function draw_ship(){
    //Body
    var sbpaint = ctx.createLinearGradient(shipx+20,shipy,shipx+20,shipy+15);//painting the ship
    sbpaint.addColorStop(0,'rgb(220,220,230)');
    sbpaint.addColorStop(1,'rgb(150,150,160)');
    ctx.fillStyle = sbpaint;
    ctx.moveTo(shipx,shipy);
    ctx.lineTo(shipx+40,shipy);
    ctx.lineTo(shipx+55,shipy+15);
    ctx.lineTo(shipx-15,shipy+15);

    ctx.fill();
    //Head
    var shpaint = ctx.createLinearGradient(shipx+20,shipy,shipx+20,shipy-20);
    shpaint.addColorStop(0,'rgb(200,200,210)');
    shpaint.addColorStop(1,'rgb(100,100,110)');
    ctx.fillStyle = shpaint;
    ctx.arc(shipx+20,shipy,20,Math.PI,Math.PI*2,false);
    ctx.fill();
}

Как видите, это очень просто, и я действительно озадачен тем, где может быть утечка.Само приложение находится здесь: ссылка , выберите «Скроллер» из меню.

Спасибо за ваше время.

1 Ответ

0 голосов
/ 05 ноября 2010

Проблема оказалась такой же тривиальной, как и раздражающей - отсутствие метода .beginPath () , примененного перед рисованием форм с помощью lineTo.Спасибо всем, кто прокомментировал.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...