Seite 5 von 5 ErsteErste 12345
Ergebnis 61 bis 70 von 70
Like Tree1Likes

Thema: meine animation Funktion bitte testen

  1. #61
    ein schlauer ist offline Lounge-Member
    registriert
    18-08-2004
    Beiträge
    14.671

    AW: meine animation Funktion bitte testen

    Die meisten Browser rufen Timeouts nur ca. alle 20ms auf. Eben weil Browser viel mehr machen müssen wofür sie auch Zeit brauchen. JS Timeouts sollen nicht den kompletten Browser einfrieren können.

    Und noch mal: Animationen haben nichts mit dem Timeout zu tun, sondern sind Resourcenfressende JS Dinge. D.h. deine Beobachtungen sind keine Konsequenz der Timeouts, sondern dass der Browser mit etwas beschäftigt ist und dann Prioritäten setzt. Dann kann es passieren, dass eine JS Bewegung in einem Hintergrundtab nicht ausgeführt wird, weil es (für den Browser) nicht wichtig ist, sondern er es ist damit beschäftigt ein andere Tab zu fokusieren oder was auch immer du siehst.

    Übrigens eine Beobachtung die auch im Rahmen dieser Diskussion gemacht habe, wenn du die Timeouts in der Timerschleife mit einem Wert um die 20ms aufrufst, laufen viele paralelle Animationen flüssiger.


    Das Threads bisher in JS nicht eingeflossen sind, liegt wohl daran, dass es damals als es entwickelt wurde, keine Notwendigkeit dafür gab und es auch nicht so einfach Betriebsystemübergreifen umsetztbar war.

  2. #62
    tsseh ist offline Foren-Gott
    registriert
    19-05-2008
    Beiträge
    5.666

    AW: meine animation Funktion bitte testen

    Zitat Zitat von Jonny2009 Beitrag anzeigen
    ja naja wenn Timeouts und Intervalle so geregelt sind, warum kann man dann Javascript nicht einfach multithreated machen ^^, das wäre doch viel logischer.
    das verstehe ich nicht. was hat multifhreading damit zu tun, das timeouts und intervalle "so geregelt sind"?
    natürlich könnte man js einfach multithreated machen, soll heissen timeouts, intervalle, alle events automatisch in einem eigenem thread laufen lassen, dann hast du aber ganz andere probleme, dann kann jeder thread durch jeden unterbrochen werden, dass musst du alles abfangen.

    Zitat Zitat von Jonny2009 Beitrag anzeigen
    Wenn das browserintern so geregelt ist, regelt ein Browser die Timeouts und Intervalle aber immer nur für ein Tab, den öffnet mal mit strg+t während einer 10 sekündigen Animation einen Tab und klickt dann mal nach 5-10 Sekunden wieder auf den tab mit der Animation, dann sieht man das die intervalle erst dann fortgeführt werden.
    klingt doch logisch, wozu sollen die timeouts für einen tab, den ich mir sowieso nicht ansehe weiterlaufen?

    Zitat Zitat von Jonny2009 Beitrag anzeigen
    so könnte doch wenn es Browsergesteuert ist, wirklich alle 10 ms aufgerufen werden ohne Rücksicht auf den Code der ausgeführt wird.
    nee, das ist ja gerade der vorteil, das der gerade ausgeführte code nicht unterbrochen wird. du kannst dich immer darauf verlassen, dass alles konsistent ist und musst nicht erst dafür sorgen.

  3. #63
    ein schlauer ist offline Lounge-Member
    registriert
    18-08-2004
    Beiträge
    14.671

    AW: meine animation Funktion bitte testen

    Zitat Zitat von Jonny2009 Beitrag anzeigen
    Wenn das browserintern so geregelt ist, regelt ein Browser die Timeouts und Intervalle aber immer nur für ein Tab, den öffnet mal mit strg+t während einer 10 sekündigen Animation einen Tab und klickt dann mal nach 5-10 Sekunden wieder auf den tab mit der Animation, dann sieht man das die intervalle erst dann fortgeführt werden.
    Das kann ich nicht nachvollziehen.
    Ich hab mal mein Beispiel etwas umgebaut http://static.jstruebig.de/tween2.html

    Die untere Animation dauert 5000ms und wenn sie fertig ist wird ein Event ausgelöst und die abgelaufene Zeit angezeigt. Auch wenn die Zeitdauer bis zu einer Sekunde über den 5Sek liegt, so wird die Animation aber an sich auch in einem Hintergrundtab ausgeführt.

  4. #64
    tsseh ist offline Foren-Gott
    registriert
    19-05-2008
    Beiträge
    5.666

    AW: meine animation Funktion bitte testen

    Zitat Zitat von ein schlauer Beitrag anzeigen
    Ich hab mal mein Beispiel etwas umgebaut http://static.jstruebig.de/tween2.html
    ---------------------------
    Fehler
    ---------------------------
    Es ist ein Laufzeitfehler aufgetreten.
    Möchten Sie den Debugmodus starten?

    Zeile: 64
    Fehler: Das Objekt unterstützt diese Eigenschaft oder Methode nicht.
    ---------------------------
    Ja Nein
    ---------------------------

    handler[name].forEach(function(item) {

  5. #65
    ein schlauer ist offline Lounge-Member
    registriert
    18-08-2004
    Beiträge
    14.671

    AW: meine animation Funktion bitte testen

    Kann der IE immer noch die Array Erweiterungen? Das gibt's doch nicht.

    EDIT: https://developer.mozilla.org/en/Jav.../Array/forEach
    OK, ab Version 9. Aber für solche Tests baue ich nicht Array.js ein, jeder normale Browser kennt das ja.

    EDIT 2:ich hab's mal eingebaut, ist ja keine Arbeit.
    Geändert von ein schlauer (10-05-2012 um 14:26 Uhr)

  6. #66
    tsseh ist offline Foren-Gott
    registriert
    19-05-2008
    Beiträge
    5.666

    AW: meine animation Funktion bitte testen

    Zitat Zitat von ein schlauer Beitrag anzeigen
    Kann der IE immer noch die Array Erweiterungen? Das gibt's doch nicht.
    ie7

  7. #67
    ein schlauer ist offline Lounge-Member
    registriert
    18-08-2004
    Beiträge
    14.671

    AW: meine animation Funktion bitte testen

    Zitat Zitat von hesst Beitrag anzeigen
    ie7
    Ja ich hab's gesehen. Die notwendige Datei ist mit eingebunden.

  8. #68
    tsseh ist offline Foren-Gott
    registriert
    19-05-2008
    Beiträge
    5.666

    AW: meine animation Funktion bitte testen

    im ie laufen die auch weiter

  9. #69
    ein schlauer ist offline Lounge-Member
    registriert
    18-08-2004
    Beiträge
    14.671

    AW: meine animation Funktion bitte testen

    wie weiter?

    EDIT: Ach so, ich hab's verstanden.

  10. #70
    ein schlauer ist offline Lounge-Member
    registriert
    18-08-2004
    Beiträge
    14.671

    AW: meine animation Funktion bitte testen

    Mir hat das mit den Timern keine Ruhe gelassen und ich hab jetzt mal ein wenig gesucht. Man findet leider viele Quellen, die glauben das Timeout und Interval Threads erzeugen. Vielleicht kommt das daher, dass in diesem Artikel https://developer.mozilla.org/en/Code_snippets/Threads davon gesprochen wird, wie man Threads mit Timer simuliert. Aber es wird nicht gesagt, dass es Threads gibt.

    Das JS immer single thread ist (Ausnahme: workers) wird in diesen Artikel beschrieben http://ejohn.org/blog/how-javascript-timers-work/
    und http://javascript.info/tutorial/events-and-timing-depth

    Ich denke damit sind alle Fragen bezüglich setTimeout beantwortet.

Seite 5 von 5 ErsteErste 12345

Ähnliche Themen

  1. Bitte mal testen
    Von René im Forum Site-Check
    Antworten: 15
    Letzter Beitrag: 21-07-2006, 08:26
  2. Bitte testen (StyleSwitcher)
    Von dkdenz im Forum Script-Check
    Antworten: 25
    Letzter Beitrag: 28-10-2004, 03:29
  3. bitte testen
    Von yoyo im Forum Site-Check
    Antworten: 13
    Letzter Beitrag: 29-11-2002, 11:30
  4. bitte testen!
    Von rasputin im Forum Site-Check
    Antworten: 22
    Letzter Beitrag: 10-11-2002, 18:01
  5. bitte testen!
    Von rasputin im Forum Serverseitige Programmierung
    Antworten: 0
    Letzter Beitrag: 30-10-2002, 22:17

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •