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

Вернуться   Форум Flasher.ru > Flash > ActionScript 3.0

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 06.02.2014, 17:29
KingMaks вне форума Посмотреть профиль Отправить личное сообщение для KingMaks Найти все сообщения от KingMaks
  № 1  
Ответить с цитированием
KingMaks

Регистрация: Jan 2013
Сообщений: 61
По умолчанию Тормозит игра

В игре много классов разных и она уже на стадии завершения по этому в исходниках думаю никто копаться не захочет. Объясню поверхностно проблему. Игра стиля tower defence, когда убиваю где-то больше 60 врагов, игра начинает притормаживать и чем больше убиваю, тем больше тормозов. Все мувики удаляю после смертей, проверял, пересчитывал их больше не становится. Слушатели тоже якобы все удаляю. На что еще следует обратить внимание? что я мог забыть? Да, после рестарта, когда я все удаляю со Stage тормоза прекращаются. За ранее спасибо Врагов создаю с использованием таймера, стрелы втыкаются во врагов и исчезают с удалением врага со сцены, при помахивании на стрелах тоже таймера для удаления. Ну и на смерти врага тоже таймер, что бы не сразу исчезал. Удаляю с помощью removeChild и присваивания null.

Старый 06.02.2014, 17:33
Gaen вне форума Посмотреть профиль Отправить личное сообщение для Gaen Найти все сообщения от Gaen
  № 2  
Ответить с цитированием
Gaen
strange mood
 
Аватар для Gaen

модератор форума
Регистрация: Jul 2004
Адрес: Питер
Сообщений: 1,653
Записей в блоге: 1
Отправить сообщение для Gaen с помощью ICQ Отправить сообщение для Gaen с помощью Skype™
Adobe Scout вам в руки, с ним все сразу становится ясно.
__________________
тонкий тролль, осеянный благодатью

Старый 06.02.2014, 18:25
GBee вне форума Посмотреть профиль Отправить личное сообщение для GBee Найти все сообщения от GBee
  № 3  
Ответить с цитированием
GBee
 
Аватар для GBee

Регистрация: Jan 2009
Сообщений: 3,067
Записей в блоге: 3
Отправить сообщение для GBee с помощью Skype™
Надо смотреть, может, где не надо cacheAsBitmap, а где надо не стоит.
__________________
Чтобы доказать, что вы не робот, причините вред другому человеку.

Старый 07.02.2014, 12:30
caseyryan вне форума Посмотреть профиль Отправить личное сообщение для caseyryan Найти все сообщения от caseyryan
  № 4  
Ответить с цитированием
caseyryan
 
Аватар для caseyryan

Регистрация: Jun 2012
Адрес: Новосибирск
Сообщений: 6,644
Записей в блоге: 4
Скорее всего врагов создается много, и они никуда на самом деле не удаляются
Пул объектов надо юзать, а не создавать новых каждый раз

Старый 07.02.2014, 22:09
KingMaks вне форума Посмотреть профиль Отправить личное сообщение для KingMaks Найти все сообщения от KingMaks
  № 5  
Ответить с цитированием
KingMaks

Регистрация: Jan 2013
Сообщений: 61
Цитата:
Сообщение от caseyryan Посмотреть сообщение
Скорее всего врагов создается много, и они никуда на самом деле не удаляются
Пул объектов надо юзать, а не создавать новых каждый раз
а пул объектов это что? можно чудь развернуть?)) а то похоже на правду

Старый 07.02.2014, 23:23
samana вне форума Посмотреть профиль Отправить личное сообщение для samana Найти все сообщения от samana
  № 6  
Ответить с цитированием
samana
 
Аватар для samana

блогер
Регистрация: Mar 2008
Адрес: Днепропетровск
Сообщений: 1,783
Записей в блоге: 3
Цитата:
Сообщение от KingMaks Посмотреть сообщение
а пул объектов это что?
Это когда вы заранее создаёте некоторое кол-во объектов в памяти и помещаете их в массив. И достаёте эти объекты оттуда, вместо создания новых. А при удалении объектов, вы их помещаете обратно в массив. Таким образом вы избавляетесь от постоянного создания и удаления объектов, не тратя на это ресурсы компьютера.

Старый 08.02.2014, 02:07
KingMaks вне форума Посмотреть профиль Отправить личное сообщение для KingMaks Найти все сообщения от KingMaks
  № 7  
Ответить с цитированием
KingMaks

Регистрация: Jan 2013
Сообщений: 61
samana то есть создать врагов, забить их в массив и просто не добавлять addChildом? а разве то, что они висят в памяти не будет тратой ресурсов?)

Старый 08.02.2014, 02:46
Gaen вне форума Посмотреть профиль Отправить личное сообщение для Gaen Найти все сообщения от Gaen
  № 8  
Ответить с цитированием
Gaen
strange mood
 
Аватар для Gaen

модератор форума
Регистрация: Jul 2004
Адрес: Питер
Сообщений: 1,653
Записей в блоге: 1
Отправить сообщение для Gaen с помощью ICQ Отправить сообщение для Gaen с помощью Skype™
KingMaks, у вас проблема с тормозами или с потреблением памяти?
При необходимости оптимизации быстродействия самый первый шаг - оптимизировать алгоритмы и найти и выпилить все, что заставляет процессор греться почем зря. Но в какой-то момент ничего лишнего не остается. И тогда наступает момент, мы начинаем выторговывать производительность за счет чего-то еще. Например, переносим какую-то часть громоздких вычислений на тот момент, когда мы можем себе их позволить (т.е., скажем, генерируем/кешируем какую-то графику не в самый разгар битвы, а во время загрузки уровня, пока юзер смотрит на прогрессбар). Или размазываем эти вычисления на большой временной интервал, вычисляя по чуть-чуть за итерацию. Или, если говорить о пуле объектов (да и о кешировании тоже), уменьшаем количество вычислений за счет увеличения потребления памяти. Если на одной чаше весов - "все тормозит, играть невозможно", а на другой - пара мегабайтов памяти, то выгода очевидна.
__________________
тонкий тролль, осеянный благодатью

Старый 08.02.2014, 03:04
KingMaks вне форума Посмотреть профиль Отправить личное сообщение для KingMaks Найти все сообщения от KingMaks
  № 9  
Ответить с цитированием
KingMaks

Регистрация: Jan 2013
Сообщений: 61
Gaen, ну памятью я в принципе готов пожертвовать, раз её так много дело в том, что в игре 10 разновидностей врагов, а на сцене максимум может быть 16 и если предположить, что будет ситуация, когда на сцене все 16 врагов одного вида, то в пул мне придется положить всех видов врагов по 16? то есть 160? это не много?

Старый 08.02.2014, 03:12
Koopa вне форума Посмотреть профиль Найти все сообщения от Koopa
  № 10  
Ответить с цитированием
Koopa
Banned
[+1 30.08.14]
[+1 26.02.14]

Регистрация: Apr 2012
Сообщений: 162
Если враги меняются только от спрайта, то зачем такие муки? Да даже если они меняются по поведению, тоже не понятно.Class и Class extends.
И удалять только родительский класс.

Создать новую тему Ответ Часовой пояс GMT +4, время: 01:03.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

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

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


 


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


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