我遇到了一个奇怪的问题 - 应用程序在运行时会迅速减速。只有想到的是内存泄漏,但如何在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();
}
如你所见,这是非常简单的,我真的很困惑,泄密可能在哪里。 应用程序本身在这里: link,从菜单中选择“滚动条”。
感谢您的时间。
答案 0 :(得分:0)
问题被证明是微不足道的,因为它很烦人 - 在使用lineTo绘制表单之前,没有应用 .beginPath()方法。 感谢所有评论的人。