Ich entwickle gerade eine Anwendung mit Google O3D WebGL Framework, und das ist das erste Mal, dass ich JavaScript so intensiv benutze. Die Funktionen sind nur zu etwa 20% abgeschlossen, aber bereits die Anwendung beginnt mit etwa 160 Megabyte Arbeitsspeicher, während die Anwendung läuft, verbraucht sie etwa 200kb pro Sekunde in Chrome, 2mg in FF; wie der Bildschirm aktualisiert wird. Während ich das schreibe, habe ich Chrome 9 laufen gelassen und es hat gerade 400 Megabyte Speicherverbrauch erreicht. Ich mache mir jetzt vor allem mit der Verwendung von FF etwas vor und suche nach einer wirklich guten Dokumentation über die Optimierung von JavaScript, die Verhinderung von Speicherlecks, alles, was mir dabei helfen wird, dies grundlegend anzugehen. Ich würde auch alle Links zu großartigen Tools, die mir helfen, sehr schätzen. Danke im Voraus.Javascript Speicherverbrauch und Debugging in Chrome/Firefox (Minefield)
Edit: Ich bin auf Mozilla performance tools gestoßen, aber ich brauche etwas Einfaches zu verwenden, vorzugsweise mit einer GUI oder zumindest einem Noob freundliche Anleitung. Auch viele dieser Tools sind für Linux (ich benutze Win7) oder erfordern Kauf/nur Befehlszeile. + Ich würde wirklich gerne etwas für Chrome sehen :) aber ich werde die Antwort akzeptieren, die die nützlichsten Informationen liefert.
Bearbeiten: Die Google Chrome-Entwicklertools melden nur 10 Megabyte Speicherverbrauch, unsicher, wo der Rest herkommt.
So viel Speicherverbrauch (160 MB) ist in 3D-Anwendungen nicht ungewöhnlich. Denke darüber nach, wie viel Speicher reale 3D-Spiele aufnehmen - und obendrein ist deine App in JavaScript geschrieben! Aber der ständige Speicherzuwachs, den Sie erleben, ist wahrscheinlich auf eine Art Speicherverlust zurückzuführen, obwohl ich Ihnen nicht mehr helfen kann. –
@musicfreak: Sehr wahr, ich erwarte, dass es ziemlich viel Speicher braucht, und erfordert Benutzer einen anständigen Spezifikations-PC zu haben, aber die Erhöhung der Speicherbelegung von fire fox dauert nicht lange, um ein Benutzersystem zu maximieren Lass es offen, ich denke, es ist das Beste, was ich jetzt ausgehandelt habe, bevor ich weitermache! wie ich in der Lage sein, in Zukunft solche Dinge anzugehen :) – Chris
Ja, stimmt, und ich denke definitiv, dass das auf Speicherlecks zurückzuführen ist (entweder in der WebGL-Implementierung oder Ihrer Anwendung, höchstwahrscheinlich letzteres), aber ich gerade Ich wollte erwähnen, dass die ursprüngliche Speichernutzung wahrscheinlich nicht deine Schuld ist. :) –