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

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

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

Регистрация: Jan 2011
Сообщений: 49
Цитата:
Сообщение от petyar Посмотреть сообщение
По логике GC должен убить объект после зануления всех ссылок же?
GC - освобождает память, все верно. Но объекты создаются очень быстро и много. Поэтому 2-3 секунда программа работает как надо, потом начинаются тормоза, все замедляется. GC - память освобождает незначительно, тормоза остаются.

Прикладываю файл проект. Посмотрите кому интересно как сие чудо работает.
Вложения
Тип файла: rar test_star.rar (394.8 Кб, 25 просмотров)

Старый 24.02.2011, 23:41
easy.proger вне форума Посмотреть профиль Отправить личное сообщение для easy.proger Найти все сообщения от easy.proger
  № 12  
Ответить с цитированием
easy.proger

Регистрация: Jun 2010
Адрес: somewhere in the universe
Сообщений: 195
forceGC

Старый 24.02.2011, 23:52
Aloran вне форума Посмотреть профиль Отправить личное сообщение для Aloran Найти все сообщения от Aloran
  № 13  
Ответить с цитированием
Aloran

Регистрация: May 2009
Сообщений: 223
Записей в блоге: 1
to Alex21 А что вы хотели... вы за одно время генерируете звезд больше чем удаляете (при удалении первой звезды вы уже нагенерировали 10000). Естественно у вас все со временем начнет тормозить.
и еще
Код AS3:
TweenMax.to(newstar, 3, {alpha: 0, scaleX: 3, scaleY: 3, tint: currentcolor});  
TweenMax.to(newstar, 3, {rotation: targetRotation, x: targetX, y: targetY});  
TweenMax.to(newstar, 20, {blurFilter:{blurX:3, blurY:3}, onComplete: removeStar});
Зачем вы применяете фильтр к звезде в 3 строке в течении 20 секунд, если благодаря первой строке ее через три секунды уже не будет видно.


Последний раз редактировалось Aloran; 25.02.2011 в 00:05.
Старый 25.02.2011, 00:12
Alexd21 вне форума Посмотреть профиль Отправить личное сообщение для Alexd21 Найти все сообщения от Alexd21
  № 14  
Ответить с цитированием
Alexd21

Регистрация: Jan 2011
Сообщений: 49
Цитата:
Сообщение от petyar Посмотреть сообщение
По логике GC должен убить объект после зануления всех ссылок же?
Цитата:
Сообщение от Aloran Посмотреть сообщение
to Alex21 А что вы хотели... вы за одно время генерируете звезд больше чем удаляете (при удалении первой звезды вы уже нагенерировали 10000). Естественно у вас все со временем начнет тормозить.
и еще
Код AS3:
TweenMax.to(newstar, 3, {alpha: 0, scaleX: 3, scaleY: 3, tint: currentcolor});  
TweenMax.to(newstar, 3, {rotation: targetRotation, x: targetX, y: targetY});  
TweenMax.to(newstar, 20, {blurFilter:{blurX:3, blurY:3}, onComplete: removeStar});
Зачем вы применяете фильтр к звезде в 3 строке в течении 20 секунд, если благодаря первой строке ее через три секунды уже не будет видно.
Спасибо тебе добрый человек, теперь вижу свою проблему. Опыта маловато в программировании просто, вот и делаю дурацкие ошибки.
Спасибо, суть ошибки понял.

Добавлено через 9 минут
Проблема, решена!
Нужно было всего лишь создавать поменьше объектов и почаще их занулять.
Утечка памяти прекратилась, тормоза ушли.

Спасибо всем кто помогал найти решение, отдельно спасибо Aloran.

Старый 25.02.2011, 04:13
andrew911 вне форума Посмотреть профиль Отправить личное сообщение для andrew911 Найти все сообщения от andrew911
  № 15  
Ответить с цитированием
andrew911

Регистрация: Mar 2007
Сообщений: 545
Можно еще использовать пул объектов.

Старый 25.02.2011, 09:57
Aloran вне форума Посмотреть профиль Отправить личное сообщение для Aloran Найти все сообщения от Aloran
  № 16  
Ответить с цитированием
Aloran

Регистрация: May 2009
Сообщений: 223
Записей в блоге: 1
По мне так я бы завел определенное число этих звезд и зациклил бы для каждой из них анимацию: "отработала" звездочка, отрендомил ей характеристики и снова на нее твин повесил. За счет этого у нас количество звездочек константа и нужно следить только за грамотным удалением твинов.

Старый 25.02.2011, 09:58
mayakwd вне форума Посмотреть профиль Отправить личное сообщение для mayakwd Посетить домашнюю страницу mayakwd Найти все сообщения от mayakwd
  № 17  
Ответить с цитированием
mayakwd
 
Аватар для mayakwd

Регистрация: Jul 2008
Адрес: t:2, x: 0.76
Сообщений: 553
Отправить сообщение для mayakwd с помощью ICQ Отправить сообщение для mayakwd с помощью Skype™
это и есть пул объектов.
__________________
Блог, Twitter
Брюзга.

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

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

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


 


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


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