Показать сообщение отдельно
Старый 26.03.2016, 00:44
dimarik вне форума Посмотреть профиль Отправить личное сообщение для dimarik Найти все сообщения от dimarik
  № 6  
Ответить с цитированием
dimarik
.
 
Аватар для dimarik

модератор форума
Регистрация: Sep 2003
Адрес: Москва
Сообщений: 4,630
Записей в блоге: 20
Цитата:
Сообщение от Godwarlock Посмотреть сообщение
Всё. Тут мы добавили объект и сам класс объекта кидаем в вектор. И таких вот объектов создается 2000+. И даже если оставить из 2000, только декорации, коих 140шт, фпс все равно проседает на ноуте до 30-40.
Ну, кидаете в вектор вы, скорее всего не класс, а тот же самый объект (экземпляр класса), это должно быть очевидно. Очень неграмотно звучит.

Ставьте cacheAsBitmap у этих мувиклипов. Они изначально векторные. Но есть известные ограничения. Прочитайте про cacheAsBitmap.

Цитата:
пробегаемся по вектору с этими объектами и меняем его состояние видимости/невидимости, вызывая выше перечисленные функции удаления/добавления объектов для каждого экземпляра в массиве. Вызывать эту функцию только при движении персонажа или каждый кадр, не влияет ни на что. Проверено.
Удаление объекта из памяти влечет за собой срабатывание garbage collector. Этот процесс занимает серьёзное количество времени.
Добавление (создание) объекта зановно тоже отнимает время. Выделение памяти средствами ОС и все такое. Причем визуально это тот же самый объект.

Чтобы не рендерить визуальный объект воспользуйтесь его свойствами и выставьте: alpha = 0.0 или visible = false. Различие только в хиттесте для Mouse. Не удаляйте через removeChild. Вызов любого метода сам по себе накладен. Вам же нужно следить за тем, чтобы количество объектов не превысило условную величину.
Ну, я к тому, что иногда все-таки нужно удалять "лишние" объекты из памяти. Я очень четко это понял, когда работал с мобилками. Нам OS выделяла 256 Мб памяти или благополучно нас выгружала, если мы превышали эту квоту.

Проверьте ваше приложение через профилировщик Adobe Scout. Этот инструмент должен стать обыденностью для вас.
__________________
Воспитан в TimeZero. Работаю в Mail.ru.


Последний раз редактировалось dimarik; 26.03.2016 в 00:58.