Ich arbeite an einem Canvas-Element, und ich dachte, ich würde einige einfache Grafikelemente hinzufügen, aber aus irgendeinem Grund mahlen sie die fps zum Stillstand. Ohne sie ist es 60fps, mit ihnen es innerhalb einer Minute davon bis auf 3-4 fps verlangsamt läuft:Riesiges Speicherleck in Javascript
ctx.rect(0, 0, cnv.width, cnv.height);
ctx.fillStyle = ctx.createPattern(albImg[8], "repeat");
ctx.fill();
ctx.lineWidth="1";
ctx.strokeStyle="#5d92de";
ctx.rect(173.5,638.5,623,98);
ctx.stroke();
Was mache ich falsch?
was sind die Bildeigenschaften von albImg [8]? ist es riesig? –
Warum erstellen Sie ein neues Muster für jeden Frame? Das kann nicht schnell sein. – ssube
yeah, du hast Recht, ich sollte wahrscheinlich das Muster in einem anderen Kontext statt und dann verwenden Sie das Ssube: Nein, es ist ein kleines Symbol - 358 Bytes. Der komische Teil ist, dass, selbst wenn ich die Top 3 Zeilen auskommentiere, es immer noch mit den verbleibenden 4 Zeilen zum Stillstand kommt - es dauert nur ein bisschen länger, was wirklich komisch ist. mit allen 7 Zeilen entfernt der Rest der Leinwand läuft gut für Stunden ohne einen Sprung in fps. –