Я провел несколько тестов в Chrome и requestAnimationFrame
дал 61 fps, в то время как setTimeOut( callback, 0 )
, дал 233 fps.
Если хочется иметь больше 61 fps (в чем я не уверен), то не лучше ли рендерить с setTimeOut и просто использовать requestAnimationFrame для определения того, когда окно потеряло фокус, а затем останавливать таймауты, пока фокус не вернется?
И побочный вопрос: есть ли другой способ определить, когда окно теряет фокус, кроме requestAnimationFrame без вызова обратного вызова?