Joerg Peschke: Flash "verschluckt" window.timeouts

Beitrag lesen

Hallo,
Ich habe folgendes Problem:

Auf einer HTML-Seite befindet sich ein transparenter Flash-Film, welcher ein großes Maß an Prozessor-Last erzeugt.
Zusätzlich soll ein Zähler auf dieser Seite mit window.setTimeout abwärts zählen:

function trigger () {
   window.status = COUNTER;
   if (COUNTER <= 0) {
      //Zaehler zu ende
   }
   else {
      COUNTER -= 1;
      window.setTimeout("trigger()", 1);
   }
}

Beim Laden der seite fängt der Zähler brav das Laufen an, wird aber irgendwann langsamer, und bleibt schliesslich ganz stehen.
Wenn ich in dem Flash-File dafür sorge, dass es weniger Performance frisst, läuft der Zähler weiter.
Wenn ich die Seite in einem zweiten Fenster öffne (also mehr Last erzeuge), hört der Zähler deutlich früher mit dem Zählen auf.

Wie kann ich dieses Problem lösen? Eigentlich dachte ich bisher immer, dass im Falle großer Rechenlast window.timeouts verzögert, nicht aber "verschlafen" werden - offenbar ist dies aber ein Irrglaube - oder?

Mfg,

Jörg