Пытаюсь сделать простую но полноценную игру с уровнями и т.д.
Хочу сделать прелоадер, после которого без задержек показался бы нарисованный холст.
А есть несколько очень больших подгружаемый изображений.
Схема подразумевает, что часть, которая отвечает за рисовку не начнет рисовать, если к примеру imagesReady === false;
все подгружаемые картинки я добавляю в массив обьектов, и пытаюсь проверить их готовность и быть отрисоваными вот таким образом
loadResourches(){
let t = setInterval(()=>{
let isLoad = this.gameObjects.toLoadResourches.every(item=>{
return item.object.complete != 0
|| item.object.naturalHeight != 0;
});
if(isLoad){
this.canvas.go();
clearInterval(t);
}
}, 50);
}
Картинки вроде как подгружаются, но особенно на слабом компе заметил что после успешного события, на сколько я понимаю, картинок в кэш браузера, все-равно есть задержка в отрисовке, т.к. нужно потратить время на саму рисовку.
Как мне понять, когда канвас уже готов быстро отрисовать первый фрейм ( ведь все последующие фреймы нормально работают на большом фпс ) и убрать прелоадер, есть ли у кого опыт