Javascript: So erhalten Sie den Zeitunterschied zwischen window.requestAnimationFrame

8

Was ist der beste Weg, um den Zeitunterschied zwischen "window.requestAnimationFrame" Callback in Javascript zu erhalten?

Ich habe es versucht:

%Vor%     
marirena 30.04.2015, 02:07
quelle

3 Antworten

2

Die meisten modernen Browser senden automatisch einen hochpräzisen Zeitstempel als Argument in jede requestAnimation-Callback-Schleife: Ссылка

Sie ziehen einfach den letzten Zeitstempel vom aktuellen Zeitstempel ab, um die verstrichene Zeit seit dem letzten Durchlauf der Schleife zu erhalten.

Hier ist Beispielcode und eine Demo:

%Vor% %Vor% %Vor%

Für einige Browser, die Performance nicht unterstützen, müssen Sie Date.now() anstelle von currentTime innerhalb der Schleife verwenden, da von diesen Browsern kein Zeitstempel automatisch in die Schleife gesendet wird.

    
markE 30.04.2015, 02:45
quelle
4
  

hat "dt" die beste Genauigkeit?

Nein. Laut den Dokumenten ,

  

Der Callback-Methode wird ein einzelnes Argument übergeben, ein DOMHighResTimeStamp . Dies gibt die aktuelle Zeit an, zu der Callbacks, die von requestAnimationFrame in die Warteschlange gestellt wurden, ausgelöst werden

sollten Sie das lieber verwenden, um eine hohe Genauigkeit zu erhalten.

%Vor%

( jsfiddle-Demo )

    
Bergi 30.04.2015 02:27
quelle
2

Ich werde eine klare Schlussfolgerung für alle schreiben, die dieses Muster verwenden möchten

%Vor%     
marirena 30.04.2015 12:51
quelle