setTimeout ou setInterval ou requestAnimationFrame

Para jogos HTML5, com animação de tela para dispositivos móveis.

Estou enfrentando alguns problemas de desempenho que diferem na velocidade entre cada dispositivo e os outros.

requestAnimationFrame acelerar a animação do jogo de acordo com a velocidade do dispositivo.
setInterval me chocou que há um atraso de um dispositivo para outro.
setTimeout também é lento o desenho na tela.

Quem teve uma experiência anterior com jogos Mobile HTML5 pode me orientar a lançar o melhor caminho de três deles (ou outras técnicas, se disponíveis) para o desenvolvimento de animação em tela ser estável em diferentes dispositivos móveis?

questionAnswers(3)

yourAnswerToTheQuestion