joey: IE hat auch mal was Positives

Hallo,

es ist kaum zu glauben, aber der IE hat auch mal was Positives.

Ich benutze JavaScript zum Zeichnen von Linien und Kreisen etc. in dem ich für jeden zu setzenden Punkt ein DIV anlege.

Firefox/Mozilla/Netscape (was diesbezüglich wohl alles das Gleiche ist) machen nach ca. 5000 Punkten/Ebene schlapp. Der Browser friert ein.

Der IE macht auch noch 15000(!) DIVs möglich.

Nach dem immer auf dem IE so rumgehackt wird, dachte ich mir, dass man ruhig auch mal was positives schreiben kann.

Einen schönen Sonntag

  1. Hallo,

    Ich benutze JavaScript zum Zeichnen von Linien und Kreisen etc. in dem ich für jeden zu setzenden Punkt ein DIV anlege.

    Falls es Dich interessiert: Es gibt da schon eine fertige Graphikbibliothek, die das etwas intelligenter macht, als für jeden Punkt eine Ebene: http://www.walterzorn.de/jsgraphics/jsgraphics.htm.

    Viele Grüße,
    Christian

    1. Hallo Christian Seiler,

      das Zusammenfassen mehrere Punkte zu größeren Blöcken funktioniert aber nur bei Linien mit Steigung ungleich 1 und bei Flächen. Bei reinen "Pixelwüsten" gibt es keine Optimierungsmöglichkeiten.
      Die Bibliothek von Walter Zorn setzt die Elemente noch mit document.write (2002!). Ich glaube, mit createElement geht das ganze doch etwas schneller.

      Gruß, Jürgen

      1. Die Bibliothek von Walter Zorn setzt die Elemente noch mit document.write (2002!). Ich glaube, mit createElement geht das ganze doch etwas schneller.

        Ich hatte das mit der Bibliothek von Walter Zorn gemacht, da ich aber in diesem Fall nur einzelne Punkte setze, wird das Ganze recht groß. Auch habe ich das noch nicht optimiert.

        Es geht um das Zeichnen eine Sierpinski-Dreiecks und wenn ich es mir recht überlege, werde viele DIVs wohl die gleiche Stelle markieren. Ich müsste halt doppelte gar nicht erst zeichnen. Allerdings fehlt mir hier noch ein effizienter Ansatz. Denn einfach eine Array anzulegen in dem alle DIVs verwaltet werden und für jedes DIV einmal durch dieses Array zu laufen, um zu sehen ob es schon da ist, ist recht aufwendig.

        1. Hallo joey,

          bei der Logistischen Abbildung kommt es auch oft vor, dass ein Pixel mehrfach gesetzt wird. Ich speichere daher die Pixelmap in einem Array zwischen und setze erst dann die Pixel. So habe ich zwar mehrfache Arrayzugriffe, aber die Pixel selbst werden nur einmal gesetzt.

          Gruß, Jürgen

  2. Hallo joey,

    Ich benutze JavaScript zum Zeichnen von Linien und Kreisen etc. in dem ich für jeden zu setzenden Punkt ein DIV anlege.

    du auch?

    Firefox/Mozilla/Netscape (was diesbezüglich wohl alles das Gleiche ist) machen nach ca. 5000 Punkten/Ebene schlapp. Der Browser friert ein.

    Der IE macht auch noch 15000(!) DIVs möglich.

    Ich habe das zwar nicht nachgemessen, aber auch mein Eindruck war, dass der IE etwa zweimal schneller ist, als der FF. Wobei der FF 1.5 aber "deutlich" aufgeholt hat.
    Das Problem mit dem Einfrieren der Browser, das auch der IE bei rechenintensiven Scripten zeigt, habe ich umgangen, indem ich die Schleifen in kleinere Blöcke mit 0.5 sec Laufzeit zerlegt habe und diese mit einer settimeout-Kette aufrufe. Siehe z.B. http://www.j-berkemeier.de/LogistischeAbbildung.html.

    Gruß, Jürgen

  3. Hallo Joey,

    Ich benutze JavaScript zum Zeichnen von Linien und Kreisen etc. in dem ich für jeden zu setzenden Punkt ein DIV anlege.

    Firefox/Mozilla/Netscape (was diesbezüglich wohl alles das Gleiche ist) machen nach ca. 5000 Punkten/Ebene schlapp. Der Browser friert ein.

    Der IE macht auch noch 15000(!) DIVs möglich.

    Naja, das ist aber auch eher Vergewaltigung von HTML. Da gibt es bestimmt effizientere Methoden für.

    Schöne Grüße,

    Johannes

    --
    ie:% fl:( br:< va:| ls:[ fo:) rl:) n4:? ss:| de:] js:| ch:} sh:) mo:| zu:)