steckl: Performanceprobleme mit Frameset

Hallo,

ich habe ein Perl-Script, das 3 Frames untereinander generiert in denen die Inhalte wieder durch ein Perl-Script generiert werden.
Der obere Frame dient zur Navigation und sollte immer sichtbar sein.
In den beiden unteren Frames werden Datensaetze aus einer Datenbank angezeigt. Da ziemlich viele Daten angezeigt werden muss hier meistens gescrollt werden.

Bis alles fertig aufgebaut ist vergeht aber ziemlich viel Zeit. (Dies liegt wohl nicht an der Geschwindigkeit der Scripts, da diese nichtmal eine Sekunde brauchen, bis sie abgearbeitet werden)

Jetzt bin ich am Ueberlegen, die Frames zusammenzufassen. Da dies ziemlich viele Umstellungen in den Scripts zur Folge haette wollte ich erst nochmal fragen, ob dies die Geschwindigkeit deutlich steigern wuerde.

Ausserdem sehe ich keine moeglichkeit die Navigationsleiste auch aus dem Frameset zu nehmen, weil diese ja sonst verschwinden wuerde, wenn ich weiter runter scrolle.

schonmal danke,
steckl

  1. Hello out there!

    Jetzt bin ich am Ueberlegen, die Frames zusammenzufassen.

    Um dann gar keine Frames mehr zu haben – gute Überlegung ...

    […] ob dies die Geschwindigkeit deutlich steigern wuerde.

    ... aus falschen Gründen. Es würde die Bedienbarkeit deiner Website deutlich steigern. [Subotnik]

    Ausserdem sehe ich keine moeglichkeit die Navigationsleiste auch aus dem Frameset zu nehmen, weil diese ja sonst verschwinden wuerde, wenn ich weiter runter scrolle.

    Was nicht unbedingt schlimm ist. Du kannst auch auf längeren Seiten Anker zum Seitenanfang anbieten, wie es SELFHTML tut () und auch viele Seiten des W3C.

    Die Navigationsleiste lässt sich auch mit CSS fest http://de.selfhtml.org/css/eigenschaften/positionierung.htm#position@title=positionieren. Aber Vorsicht: Wenn die Leiste bei kleinen Viewports aus diesen herausragt, können Nutzer Teile davon nicht sehen und diesen Links nicht folgen. Also dafür sorgen, dass Scrollbalken erscheinen!

    See ya up the road,
    Gunnar

    --
    “Remember, in the end, nobody wins unless everybody wins.” (Bruce Springsteen)
    1. hallo,

      erstmal danke fuer die Antwort.

      […] ob dies die Geschwindigkeit deutlich steigern wuerde.

      ... aus falschen Gründen. Es würde die Bedienbarkeit deiner Website deutlich steigern. [Subotnik]

      aber wenn das ganze nicht schneller wird ist es mir den Aufwand nicht wert.
      Ausserdem hat es hier wohl auch Vorteile, wenn man die beiden unteren Uebersichten seperat voneinander Scrollen kann.

      Die Navigationsleiste lässt sich auch mit CSS fest http://de.selfhtml.org/css/eigenschaften/positionierung.htm#position@title=positionieren. Aber Vorsicht: Wenn die Leiste bei kleinen Viewports aus diesen herausragt, können Nutzer Teile davon nicht sehen und diesen Links nicht folgen. Also dafür sorgen, dass Scrollbalken erscheinen!

      damit hab ich noch nie was gemacht, aber dafuer gibts ja selfhtml ;)
      aber wenn ich das so mache waere es doch von der Bedienbarkeit her genau das gleiche wie ein Frameset, oder? Haette dies bei der Geschwindigkeit Vorteile?

      1. Hello out there!

        aber wenn ich das so mache waere es doch von der Bedienbarkeit her genau das gleiche wie ein Frameset, oder?

        Der optische Eindruck ist ähnlich. Aber in der Adressleiste steht der richtige URI, den man bookmarken kann ...

        Haette dies bei der Geschwindigkeit Vorteile?

        Du hättest nur noch eine Ressource (ohne externes Stylesheet etc.), nicht vier (Frameset und drei Inhaltsseiten); die Übertragung von nur einer wäre natürlich schneller.

        See ya up the road,
        Gunnar

        --
        “Remember, in the end, nobody wins unless everybody wins.” (Bruce Springsteen)
        1. hi,

          aber wenn ich das so mache waere es doch von der Bedienbarkeit her genau das gleiche wie ein Frameset, oder?

          Der optische Eindruck ist ähnlich. Aber in der Adressleiste steht der richtige URI, den man bookmarken kann ...

          das bringt mir nix, weil ich Session-IDs verwende, die beim naechsten mal eh nicht mehr gueltig sind.

          Haette dies bei der Geschwindigkeit Vorteile?

          Du hättest nur noch eine Ressource (ohne externes Stylesheet etc.), nicht vier (Frameset und drei Inhaltsseiten); die Übertragung von nur einer wäre natürlich schneller.

          Das hoert sich gut an :)

          danke,
          steckl

  2. Bis alles fertig aufgebaut ist vergeht aber ziemlich viel Zeit. (Dies liegt wohl nicht an der Geschwindigkeit der Scripts, da diese nichtmal eine Sekunde brauchen, bis sie abgearbeitet werden)

    Richtig beobachtet. Ich vermute du hast grosse HTML Tabellen. Du kannst den Seitenaufbau beschleunigen, in dem du die Tabelle in mehrere unterteilst. Also nach z.b. 20 Reihen ein print '</table><table>'; einfügen. Da solllte zumindest den Zeitpunkt der Darstellung beschleunigen.

    Ausserdem sehe ich keine moeglichkeit die Navigationsleiste auch aus dem Frameset zu nehmen, weil diese ja sonst verschwinden wuerde, wenn ich weiter runter scrolle.

    So wie ich das verstehe, würd ich an deiner Stelle nicht unbedingt auf ein Frameset verzichten, da du offensichtlich mehrere Views hast in denen man unabhängig Scrollen soll. Das geht zwar mit CSS auch, aber je nachdem welche Funktionalität du da noch eingebaut hast, ist es u.U. günstiger mehrere getrennte Fenster zu haben.

    Struppi.

    --
    Javascript ist toll (Perl auch!)
    1. hallo struppi,

      danke fuer die Antwort.

      Bis alles fertig aufgebaut ist vergeht aber ziemlich viel Zeit. (Dies liegt wohl nicht an der Geschwindigkeit der Scripts, da diese nichtmal eine Sekunde brauchen, bis sie abgearbeitet werden)

      Richtig beobachtet. Ich vermute du hast grosse HTML Tabellen. Du kannst den Seitenaufbau beschleunigen, in dem du die Tabelle in mehrere unterteilst. Also nach z.b. 20 Reihen ein print '</table><table>'; einfügen. Da solllte zumindest den Zeitpunkt der Darstellung beschleunigen.

      Es schaut so aus, als ob der Browser immer erst einen beliebigen Frame aufbaut, und erst wenn dieser vollstaendig geladen ist mit dem naechsten weitermacht. Also werden die anderen Frames trotzdem nicht schneller dargestellt. Die Reihenfolge scheint immer unterschiedlich zu sein (zumindest unter firefox). oder kann ich diese irgendwie beeinflussen, so dass ich den wichtigsten Frame als erstes anzeige?

      Ausserdem sehe ich keine moeglichkeit die Navigationsleiste auch aus dem Frameset zu nehmen, weil diese ja sonst verschwinden wuerde, wenn ich weiter runter scrolle.

      So wie ich das verstehe, würd ich an deiner Stelle nicht unbedingt auf ein Frameset verzichten, da du offensichtlich mehrere Views hast in denen man unabhängig Scrollen soll. Das geht zwar mit CSS auch, aber je nachdem welche Funktionalität du da noch eingebaut hast, ist es u.U. günstiger mehrere getrennte Fenster zu haben.

      Das schau ich mir am besten nochmal an, wie es benutzerfreundlicher ist.

      mfG,
      Steckl