Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Сообщения за день
 

Вернуться   Форум Flasher.ru > Flash > Общие вопросы о Flash (не затрагивающие ActionScript)

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 09.05.2011, 10:18
goodguy вне форума Посмотреть профиль Найти все сообщения от goodguy
  № 1  
Ответить с цитированием
goodguy
Banned
[+1 05.11.11]
[+1 09.08.11]

Регистрация: Jan 2010
Адрес: РФ. Кемеровская область
Сообщений: 3,243
Question Как пользоваться профайлером FlashDevelop?

Пишу интерфейс игры. Почти в каждом объекте есть слушатель события Event.REMOVED_FROM_STAGE, который вызывает функцию dispose, в которой, соответственно, зануляются все ссылки на другие объекты, уничтожаются все объекты bitmapData, удаляются все добавленные слушатели.
Тем не менее, запускаю профайлер флешдевелоп, и вижу, что все объекты, которые были созданы висят в списке live objects.
Трейсы показывают, что функции dispose везде срабатывают. Так вот возник вопрос, а стоит ли верить этому профайлеру?
Или объекты и не должны исчезать из списка live objects?

п.с. При срабатывании функций dispose, потребление памяти падает почти до того же уровня, что был при запуске приложения

Старый 09.05.2011, 11:27
fish_r вне форума Посмотреть профиль Отправить личное сообщение для fish_r Посетить домашнюю страницу fish_r Найти все сообщения от fish_r
  № 2  
Ответить с цитированием
fish_r
 
Аватар для fish_r

блогер
Регистрация: Jan 2011
Сообщений: 1,162
Записей в блоге: 4
Сейчас смотрел у себя - удаленные объекты сразу зануляются, потребление памяти - 0, но не исчезают из списка...
Не сразу, сек 5-10 проходит


Последний раз редактировалось fish_r; 09.05.2011 в 11:30.
Старый 09.05.2011, 11:46
goodguy вне форума Посмотреть профиль Найти все сообщения от goodguy
  № 3  
Ответить с цитированием
goodguy
Banned
[+1 05.11.11]
[+1 09.08.11]

Регистрация: Jan 2010
Адрес: РФ. Кемеровская область
Сообщений: 3,243
Да не может этого быть. Хочу скрин посмотреть.

Я если даже точно все ссылки на объекты удаляю, все равно память до 0 не падает

Старый 09.05.2011, 11:49
fish_r вне форума Посмотреть профиль Отправить личное сообщение для fish_r Посетить домашнюю страницу fish_r Найти все сообщения от fish_r
  № 4  
Ответить с цитированием
fish_r
 
Аватар для fish_r

блогер
Регистрация: Jan 2011
Сообщений: 1,162
Записей в блоге: 4
Если двойной щелчок сделаешь по объекту, который не исчез, авт. перейдешь на вкладку object, где можешь посмотреть какие ссылки на него сохранились. Так кажется.

Старый 09.05.2011, 12:09
goodguy вне форума Посмотреть профиль Найти все сообщения от goodguy
  № 5  
Ответить с цитированием
goodguy
Banned
[+1 05.11.11]
[+1 09.08.11]

Регистрация: Jan 2010
Адрес: РФ. Кемеровская область
Сообщений: 3,243
Да уж наверное и сам догадался ) Толку то. Я же говорю, все объекты зануляю, слушатели удаляю, и тем не менее они все там.
Цитата:
Так кажется.
Мне тоже многое кажется. Но мне надо знать как на самом деле, а не как кажется

Старый 09.05.2011, 12:26
fish_r вне форума Посмотреть профиль Отправить личное сообщение для fish_r Посетить домашнюю страницу fish_r Найти все сообщения от fish_r
  № 6  
Ответить с цитированием
fish_r
 
Аватар для fish_r

блогер
Регистрация: Jan 2011
Сообщений: 1,162
Записей в блоге: 4
Ну, а если догадался то что же не посмотришь где этот объект упоминается?
Чтобы профайлер проверить создай тестовый файл создай в нем объект, по сигналу удали, да проследи по профайлеру.


Последний раз редактировалось fish_r; 09.05.2011 в 12:45.
Старый 09.05.2011, 12:30
goodguy вне форума Посмотреть профиль Найти все сообщения от goodguy
  № 7  
Ответить с цитированием
goodguy
Banned
[+1 05.11.11]
[+1 09.08.11]

Регистрация: Jan 2010
Адрес: РФ. Кемеровская область
Сообщений: 3,243
Цитата:
Ну, а если догадался то, что же не посмотришь где этот объект упоминается?
А я не об этом говорю? Я знаю где они упоминаются, и все зануляю.
Ко всем объектам bitmapData применяю метод dispose(). Но в итоге битмап дата в занимает в памяти 6 мегабайт.
Тупость какая-то...
Причем при запуске показывает количество объектов bitmap data 15, а при удалении 35

Добавлено через 1 час 21 минуту
Разобрался.
Профайлер не глючит, но удалить битмап дату получается только полностью занулив все с ней связанное:
Код AS3:
for (i in bitmapsArray) {
	bitmapsArray[i].parent.removeChild(bitmapsArray[i]);
	bitmapsArray[i].bitmapData.dispose();
	bitmapsArray[i].bitmapData = null;
	bitmapsArray[i] = null;
}
только после таких манипуляций количество объектов уменьшается


Последний раз редактировалось goodguy; 09.05.2011 в 12:35.
Создать новую тему Ответ Часовой пояс GMT +4, время: 14:57.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


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


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