Bitmap Constructor URL VS изображение, как решить?

Меня интересует производительность в таком сценарии, когда на сцене может быть 100 элементов Bitmap.

Если бы я создал эти растровые изображения с использованием URL-адреса, будет ли каждое растровое изображение пытаться загрузить файл изображения с URL-адреса, независимо от того факта, что все они используют один и тот же URL-адрес изображения?

И если я использую изображение для создания этих растровых изображений, мне нужно будет загрузить изображение только один раз, то есть все растровые изображения будут использовать одно и то же изображение? Итак, когда использовать URL?

Я был бы признателен, если бы кто-нибудь разъяснил разницу между двумя подходами с точки зрения использования памяти и пропускной способности, когда использовать каждый из них?


person simo    schedule 15.05.2013    source источник


Ответы (1)


URL-адрес запрашивается только один раз, независимо от того, как часто вы создаете растровое изображение с одним и тем же URL-адресом, поэтому с этой точки зрения это не будет иметь значения.

Однако разница в том, что если вы используете URL-адрес для создания экземпляра растрового изображения в первый раз, вам (весьма вероятно) придется подождать, пока изображение загрузится, а затем обновить сцену, чтобы отобразить его.

Обновление: я сделал быстрый jsfiddle: http://bit.ly/10Xavkf, если вы посмотрите на на вкладке сети вы можете видеть, что изображение запрашивается только один раз.

person olsn    schedule 15.05.2013
comment
Спасибо, так нет ли разницы с точки зрения памяти? - person simo; 15.05.2013
comment
Нет, проблема с памятью должна быть наименьшей из всех проблем, потому что ваш браузер будет/должен позаботиться о том, чтобы изображение с одним и тем же URL не кэшировалось дважды. - Однако, если вы создаете 100 экземпляров растрового изображения, это соглашение и гораздо лучший код, если вы предварительно загрузили это изображение. - person olsn; 15.05.2013
comment
Спасибо за разъяснение, кстати, я обнаружил, что использование изображения более надежно, чем использование URL-адреса, особенно для IE, иногда я вынужден использовать загруженное изображение вместо URL-адреса, чтобы заставить его работать, даже для Chrome. - person simo; 15.05.2013
comment
Да, я бы рекомендовал вам использовать URL-адрес только для быстрых пробных версий, а не для производственного кода. - person olsn; 15.05.2013