Multithreading / Multitasking im Firefox ?

  • hi ppl, hier @home (und auch @work) hab ich Mozilla/5.0 (X11; U; Linux x86_64; de; rv:1.8.1.4) Gecko/20070602 Firefox/2.0.0.4 am laufen. Die wären ja soweit ganz nett, wenn sie nicht dauernd hängen würden.

    Situation: auf meinen 10 Desktops sind ca. 10 Firefoxfenster ungleichmäßig verteilt. Des öfteren lade ich Seiten, die aufwendige Layouts oder Javascript-Berechnungen drin haben.

    Problem: sobald irgendwo eine solche Seite geladen wird, hängen alle Firefoxe auf allen Desktops. Das ist ziemlich doof, weil ich an nichts parallel arbeiten kann, während nur ein Fenster rechnen muss. Selbst Updates-Kommandos vom xorg können nicht bearbeitet werden.

    Praktisch wäre es, wenn jedes Fenster seinen eigenen Thread hat, dessen vollsauslastung nicht alle anderen Fenster in Mitleidenschaft zieht.

    Weiß jemand, ob so ein Feature geplant ist oder ob man es mit use-flags (gentoo) einschalten kann ?

    edit: mit signatur jetzt.

  • Zitat von liquidnight

    Praktisch wäre es, wenn jedes Fenster seinen eigenen Thread hat, dessen vollsauslastung nicht alle anderen Fenster in Mitleidenschaft zieht.

    Das ist leider nicht so einfach möglich, weil es in JavaScript (und das wird nicht nur von Webseiten sondern auch von Firefox für die ganze GUI verwendet) so Konstrukte wie window.opener gibt, die auf andere Fenster verweisen und es auch ermöglichen, Skripte von dort auszuführen. Wenn dann jetzt 2 Threads in 2 verschiedenen Fenstern laufen würden, gäbe es ziemliche Schwierigkeiten bei der Synchronisation und am Ende wären sie im Zweifelsfall eh nur damit beschäftigt, aufeinander zu warten...

  • Zitat von Dr. Evil

    Das ist leider nicht so einfach möglich, weil es in JavaScript (und das wird nicht nur von Webseiten sondern auch von Firefox für die ganze GUI verwendet) so Konstrukte wie window.opener gibt, die auf andere Fenster verweisen und es auch ermöglichen, Skripte von dort auszuführen.

    das scheint leider so zu sein, wobei ich sagen muss, das das prinzipiell ein ziemlicher mist ist. lieber sollte ein ff-fenster überhaupt keinen zugriff auf ein anderes fenster haben, als dass man sich so einen klotz (singletasking) ans bein bindet.

    mein eindruck ist eher, dass mehr und mehr oberflächen und funktionalitäten auf web-oberflächen gezogen werden. wenn man nun mehrere solcher browser-vergewaltigende applikationen am laufen hat, ist das in der momentanen single-task-implementation geeignet, den tag mit warten zu verschwenden :) . in der zukunft wäre es also durchaus praktisch, entweder mehrere ff-tasks zu betreiben oder die threads stärker zu entkoppeln.

    Hab mir mal die Version 3.0a6 x86_64 gezogen, da scheint es auf den ersten Blick besser zu sein. in den changelogs und dokumentationen zur 3er version hab ich im threading-bereich jedoch nur bugfixes und kleinere änderungen gesehen.