2016-05-23 3 views
0

Ich mache ein 2D-Spiel mit HTML5. Ich rendere mit einem Puffer und putImageData. Alles ist gut, für ein paar Minuten. Es gibt kein Problem mit der Bildrate und nichts erscheint in der Konsole.Chrome-Registerkarte stürzt nach dem Rendern für ein paar Minuten

Wenn ich sage, dass die Registerkarte abstürzt, spreche ich über ein "Aw, Snap! Etwas schief gelaufen ist beim Anzeigen dieser Webseite." Die JavaScript-Konsole sagt "DevTools wurde von der Seite getrennt. Sobald die Seite neu geladen wird, wird DevTools automatisch wieder verbinden." Chrome erwähnt keine Details darüber, was falsch läuft.

Bei Bedarf kann ich eine Kopie der Quelle verknüpfen. Ich denke nicht, dass es wichtig ist, weil dies bei vielen meiner Leinwandprojekte passiert ist. Die einzige Sache, die zwischen diesen Projekten ähnlich ist, ist, dass ich den canvas 2d Kontext und requestAnimationFrame benutze.

- EDIT-

fand ich ein Work-around. Mit document.hidden kann ich entscheiden, nur zu rendern, wenn die Seite sichtbar ist.

+0

haben Sie ähnliche Probleme mit anderen Browsern? Vielleicht möchten Sie Ihre App auf Speicherlecks prüfen – InsOp

+0

Sie könnten dies nützlich finden, um GPU-Speicherlecks zu erkennen: https://developer.chrome.com/devtools/docs/rendering-settings – InsOp

+1

'.getImageData mit .putImageData 'ist speicherintensiv und sollte wahrscheinlich nicht innerhalb einer Animationsschleife ausgeführt werden. Hast du deinen Speicherverbrauch überprüft? – markE

Antwort

0

Ich fand einen Workaround. Mit document.hidden kann ich entscheiden, nur zu rendern, wenn die Seite sichtbar ist.

Verwandte Themen