我試圖製作一個視頻遊戲引擎,它必須運行render
函數作爲循環。當此功能完成後,我想再次運行它,又一次,又一次......但是當我嘗試這樣的:無限次運行函數
function render() {
// some code here which takes ~ 0.00015 second to run
}
while(1) { render(); }
在幾秒鐘的瀏覽器凍結。所以,我已經試過另一種方式:
function render() {
// some code here which takes ~ 0.00015 second to run
}
setTimeout(render);
// I've tried also
setTimeout(render, 1);
另外:
function render() {
// some code here which takes ~ 0.00015 second to run
setTimeout(render);
// OR
setTimeout(render, 1);
}
但是執行功能的第二隻〜500倍,我要運行它〜5000倍。如果我查看運行時間(0.00015秒),這是可能的,但我找不到一種方法來實現這一點。
有沒有人有想法?
嘗試使用['requestAnimationFrame'](https://developer.mozilla.org/en-US/docs/Web/API/window/requestAnimationFrame),但是如果你已*獲得500 fps,爲什麼需要更多? –
@Lucas Trzesniewski:你應該重新發布這個答案。 – doctorless
@drheart某人已經FGITWed那一個,但說實話,我很懷疑OP的500 fps數字;) –