Animate calls a function repeatedly like setInterval() but with the current time (Date.getTime()) and the difference to the last call in milliseconds as parameter.
To stop the animation loop you can pass null as first argument.
You can not have multiple animation loops at once.
When using cfg.NoDom; you cannot use JavaScripts setInterval but only the Animate function.
Comparison
normal:
setInterval: about 242 calls per second
app.Animate: about 217 calls per second
with
setInterval: error
app.Animate: up to 1000 calls per second