Я пытаюсь создать движок видеоигр, который должен запускать функцию 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 кадров в секунду, зачем нужно больше? –
@ Lucas Trzesniewski: Вы должны передать это как ответ. – doctorless
@ drheart кто-то уже FGITWed тот, но, честно говоря, я довольно сомневаюсь в цифре 500 кадров в секунду.) –