Geschwindigkeit optimieren
aus FirefoxWiki, der freien Wissensdatenbank
Es gibt viele Möglichkeiten Firefox zu beschleunigen. Einige betreffen allein das Starten, andere den Seitenaufbau. Manche Einstellungen bewirken bei dem einen nichts oder sogar das Gegenteil, bei anderen wirken sie wahre Wunder. Auch haben viele Tuningeinstellungen ihre Schattenseiten.
| Inhaltsverzeichnis |
Starten beschleunigen
Das erste Starten des Firefox nach einem PC-Neustart kann einige Zeit in Anspruch nehmen, da das gesamte Programm in den Speicher geladen werden muss. Der Internet Explorer lädt im Vergleich viel schneller, da viele Programmteile schon beim Hochfahren von Windows vorausgeladen werden.
- Dem Firefox kann man mit Hilfe des Preloaders (https://sourceforge.net/projects/ffpreloader/) auch dieses Verhalten beibringen.
- Die Erweiterung MinimizeToTray (http://www.erweiterungen.de/detail/174) kann Firefox in den Infobereich der Taskleiste minimieren und so im Speicher halten.
Wenn sehr viele Erweiterungen installiert sind, dann können diese auch zu einer Startverzögerung führen, da auch diese beim Start geladen werden. Also sollte man nur die Erweiterungen installieren, die man wirklich benötigt. Erweiterungen, die den Programmstart stark verzögern sind beispielsweise Launchy (http://www.erweiterungen.de/detail/158/) und Webdeveloper (http://www.erweiterungen.de/detail/97/).
Was experimentell gute Ergebnisse gebracht hat ist folgendes: Bei den Einstellungen -> Erweitert -> Verbindung Einstellungen -> Manuelle Proxy: HTTP Proxy Field: 127.0.0.1 , Port: 0 -> OK, Neustarten.
Surfgeschwindigkeit verbessern
Tuning Tools
In letzter Zeit werden immer mehr Tuning Tools für Firefox angeboten. Sie führen im Großen und Ganzen das aus, was im Kapitel "manuelle Konfiguration" beschrieben wird.
Es gibt für Windows unter anderem diese Tools:
- FireTune (http://www.totalidea.com/content/firetune/firetune-index.html) von Totalidea Software. FireTune ist kostenlos erhältlich.
- FireTweaker (http://www.emilsoft.net/products/firetweaker.php) von Emilsoft. Ebenfalls kostenlos. Benötigt Microsoft .NET Framework.
- TuneUp Utilities 2008 (http://www.tuneup.de/products/tuneup-utilities/) von TuneUp Software bieten neben einer großen Menge anderer Einstellungsmöglichkeiten auch Tuningeinstellungen für den Firefox. Diese Suite ist aber kostenpflichtig.
Tuning Erweiterungen
Auch Erweiterungen, die sich speziell dem Beschleunigen von Firefox widmen, wurden programmiert:
- Tweak Network (https://addons.mozilla.org/extensions/moreinfo.php?id=327): Hiermit können die Verbindungseinstellungen verändert werden.
- Fasterfox (http://fasterfox.mozdev.org/): Bietet neben dem normalen Verbindungstuning auch noch ein erweitertes Prefetching von Links (http://www.firefox-browser.de/wiki/Link_Prefetching) an.
Manuelle Konfiguration
Diese Auswahl an Konfigurationen erhöhen die Surfgeschwindigkeit im Firefox.
Wer sich über die einzelnen Einstellungen informieren will, kann in der Referenz der about:config-Einstellungen nachschauen.
Alle angegebenen Codezeilen sind für die user.js, die sich im Profilordner befindet, gedacht.
Der folgende Code für das Pipelining kann erst einmal für alle Konfigurationen übernommen werden. Sollte es auf einigen Webseiten zu Darstellungsfehlern kommen, sollte das Pipelining wieder abgestellt werden.
user_pref("network.http.pipelining", true);
user_pref("network.http.proxy.pipelining", true);
user_pref("network.http.pipelining.maxrequests", 8);
user_pref("content.notify.backoffcount", 5);
Zusätzlich sollte dann noch eine der folgenden Konfigurationen genommen werden:
Schneller Computer (CPU > 1,5 Ghz, RAM ≥ 512 MB) / Schnelle Verbindung (DSL, Kabel oder schneller)
user_pref("content.interrupt.parsing", true);
user_pref("content.max.tokenizing.time", 2250000);
user_pref("content.notify.interval", 750000);
user_pref("content.notify.ontimer", true);
user_pref("content.switch.threshold", 750000);
user_pref("nglayout.initialpaint.delay", 0);
user_pref("network.http.max-connections", 48);
user_pref("network.http.max-connections-per-server", 16);
user_pref("network.http.max-persistent-connections-per-proxy", 16);
user_pref("network.http.max-persistent-connections-per-server", 8);
user_pref("browser.cache.memory.capacity", 65536);
user_pref("ui.submenuDelay", 0);
Die vorletzte Zeile bestimmt die RAM-Cache-Größe. Dies kann, entsprechend der Ausstattung, geändert werden. Mehr kann man unter Cache finden. Die letzte Zeile legt fest, wie lange es dauert, bis Untermenüs beim Überfahren mit der Maus geöffnet werden. Wenn man eine Verzögerung will, kann man die Zahl erhöhen.
Schneller Computer / Langsamere Verbindung (DSL light oder ISDN über zwei Leitungen)
user_pref("content.max.tokenizing.time", 2250000);
user_pref("content.notify.interval", 750000);
user_pref("content.notify.ontimer", true);
user_pref("content.switch.threshold", 750000);
user_pref("network.http.max-connections", 48);
user_pref("network.http.max-connections-per-server", 16);
user_pref("network.http.max-persistent-connections-per-proxy", 16);
user_pref("network.http.max-persistent-connections-per-server", 8);
user_pref("nglayout.initialpaint.delay", 0);
user_pref("browser.cache.memory.capacity", 65536);
user_pref("ui.submenuDelay", 0);
Schneller Computer / Langsame Verbindung (Modem, ISDN)
user_pref("content.interrupt.parsing", true);
user_pref("content.max.tokenizing.time", 3000000);
user_pref("content.maxtextrun", 8191);
user_pref("content.notify.interval", 750000);
user_pref("content.notify.ontimer", true);
user_pref("content.switch.threshold", 750000);
user_pref("network.http.max-connections", 32);
user_pref("network.http.max-connections-per-server", 8);
user_pref("network.http.max-persistent-connections-per-proxy", 8);
user_pref("network.http.max-persistent-connections-per-server", 4);
user_pref("nglayout.initialpaint.delay", 0);
user_pref("browser.cache.memory.capacity", 65536);
user_pref("ui.submenuDelay", 0);
Langsamer Computer (CPU < 1.5Ghz, RAM < 512MB) / Schnelle Verbindung
user_pref("content.max.tokenizing.time", 3000000);
user_pref("content.notify.backoffcount", 5);
user_pref("content.notify.interval", 1000000);
user_pref("content.notify.ontimer", true);
user_pref("content.switch.threshold", 1000000);
user_pref("content.maxtextrun", 4095);
user_pref("nglayout.initialpaint.delay", 1000);
user_pref("network.http.max-connections", 48);
user_pref("network.http.max-connections-per-server", 16);
user_pref("network.http.max-persistent-connections-per-proxy", 16);
user_pref("network.http.max-persistent-connections-per-server", 8);
user_pref("dom.disable_window_status_change", true);
Eine Änderung in dieser speziellen Konfiguration ist die Schlusszeile, in der die Statuszeile beim Seitenwechsel deaktiviert wird um Prozessorzeit zu sparen.
Langsamer Computer / Langsame Verbindung
user_pref("content.max.tokenizing.time", 2250000);
user_pref("content.notify.interval", 750000);
user_pref("content.notify.ontimer", true);
user_pref("content.switch.threshold", 750000);
user_pref("nglayout.initialpaint.delay", 750);
user_pref("network.http.max-connections", 32);
user_pref("network.http.max-connections-per-server", 8);
user_pref("network.http.max-persistent-connections-per-proxy", 8);
user_pref("network.http.max-persistent-connections-per-server", 4);
user_pref("dom.disable_window_status_change", true);
Vor allem sollte einem bewusst sein, dass verschiedene Erweiterungen den Seitenaufbau auch verlangsamen können. Gerade Adblock mit einem großen Filter ist dafür bekannt den Seitenaufbau zu verzögern, da alle Bilder und Objekte mit dem Filter verglichen werden müssen. Ein kleiner optimierter Adblock-Filter kann dagegen den Seitenaufbau deutlich beschleunigen, da geblockte Objekte nicht mehr aus dem Internet geladen werden müssen. Gerade bei einem schnellen Computer, aber einer langsamen Internetverbindung ist die Benutzung von Adblock empfehlenswert.
Ab Version 2.0 sollte Adblock_Plus verwendet werden.
Optimierte Builds
Es werden von Entwicklern aus der Community spezielle (inoffizielle) Builds entwickelt, welche auf bestimmte Prozessoren und Befehlssätze optimiert sind. Dadurch kann es in Verbindung mit dem jeweiligen Prozessor zu einer Geschwindigkeitssteigerung kommen. Bei der Benutzung eines Builds sollten die oben genannten Codes mit Vorsicht genossen werden, da es in einigen (wenigen) Fällen dann sogar zu Geschwindigkeitsverlusten gekommen ist.
Im Mozillazine-Forum gibt es einen eigenen Bereich, wo viele Community-Builds vorgestellt werden: http://forums.mozillazine.org/viewforum.php?f=42.
Auch im deutschen Firefox-Forum gibt so einen Bereich (http://www.camp-firefox.de/forum/viewtopic.php?f=7&t=30873).
Für Linux gibt es Swiftfox (http://www.getswiftfox.com) in optimierten Versionen für alle gängigen CPUs. Unter der Distribution Kubuntu z.B. ist ein deutlicher Geschwindigkeitszuwachs spürbar. Leider veröffentlicht der Autor Swiftfox nicht unter einer freien Lizenz, so ist Swiftfox proprietäre Software und man weiß nicht, was sich noch für Änderungen im Quellcode befinden könnten. Außerdem ist es eine Verletzung der Mozilla Public License.
Eine freie, optimierte (Linux-)Version von Firefox ist Swiftweasel (http://swiftweasel.tuxfamily.org/).
Testseiten
Es gibt bestimmte Seiten mit denen sich die Aufbaugeschwindigkeit von Webseiten messen lässt. Mit Stopwatch (http://www.numion.com/stopwatch/) kann man die Renderzeit jeder beliebigen Seite messen. Mit der Testseite (http://scragz.com/tech/mozilla/test-rendering-time.php) von Scragz lässt sich hingegen nur die Zeit messen, die für den Aufbau einer riesigen Tabelle benötigt wird.
Möchte man nun verschiedene Konfigurationen mithilfe dieser Seiten messen, dann sollte man aber auch für Chancengleichheit sorgen und jedesmal gleiche Bedingungen schaffen. Es empfiehlt sich daher jedesmal den Cache zu löschen. Auch sollte man keine Veränderungen an den Erweiterungen vornehmen, da dies den Test ebenfalls verfälscht. Außerdem sollte man den Test stets mehrmals durchführen und dann einen Durchschnittswert errechnen.
Außerdem gibt es die Firefox-Erweiterung Fasterfox, welche die Ladezeit für die aktuelle Webseite in der Statusleiste anzeigt. http://fasterfox.mozdev.org/
Mögliche Probleme
Bei den Tuning-Maßnahmen ist zu bedenken, dass diese Einstellungen (speziell bzgl. pipelining) standardmäßig nicht ohne Grund deaktiviert sind. Der Mozilla-Entwickler Asa Dotzler schrieb bereits im Dezember 2004 in seinem Weblog (http://weblogs.mozillazine.org/asa/archives/007164.html) darüber. Fazit daraus: Nicht alle Server können richtig mit den zahlreichen Anfragen umgehen, bei manchen Seiten kann dies dazu führen, dass sie nicht mehr richtig angezeigt werden.
Weblinks
Ein Thread (http://forums.mozillazine.org/viewtopic.php?t=53650) im Mozillazine-Forum erklärt die Tuning-Einstellungen.
Hier gibt es Deutsche optimierte Builds (http://www.camp-firefox.de/forum/viewtopic.php?f=7&t=30873).
Englischsprachige Builds werden auf folgenden Seiten angeboten:
