Tôi tự hỏi liệu tôi có nên chuyển trò chơi của mình sang requestAnimationFrame hay không. Nếu thậm chí vẫn còn một lý do để làm như vậy nữa, như tôi đã đọc rằng setTimeout() bây giờ cũng tạm dừng khi bạn chuyển đổi các tab trong các trình duyệt chính.Có muốn kiểm soát FPS của hoạt ảnh của tôi một lý do chính đáng để tiếp tục sử dụng setTimeout thay cho requestAnimationFrame không?
Dù sao, nói rằng tôi muốn điều khiển FPS hoạt ảnh của mình.
Hiện nay tôi có thể làm điều đó như thế này:
k.state.loopinterval =
window.setInterval(renderLoop(), 1000/k.settings.engine.fps);
đâu k.settings.engine.fps
là fps truy nã.
Nếu tôi làm điều đó một cách requestAnimationFrame
, tôi đã làm mất khả năng này, và nó sẽ chỉ cho tôi bất cứ điều gì nó có thể cung cấp:
window.requestAnimFrame(k.operations.startLoop);
renderLoop();
Tôi đã thấy một số người đề nghị đặt requestAnimFrame trong vòng lặp khác:
setInterval(function() {
requestAnimationFrame(draw);
}, 1000/60);
Vì vậy, tôi nên làm gì? Để lại nó như nó là?
Lợi ích chính xác của requestAnimationFrame, bây giờ setTimeout đó cũng bị tạm dừng khi chuyển đổi tab?