Comments 7
А какой смысл для каждого источника изображения создавать новый объект Image? Насколько я знаю, число потоков в браузере ограничено, так что активно будет только несколько скачек. Имхо что-то типа thread pool подошло бы лучше, объект Image ведь можно использовать повторно.
+1
нас не волнуют потоки браузера. Нам нужно, чтобы все изображения, которые необходимы для отрисовки игровой сцены были загружены и доступны в любой момент. Скажите, неприятное явление, когда появляется белый экран, и начинает постепенно появляться то земля, то дерево, то домик.
-1
Я этому не противоречу :) Я к тому веду, что, скажем, есть у вас 50 изображений. Вы для всех 50 создали свой Image объект. Но они все сразу не начнут скачиваться. Начнет скачиваться одновременно какое-то число. Так что вы этим не выигрываете. А память эти неактивные Image будут занимать.
Я только это имел ввиду.
Я только это имел ввиду.
+1
но в результате все равно нужно держать загруженных 50 Image объектов для 50 изображений, чтобы был доступ из сцены. Наша задача не просто загрузить изображения, а и предоставить к ним доступ
+1
А как вы иначе получите доступ к картинкам для Canvas? Тут не прелоадер для CSS :hover где картинки нам неважны ибо описаны в HTML/CSS, тут нам нужны конкретные инстансы Image.
Другое дело, что кучу тайлов стоит сунуть в одну картинку и юзать по типу CSS Sprites — тогда мы получим быструю загрузку в один поток. Но нам на JS надо будет описать где-то координаты всех изображений. Это годится только для тех изображений, размеры которых фиксированы. Конечно так бывает чаще всего, но могут встречаться и исключения — их стоит выносить в отдельные файлы.
Другое дело, что кучу тайлов стоит сунуть в одну картинку и юзать по типу CSS Sprites — тогда мы получим быструю загрузку в один поток. Но нам на JS надо будет описать где-то координаты всех изображений. Это годится только для тех изображений, размеры которых фиксированы. Конечно так бывает чаще всего, но могут встречаться и исключения — их стоит выносить в отдельные файлы.
0
Учтите скорый переход на MooTools 1.3, замените $each на Array.each или вообще напишите this.options.images.each(function(obj){ /* */ })
0
Да, и еще mootools.net/docs/more/Utilities/Assets#Asset:image
-1
Sign up to leave a comment.
Предварительная загрузка изображений