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

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

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

блогер
Регистрация: Jun 2005
Адрес: Господи пожалуйста не Новосибирск
Сообщений: 6,598
Записей в блоге: 17
Цитата:
А в чём соль то ?
Ну это давняя история. Были-жили сишники, ассеблерники и прочие люди. И работали они с памятью напрямую. Но пришли нонконформисты и сказали - это неудобно! Мы сделаем так, что машина сама решит когда пришло время что-то сделать с памятью! И сделали. Да так сделали, что кроссплатформенно получилось. С тех пор разделились языки на 2 категории: одни с GC, другие без. Мы - CLI Ecma-based язык. Мы не можем работать с памятью напрямую. Во всяком случае из AS )

Цитата:
Не понял. Подробностей хочется.
Ну, жил был объект - потомок DisplayObject`а. Повесил на него очень умный программист ENTER_FRAME, да ещё как повесил - обработчик дёргал BigClass.someMethod, куда передавал себя аргументом. А тот что-то с ним творил. Например, брал с него какие-то данные. А потом пришел GC и перестал вызываться этот метод. Потому что объект удалился. Вот так вот объект подготовленный ко смерти стучался туда, куда GC не доберется.

Старый 22.10.2010, 23:55
i.o. вне форума Посмотреть профиль Отправить личное сообщение для i.o. Найти все сообщения от i.o.
  № 12  
Ответить с цитированием
i.o.
 
Аватар для i.o.

Регистрация: Apr 2010
Адрес: Earth
Сообщений: 1,897
Цитата:
Ну, жил был объект - потомок DisplayObject`а. Повесил на него очень умный программист ENTER_FRAME
Забыл добавить, что потом этот "программист" "потерял" ссылку на вот этот вот объект, в результате чего, тот остался на растерзание GC. А в оставшееся время до часа Х, отчаянно передавал ссылку на себя в BigClass.someMethod. )))

Старый 23.10.2010, 00:35
Psycho Tiger вне форума Посмотреть профиль Отправить личное сообщение для Psycho Tiger Найти все сообщения от Psycho Tiger
  № 13  
Ответить с цитированием
Psycho Tiger
 
Аватар для Psycho Tiger

блогер
Регистрация: Jun 2005
Адрес: Господи пожалуйста не Новосибирск
Сообщений: 6,598
Записей в блоге: 17
Дада, тонувший не умел плавать, но кричал команде спасателей )

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

Регистрация: Oct 2003
Адрес: Москва
Сообщений: 328
Все же доп. средства управления GC не помешали бы. Например, мне очень хочется ставить GC на паузу, ему ведь пофиг, что щас отработать, что через минуту. А то этот умник частенько решает все почистить и затормозить именно в тот момент, когда каждая миллисекунда на счету (сложная 3D схема).
__________________
Создатель: Бойцовский клуб | TimeZero | Sky2Fly
Я возьму сам.

Старый 23.10.2010, 11:46
Psycho Tiger вне форума Посмотреть профиль Отправить личное сообщение для Psycho Tiger Найти все сообщения от Psycho Tiger
  № 15  
Ответить с цитированием
Psycho Tiger
 
Аватар для Psycho Tiger

блогер
Регистрация: Jun 2005
Адрес: Господи пожалуйста не Новосибирск
Сообщений: 6,598
Записей в блоге: 17
Так то да. Думаю, в будущем что-то похожее получим.
Сперва - почти официальный запуск GC через Loder#unloadAndStop, потом опкоды для жарки прямо в память. Whats next? )

Старый 23.10.2010, 12:24
f.g.programmer вне форума Посмотреть профиль Отправить личное сообщение для f.g.programmer Найти все сообщения от f.g.programmer
  № 16  
Ответить с цитированием
f.g.programmer
 
Аватар для f.g.programmer

блогер
Регистрация: Sep 2010
Адрес: Россия
Сообщений: 137
Записей в блоге: 3
Искал когда-то тоже информацию по GC, и нашёл способ принудительного вызова
В оригинале выглядит примерно так
Код AS3:
try {
	(new LocalConnection()).connect("freg");
	(new LocalConnection()).connect("freg");
}
catch (e:Error) {
	System.gc();
	System.gc();
}
Но без вызова System.gc() (который должен работать вроде как только в air) тоже работает

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

блогер
Регистрация: Dec 2008
Адрес: г. Чебоксары
Сообщений: 2,259
Записей в блоге: 6
Один явный способ вызова есть - можно закидать его пещеру трупами
Код AS3:
new TextField();
настолько, чтобы память флешки превысила выделенный ей лемит. гц вылезет голодный и злой.
__________________
Дети не должны знать о своих родителях

Старый 23.10.2010, 14:34
f.g.programmer вне форума Посмотреть профиль Отправить личное сообщение для f.g.programmer Найти все сообщения от f.g.programmer
  № 18  
Ответить с цитированием
f.g.programmer
 
Аватар для f.g.programmer

блогер
Регистрация: Sep 2010
Адрес: Россия
Сообщений: 137
Записей в блоге: 3
В примере с try-catch и без трупов работает

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

блогер
Регистрация: Feb 2008
Сообщений: 1,453
Записей в блоге: 4
Кто-то, вроде silin, если память не изменяет, предлагал грузить пустой gif из byteArray-я. У него на эту тему класс есть. При этом вызывается gc без трупов и прочих извратов.

Добавлено через 3 минуты
Вот, нашел
__________________
Ну все, теперь Забава м-о-я.
Гы-гы, а корабль мой!

Старый 23.10.2010, 14:45
Psycho Tiger вне форума Посмотреть профиль Отправить личное сообщение для Psycho Tiger Найти все сообщения от Psycho Tiger
  № 20  
Ответить с цитированием
Psycho Tiger
 
Аватар для Psycho Tiger

блогер
Регистрация: Jun 2005
Адрес: Господи пожалуйста не Новосибирск
Сообщений: 6,598
Записей в блоге: 17
Ага. Суть в том, что после Loader#unloadAndStop GC запускается. silin просто сразу обернул пустую gif`ку и отдавал её Loader`у, после чего выгружал.

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

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

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


 


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


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