Beim Entwickeln von fortgeschrittenen JS-Interfaces und Spielen habe ich herausgefunden, dass ich tiefer einsteigen muss, wie Browser Speicher für JS handhaben. Meine Erfahrung mit Speicher und JavaScript ist, dass der Speicher gegloggt wird (und Animationen und Berechnungen verlangsamt / verzögert), wenn:
Ich habe daher festgestellt, dass, wenn ich mein Gedächtnis frisch halten möchte, ich so viel HTML-Code wie möglich vom Anfang des Dokuments einfügen sollte, da es zwischengespeichert und nicht im Speicher gehalten wird. Und natürlich entfernen Sie alle derzeit nicht verwendeten Elemente.
Hat jemand mehr Informationen dazu? Ressourcen? Links?
Einige Dinge zu beachten:
Im Allgemeinen ist Javascript selbst kein Leistungsengpass. Was es tötet, ist die Interaktion mit dem DOM. Code, der das DOM nicht berührt, hat selten Leistungsprobleme. Es gibt hier nur Faustregeln: Interagieren Sie so selten wie möglich mit dem DOM, halten Sie die DOM-Komplexität so gering wie möglich, vermeiden Sie wiederholte Seitenumbrüche.
Für den Anfang. Alles HTML, ob es "von Anfang an enthalten" ist oder nicht, wird im Speicher gehalten. Höchstwahrscheinlich auch der gesamte Bildinhalt für die aktuelle Seite. Auf ein Minimum, alles, was Sie auf dem Bildschirm zu einem bestimmten Zeitpunkt sehen, wird zu diesem Zeitpunkt im Speicher gehalten.
Es hängt eher davon ab, was Sie damit tun, um ehrlich zu sein. Viele Grafiken werden nicht zu Javascript hocken, wenn Sie nicht mit ihnen interagieren, aber wenn Sie eine riesige Seite mit verschiedenen Elementen gefüllt haben und Sie suchen das gesamte Dokument nach einem einzelnen Element, dann ist das ein anderer Ding völlig.
Ich hatte Probleme, Dinge wie große Mengen von Ereignissen auf Seiten hinzuzufügen. Zu viele Schleifen in einer Seite und zu viele Timer ausführen.
Wenn JavaScript-Leistung ein Problem darstellt und Sie intensives JavaScript ausführen möchten, sollten Sie sich Webworkers ansehen . Hier noch ein paar Links zu Webworkern:
Tags und Links javascript optimization memory