Gerhard Feil: Arbeitsspeicher Probleme durch Webseite???

Hallo,

Beim Laden einer bestimmten Webseite habe ich folgende Probleme:
1. extreme Prozessorauslastung
    (Mauszeiger ist zwar noch bewegbar, aber alles andere "hängt". )
2. ca 30 Sec lang eine "ratternde" Festplatte
    (Dateiauslagerung aus dem Arbeitsspeicher?)

verwendete Hardeware: Laptop 233 Pentium, 48 MB RAM, LCD:800x600 mit 24bit Farbtiefe.
benutzter Browser: Netscape Comunicator 4.7

Als mögliche Ursache der Probleme habe ich 3 Dinge festgestellt:

1. Webseite besteht aus vielen ineinander verschachtelten Tabellen

2. Eine Tabelle hat ein riesiges Hintergrundbild (1000 x 5000 Pixel).
   Das 2farbige Gif hat zwar nur eine Dateigröße von 5k, beötigt aber
   (laut PaintShopPro) 2400K RAM-Speicher.

3. In einer anderen Tabelle wird als Hintergrundbild ein Pixel.gif definiert.
   Dieses transparente Pixel.gif (85 byte) ist 1x1 pixel groß und wird innerhalb
   der Tabelle ca 500000 mal wiederholt (gekachelt)

Nun meine Frage(n):

1.wenn in einer Tabelle( 500 x 1000 Pixel)
ein Pixelgif (1x1 Pixel / 85 byte)
als Hintergrundbild definiert wird,
dann passt es dort rund 500-tausend mal hinein.

Wenn nun diese Tabelle in Netscape angezeigt wird,
bedeutet dies,
daß es im Arbeitsspeicher 500-tausend mal diese 85 byte benötigt
um diese Tabelle anzuzeigen?
(entspricht 42500 KB und würde erklären, warum die Festplatte sich abmüht)

oder bedeutet es,
daß der Prozessor 500-tausend mal diese 85 byte aus dem Arbeitsspeicher anfragt?
(würde wenigstens noch erklären warum der Bildaufbau hängt)

oder liege ich mit beiden Vermutungen falsch und sollte die Problematik
in der Grafikkarte suchen?

mfg Gerhard Feil
(oben genanntes Problem triit auf bei: www.baustoffzentrale.de)
  allerdings nur bei Netscape und Rechnern mit wenig Arbeitsspeicher!

  1. Hallo,

    Wenn nun diese Tabelle in Netscape angezeigt wird,
    bedeutet dies,
    daß es im Arbeitsspeicher 500-tausend mal diese 85 byte benötigt
    um diese Tabelle anzuzeigen?
    (entspricht 42500 KB und würde erklären, warum die Festplatte sich abmüht)

    nicht ganz - ich vermute mal, daß das Bild an sich nur einmal in den
    Arbeitsspeicher geladen wird. Allerdings müssen für jede der 500000
    Bild-Referenzierungen Verwaltungsinformationen gespeichert werden
    (ich spekuliere mal: Position der .gif-Referenzierung, Reihenfolge
    innerhalb des HTML-Dokuments, Adresse des im Arbeitsspeicher
    befindlichen Bildes, Original-URL, evtl. Name des Objektes,... ), die sicherlich
    auch jeweils 85 Bytes oder mehr pro Instanz verschlingt. Hat im Endeffekt also
    den gleichen Effekt ;-)

    oder bedeutet es,
    daß der Prozessor 500-tausend mal diese 85 byte aus dem Arbeitsspeicher anfragt?
    (würde wenigstens noch erklären warum der Bildaufbau hängt)

    Der Rechner muß sich 500000 mal die Verwaltungsinformationen einer
    .gif-Referenzierung 'reinziehen und das ganze auch noch rendern. Gibt
    also einiges zu tun...

    oder liege ich mit beiden Vermutungen falsch und sollte die Problematik
    in der Grafikkarte suchen?

    In diesem Fall würde wohl eher mehr Speicher und/oder ein schnellerer
    Prozessor helfen. Ich würde wetten, der Betreiber der Webseite hat einen Geheim-
    Vertrag mit Intel und soll beweisen, daß das Internet durch Einsatz des
    Pentium III tatsächlich schneller wird ;-)

    Bis dannundwann

    Andreas

    1. Webseite besteht aus vielen ineinander verschachtelten Tabellen

    ... ohne Angabe von WIDTH? Dann hat der Browser einiges zu rechnen, um das "optimale" Layout zu berechnen.
    Hier hast Du den Grund für die CPU-Belastung, und wahrscheinlich auch für das Swapping, weil der Browser hier viel ausprobieren wird und dafür vermutlich einiges an Speicher braucht - direkt vor der Anzeige wird die Seite nun mal in Graphikform dargestellt, egal wie klein der HTML-Text vorher war.

    1. Eine Tabelle hat ein riesiges Hintergrundbild (1000 x 5000 Pixel).
         Das 2farbige Gif hat zwar nur eine Dateigröße von 5k, beötigt aber
         (laut PaintShopPro) 2400K RAM-Speicher.

    Aber nur einmal. Reinsaugen, darstellen, fertig.
    Sicherlich muß der Browser das Bild gegenüber dem realen Bildschirm noch clippen, aber ich denke, dies ist das kleinste Deiner drei Probleme.

    1. In einer anderen Tabelle wird als Hintergrundbild ein Pixel.gif definiert.
         Dieses transparente Pixel.gif (85 byte) ist 1x1 pixel groß und wird innerhalb
         der Tabelle ca 500000 mal wiederholt (gekachelt)

    Das ist lästig.
    Egal, ob der Browser sich eine einzige große Graphik aus 500000 Pixeln zusammenbastelt oder das Kacheln in einer Schleife durch Zugriffe auf das Mini-Bild macht, in jedem der beiden Fällen muß er viel rechnen.
    Wenn Du eine 5*5-Graphik verwendest, die als Datei kaum mehr Bytes belegt, geht das Rendern sicherlich spürbar schneller.

    Wenn nun diese Tabelle in Netscape angezeigt wird,
    bedeutet dies,
    daß es im Arbeitsspeicher 500-tausend mal diese 85 byte benötigt
    um diese Tabelle anzuzeigen?

    Nein, nur 500K einzelne Pixel, nicht 500k mal die Verpackung desselben.

    oder bedeutet es,
    daß der Prozessor 500-tausend mal diese 85 byte aus dem Arbeitsspeicher anfragt?

    Hoffentlich auch das nicht (sonst: Browser-Programmierer erschießen).

    oder liege ich mit beiden Vermutungen falsch und sollte die Problematik
    in der Grafikkarte suchen?

    Die ist sicherlich weder an der CPU-Belastung noch an der Swapping-Rate schuld.
    Ich denke, eine schlappe Graphikkarte merkst Du eher, wenn Du zwischen bereits geladenen Seiten in mehreren Browser-Fenstern umschaltest.

    allerdings nur bei Netscape und Rechnern mit wenig Arbeitsspeicher!

    Das würde darauf schließen lassen, daß Netscape und M$IE unterschiedliche Algorithmen für das Tabellenlayout verwenden.