Javascript Performance Optimierung für Loops

Ein Interessantes Konzept macht setInterval und setTimeout Konkurrenz:

Die Javascript-Funktion (+)RequestAnimationFrame ordnet und synchronisiert Anweisungen, die ansonsten separat mit eigenem Timer und Loop Callback iterieren. Außerdem werden die Funktionen bei Tab-Wechsel gestoppt. Natürlich wirft das die Frage auf, ob eine dynamische JS-Engine, die einen einzigen Timer nutzt und Callbacks linear aufruft, langsamer ist. Nach meiner Beobachtung nicht unbedingt: Bei hoher Komplexität und einer großen Anzahl von Funktionsaufrufen scheint sich setInterval zu behaupten. Ein representativer Test sowie eine JS Alternative folgen.

 

Spezifikation:

https://dvcs.w3.org/hg/webperf/raw-file/tip/specs/RequestAnimationFrame/...

 

Weiterführender Artikel:

http://paulirish.com/2011/requestanimationframe-for-smart-animating/

 

Update: Vielleicht hilft dem einen oder anderern dieses Snippet: https://gist.github.com/JanCK/6462914

Es handelt sich im Prinzip um Stapelverarbeitung mit nur einem zentralen setInerval.