Ich würde gerne setInterval
für tatsächliche Schritte in einem Programm und requestAnimationFrame
zum Rendern verwenden. Ich hatte den Eindruck, dass dies der perfekte Mix wäre: Die Rendering-Geschwindigkeit würde die tatsächliche Progression nicht verlangsamen, also würde die Dips-in-Frame-Rate nur die Bildrate beeinflussen und trotzdem synchronisieren. Was ich jedoch bekam, waren Tropfen in der setInterval
Funktion.Verwenden von setInterval mit requestAnimationFrame
Ein Beispiel dafür, was ich meine, stecken absichtlich mit Schatten unten: http://jsfiddle.net/Ltdz168m/
die Anzahl der Minen verringern oder erhöhen und Sie werden den Unterschied
Es scheint, dass tatsächlich request nicht ist zu sehen eine Lösung für das Rendern von Verzögerungen, die JavaScript verlangsamen. Wie würde ich dann die logische Seite der Dinge aktualisieren, die mit 60 fps ohne Behinderung durch das Rendern gemacht werden kann? Sind WebWorker absolut notwendig?
Ich dachte daran, aber Junge wäre es eine Menge Arbeit. Ich nehme an, es ist jedoch notwendige Arbeit. Und ich muss zustimmen, das ist ein nettes Feature; beats jfiddle links. –
Es ist eigentlich weniger Code, um Delta Timing zu verwenden als 'setInterval';) –
Nun, ich hatte gerade eine Schleife mit einem .update() auf alles eingerichtet, also muss ich damit beginnen und das anwenden zu ziemlich viel Mathearbeit (weit mehr als dieses Beispiel). Trotzdem sollte es sich auszahlen, die Dinge zu synchronisieren. –