Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   Библиотека SWC или [Embed(source...? (http://www.flasher.ru/forum/showthread.php?t=179197)

PlutDem 29.05.2012 00:47

in4core
А не будет ли в этом случае BitmapData "висеть" и занимать память даже когда не используется?
Т.е. это всего лишь ссылка на класс и в памяти почти ничего не занимает?
Код AS3:

[Embed(source = '../../lib/background/Orange_1.png')]
public static var Orange_1:Class;

А это уже полноценный объект?
Код AS1/AS2:

private var bitmap:Birmap = new Orange_1() as Bitmap;


in4core 29.05.2012 00:59

Да это полноценыый объект. нет не будет висеть в памяти

PlutDem 29.05.2012 01:17

in4core
Не будет в памяти? А где тогда находится BitmapData? На диске? Если да, то что произойдет если ее изменить?

in4core 29.05.2012 01:31

на каком диске? У вас объект создался ( в поле класса ). Все. у вас готовый объект который ниче не делает и память не нагружает собственно.
bitmapData.applyFilter() - ага а тут мы уже память потревожим. addChild(bitmap) , bitmap.bitmapData.doSome() - ага а тут мы тревожим сильнее потому что еще и визуально ее рендерим

PlutDem 29.05.2012 01:41

Цитата:

Сообщение от in4core (Сообщение 1081890)
У вас объект создался ( в поле класса ). Все. у вас готовый объект который ниче не делает и память не нагружает собственно.

Хм, а мне всегда казалось, что созданный объект размещается в памяти и занимает ее до тех пор пока не будет удален, а действия совершаемые объектом потребляют процессорное время.

in4core 29.05.2012 01:56

казалось )

Frost47rus 29.05.2012 03:03

Cчитаю swc весьма удобными.
Просто нужно сохранять проэкты этих свц-шек и организовывать удобную работу с ними.
Всего и делов.

А если речь о графике - так тем более удобно. Меньше строк, больше дела.

elder_Nosferatu 29.05.2012 03:30

Цитата:

Сообщение от in4core (Сообщение 1081890)
на каком диске? У вас объект создался ( в поле класса ). Все. у вас готовый объект который ниче не делает и память не нагружает собственно.
bitmapData.applyFilter() - ага а тут мы уже память потревожим. addChild(bitmap) , bitmap.bitmapData.doSome() - ага а тут мы тревожим сильнее потому что еще и визуально ее рендерим

Че то вы, батенька, путаете... Памьять нужна не для того, чтобы делать что нить с объектом, а для того, чтобы помнить его. И если обьект большой, то и помнить его трудновато. А экземпляр класаа от своего класса берет только идею и пичкает его собственной начинкой.

Не зря же рекомендуют статические константы заводить вместо повсеместного использования литералов (которые тоже экземпляры своего класса и будут каждый по отдельности занимать памьят как минимум до ближайшей сборки мусора!).

Вывод: Два экземпляра битмапы = двойной расход памьяти!
На счет отображения "начинки" этих битмап - битмапДаты - так тут совсем другой вопрос. Несколько битмап могут одновременно отобрадать одну и ту же битмапДату (единственный экземпляр!) и расход памьяти на ее содержание не зависит от количества битмап, что на нее ссылаются.

zuxul 29.05.2012 10:24

Цитата:

Сообщение от PlutDem (Сообщение 1081878)
А не будет ли в этом случае BitmapData "висеть" и занимать память даже когда не используется?
Т.е. это всего лишь ссылка на класс и в памяти почти ничего не занимает?
Код AS3:

[Embed(source = '../../lib/background/Orange_1.png')]
public static var Orange_1:Class;

А это уже полноценный объект?
Код AS1/AS2:

private var bitmap:Birmap = new Orange_1() as Bitmap;


Если флешка будет проигрываться в плеере ниже 10,1 - то тут будет двойной расход памяти. Если версия плеера 10,1 или выше - в bitmap.bitmapData будет лежать копия до того момента, когда Вы начнете изменять пиксели в BitmapData.

TanaTiX 29.05.2012 12:41

zuxul, а где про это можно почитать? Поделись ссылкой.


Часовой пояс GMT +4, время: 20:42.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.