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

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

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 25.02.2009, 15:47
Kolan вне форума Посмотреть профиль Отправить личное сообщение для Kolan Найти все сообщения от Kolan
  № 11  
Ответить с цитированием
Kolan

Регистрация: Jan 2009
Сообщений: 38
wvxvw,
читал про флексовый профйлер, но, к сожалению, в haXe его не получится использовать.
Может есть профилировщика, которые работают со скомпилированными флешками?

Fillini,
ctrl+alt+delete — не самый точный детектор утечек. Хотя проверилял и им. Память «жрется», но достаточно медленно.

>листенеры правильно писать так
Странная фраза. Если такой набор параметров единственно правильный, как вы говорите, то почему тогда их можно изменять? Я за сомневался и решил прочесть справку.

Вы рекомендовали всегда подписываться на события так:
Код AS3:
addEventListener(Event.ENTER_FRAME, onInvalidate, false,0,true);
Это значит, что useCapture = false, priority = 0 а useWeakReference = true.

Первые два параметра такие же по-умолчанию, разница только в useWeakReference.

Fillini, почему нужно всегда использовать useWeakReference?

>так же не забываем очищать DisplayList.
А где это надо делать?


А нет ли возможности управлять сборщиком мусора? Удалять вручную или по команде?

Добавлено через 2 часа 26 минут
Нашел причину тормозов.

Причина, конечно, была в руках. Проблема была в том, что из-за ошибки перерисовка вызывалась слишком часто. При плее вместо 1 раза каждые 100 мс, делалось 3-4 перерисовки.

Тем не менее, думаю вопрос закрывать не стоит, так как, я думаю, исправление ошибки просто значительно растянуло во времени наступление тормозов.

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

Регистрация: Nov 2008
Адрес: Казахстан
Сообщений: 204
Отправить сообщение для Fillini с помощью ICQ
параметр useWeakReference в листенерах говорит GC о том что как только объект был удален с DisplayList, и все ссылки на него выставлены NULL он становится доступным для сборки мусора.
GC вручную управлять невозможно.

Очищать DisplayList:
Например есть какой нибудь мувик служащий контейнером в который постоянно добавляется содержимое (addChild()). Объект не может быть удален из памяти пока:
1. Есть хоть одна ссылка на этот оъект
2. Есть хоть один не отписанный листенер. Чтоб эти принебреч используем useWeakReference
3. Объект находится в DisplayList.

чтобы удалить объект из DisplayList. вызываем removeChild, removeChildAt

Старый 26.02.2009, 19:14
Kolan вне форума Посмотреть профиль Отправить личное сообщение для Kolan Найти все сообщения от Kolan
  № 13  
Ответить с цитированием
Kolan

Регистрация: Jan 2009
Сообщений: 38
Благодарю Fillini, просмотрю код, но у меня только мувик-курсор меняется. Все остальное создается один раз.

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

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

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


 


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


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