I am making a game in JavaScript. Whenever I put a .each() in to iterate through a list of bullets or enemies, it makes a small yet noticeable flicker on the screen. would there be any way to fix this?
function playing() {
$.each(bullets, function (index, bullet) { //Makes tiny flicker.
bullet.update();
})
}
function update() {
if (!gameOver) {
%("menu").hide();
playing();
} else {
$("#menu").show();
}
setTimeout(update(), 6);
}
spawnE(); //spawns enemy
update();
NOTE: I am using setTimeout() instead of requestAnimationFrame() because it keeps the speed of the game consistent across different refresh rates.
I found the answer. JQuery's .each() is just slower than vanilla javascript's .forEach() due to it being a large library.