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

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

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

Регистрация: Jan 2013
Сообщений: 322
a7s1h1, вектор занимает мало оперативной памяти, но и fps мало.
растр занимает много оперативной памяти и fps много.

Код AS3:
Имеет ли смысл растеризовать неподвижный спрайт?
да.
но вообще нужно в меру делать и по ситуации.

Старый 03.02.2015, 16:55
a7s1h1 вне форума Посмотреть профиль Отправить личное сообщение для a7s1h1 Найти все сообщения от a7s1h1
  № 12  
Ответить с цитированием
a7s1h1

Регистрация: Oct 2013
Сообщений: 126
Цитата:
Сообщение от nubideus Посмотреть сообщение
нужно в меру делать и по ситуации.
Прошу прощения за дотошность, просто с мерой у меня как раз не лады - собрался растеризовать вообще всё, что не поворачивается и не сильно масштабируется. Верно ли утверждение, что спрайт НЕ имеет смысла растеризовать, если его изображение содержит мало кривых и сам он крохотный (скажем, 40х40)?

Цитата:
Сообщение от nubideus Посмотреть сообщение
a7s1h1, вектор занимает мало оперативной памяти, но и fps мало.
растр занимает много оперативной памяти и fps много.
Но почему же тогда, после того, как я растрирую какой-либо спрайт, System.totalMemory увеличивается? Или System.totalMemory - это не показатель потребления оперативной памяти?

Старый 03.02.2015, 17:56
nubideus вне форума Посмотреть профиль Отправить личное сообщение для nubideus Найти все сообщения от nubideus
  № 13  
Ответить с цитированием
nubideus

Регистрация: Jan 2013
Сообщений: 322
Цитата:
Верно ли утверждение, что спрайт НЕ имеет смысла растеризовать, если его изображение содержит мало кривых и сам он крохотный (скажем, 40х40)?
ага.

Цитата:
System.totalMemory - это не показатель потребления оперативной памяти?
потребление считается totalMemory - freeMemory.

totalMemory это сколько флеш плеер отъел памяти у ОС. мы отъедаем куски от totalMemory. когда total memory заканчивается, флеш может еще сожрать памяти у ОС.

freeMemory - это сколько памяти осталось от totalMemory.

Цитата:
Но почему же тогда, после того, как я растрирую какой-либо спрайт
ну правильно все, сначала был легковесный вектор, потом стал тяжеловесный растр.
например растр 800*600 пикселей весит 1.8 мегабайта.

Старый 03.02.2015, 18:50
a7s1h1 вне форума Посмотреть профиль Отправить личное сообщение для a7s1h1 Найти все сообщения от a7s1h1
  № 14  
Ответить с цитированием
a7s1h1

Регистрация: Oct 2013
Сообщений: 126
Цитата:
Сообщение от nubideus Посмотреть сообщение
потребление считается totalMemory - freeMemory.
totalMemory это сколько флеш плеер отъел памяти у ОС. мы отъедаем куски от totalMemory. когда total memory заканчивается, флеш может еще сожрать памяти у ОС.
freeMemory - это сколько памяти осталось от totalMemory.
Я пробовал последить отдельно за freeMemory - максимальное значение не превышает 0,6мб, а вот totalMemory потихоньку растёт (вплотную займусь оптимизацией чуть позже), периодически резко уменьшаясь (видимо, срабатывает сборщик). То есть, я так понимаю, для грубого контроля динамики потребляемой памяти достаточно следить за totalMemory.
Цитата:
Сообщение от nubideus Посмотреть сообщение
растр занимает много оперативной памяти
у меня когнитивный диссонанс. я думал, растр более тяжёлый для физической памяти, т.е. занимает больше места на винте, зато программе не надо его так усердно обрабатывать, следовательно он жрёт меньше оперативной памяти, соответственно, выше fps и меньше требований к ресурсам компа. Вектор же, напротив, весит мало на винте, но кривые сложнее обрабатывать, поэтому оперативки потребляется больше, из-за чего игра может тормозить. Если брать абстрактные крайности, то игра с обилием растровых картинок много весит, но не тормозит, а с векторными весит чуть-чуть, но зато может не тянуть на слабых компах.
Разве не так? (а если так, то почему у меня растеризация ведёт к увеличению потребляемой памяти?)

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

Регистрация: Dec 2014
Сообщений: 312
Кривые нужно каждый кадр процессору рисовать на экран. При этом в оперативной памяти хранить ничего не надо.

А растр нужно хранить в оперативной памяти, но зато не нужно каждый кадр рисовать.

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

блогер
Регистрация: Jul 2013
Адрес: Север
Сообщений: 1,922
Записей в блоге: 23
Отправить сообщение для ZackMercury с помощью ICQ Отправить сообщение для ZackMercury с помощью Skype™
a7s1h1, почитайте, что такое оперативная память.
Это почти то же самое, что и винт, но это данные, которыми оперируют приложения в текущий момент. Для вырисовывания на экране изображение помещается в оперативную память. Экземпляр каждого класса создаётся в оперативке.
__________________
There is no thing in this world that is not simple.

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

Регистрация: Jan 2013
Сообщений: 322
Цитата:
следовательно он жрёт меньше оперативной памяти
нет. растр жрет и оперативную память, и какую только можно память короче.
> растр 800*600 пикселей весит 1.8 мегабайта
Цитата:
последить отдельно за freeMemory
не надо отдельно, надо totalMemory - freememory. первое минус второе.

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

Регистрация: Oct 2013
Сообщений: 126
Кажется, понял. Спасибо всем большое за терпимость к глупости вопросов и за оперативные ответы!

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

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

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


 


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


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