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

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

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

Регистрация: Nov 2010
Сообщений: 190
Отправить сообщение для FieryWall с помощью ICQ Отправить сообщение для FieryWall с помощью Skype™
graphics.clear() по сути тот же dispose(), и так же обязателен если к растру нет доступа через ссылку?

Старый 27.12.2011, 14:19
goodguy вне форума Посмотреть профиль Найти все сообщения от goodguy
  № 12  
Ответить с цитированием
goodguy
Banned
[+1 05.11.11]
[+1 09.08.11]

Регистрация: Jan 2010
Адрес: РФ. Кемеровская область
Сообщений: 3,243
Цитата:
graphics.clear() по сути тот же dispose()
нет, graphics.clear() - очищает векторный контент созданный программно. dispose() же уничтожает растр
Цитата:
если к растру нет доступа через ссылку?
Значит надо ее получить. Любой профайле сразу же покажет, чколько оперативки жрет растровый контент, который не был уничтожен

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

Регистрация: Nov 2010
Сообщений: 190
Отправить сообщение для FieryWall с помощью ICQ Отправить сообщение для FieryWall с помощью Skype™
Цитата:
Сообщение от goodguy Посмотреть сообщение
нет, graphics.clear() - очищает векторный контент созданный программно. dispose() же уничтожает растр
На сколько я обратил внимание graphics.clear() как раз чистит все bitmap контейнера (кроме наверно тех что в чаилдах). Перепроверь


Последний раз редактировалось FieryWall; 27.12.2011 в 14:53.
Старый 27.12.2011, 15:06
goodguy вне форума Посмотреть профиль Найти все сообщения от goodguy
  № 14  
Ответить с цитированием
goodguy
Banned
[+1 05.11.11]
[+1 09.08.11]

Регистрация: Jan 2010
Адрес: РФ. Кемеровская область
Сообщений: 3,243
Для программы Bitmap != graphics.
Цитата:
На сколько я обратил внимание graphics.clear() как раз чистит все bitmap контейнера
Значит надо еще раз обратить внимание, повнимательнее

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

блогер
Регистрация: Mar 2007
Сообщений: 1,291
Записей в блоге: 5
Отправить сообщение для cleptoman с помощью ICQ
Bitmap, BitmapData и Graphics - это все разные классы.
при BitmapData#dispose удаляется из памяти и визуально из контейнера битмапа и графикс, если использовался beginBitmapFill для ее рисования..
при очистке графикс очищается только она для конкретного экземпляра, где графикс его свойство.
как то так.

и кстате при Graphics#clear экземпляр Graphics не зануляется.
__________________
http://cleptoman.free-lance.ru
achivements: дважды благословлен на воровство. осеяный благодатью

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

Регистрация: Nov 2010
Сообщений: 190
Отправить сообщение для FieryWall с помощью ICQ Отправить сообщение для FieryWall с помощью Skype™
С тем что bitmapData != graphics я согласен. Но вектор стереть с помощью clear() нелзя. А то что нарисовано beginBitmapFill() стереть с помощью clear() можно

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

блогер
Регистрация: Mar 2007
Сообщений: 1,291
Записей в блоге: 5
Отправить сообщение для cleptoman с помощью ICQ
вы что имеете ввиду под словом вектор?..на уровне языка..
__________________
http://cleptoman.free-lance.ru
achivements: дважды благословлен на воровство. осеяный благодатью

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

Регистрация: Nov 2010
Сообщений: 190
Отправить сообщение для FieryWall с помощью ICQ Отправить сообщение для FieryWall с помощью Skype™
ну... вектор (все что не bitmapData)
Вы меня запутали

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

блогер
Регистрация: Mar 2007
Сообщений: 1,291
Записей в блоге: 5
Отправить сообщение для cleptoman с помощью ICQ
вы сами запутались...

Цитата:
Но вектор стереть с помощью clear() нелзя
если вы имеете ввиду очистить нарисованный ручками шейп, то можно, получив ссылку на графикс вашего "вектора" и вызвать clear()
__________________
http://cleptoman.free-lance.ru
achivements: дважды благословлен на воровство. осеяный благодатью

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

Регистрация: Nov 2010
Сообщений: 190
Отправить сообщение для FieryWall с помощью ICQ Отправить сообщение для FieryWall с помощью Skype™
Ну в итоге:
Код AS3:
//sprite - глобальная ссылка на нечто типа Sprite
var bitmap:BitmapData = new BitmapData(100,100);
sprite.graphics.beginBitmapFill(bitmap);
sprite.graphics.drawRect(0,0,100,100);
//а тут псевдо-деструктор
sprite.graphics.clear(); // в этом есть смысл для GC?
sprite = null;

Создать новую тему Ответ Часовой пояс 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
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.