Поищи мной

Использование памяти Construct 2

Управление объем используемой памяти имеет важное значение для обеспечения широкого спектра аппаратного обеспечения может запустить свой проект. Это особенно важно для мобильных устройств, где ограниченный объем памяти доступен. Сокращение использования памяти также в некоторых случаях может улучшить производительность.
Изображений

Обычно объект изображения ( в том числе спрайтов анимации) являются наиболее памяти отнимает часть проекта. По этой причине Построить 2 оценки используемой памяти из изображений и отображает его в строке состояния. Вы должны следить за этим номером при разработке вашего проекта, но его следует рассматривать только в качестве грубой оценки , так как экспорт времени оптимизаций может изменить его. Помните , что это основано только на изображениях, так что ваш проект будет нуждаться , по крайней мере , что большой объем памяти для запуска. Для того, чтобы обеспечить ваш проект может работать на широком спектре аппаратных средств, стремиться сохранить использование памяти под 100mb. Сообщение в блоге Помните , чтобы не тратить свою память имеет советы о том, как лучше дизайн игры , чтобы свести к минимуму использование памяти и общей памяти отнимает много ошибок.

Сметная использование памяти базируется только на одном макете с наибольшим требования к памяти, потому что только изображения для одного макета загружаются одновременно. В Construct 2 это называется макет-по-макете загрузки .
Макет-на-макет загрузки

Построить 2 загружает только изображения для текущей раскладки. Это позволяет избежать загрузки всего проекта в памяти , который будет медленным и потребляют много памяти. При запуске макета, все изображения для объектов , помещенных в Layout View предварительно загружены. Это включает в себя все кадры во всех анимации любых объектов Sprite. (Другими словами, лешие либо полностью загружены в памяти, или нет вообще - они никогда не являются частью загруженным.) Когда макет заканчивается, все изображения, которые загружаются , но не используются на следующем макете освобождаются из памяти.

Если объект не помещается в макете, но события создать его во время выполнения, его изображения не предварительно загружены. Двигатель Construct 2 принудительно загружать изображения объектов в момент создания, что может привести к кратковременному паузу в геймплее, или в крайнем случае постоянная заикание (также известный как "Jank"). Для того чтобы избежать этого, необходимо просто поместить какие - либо объекты , которые будут использоваться компоновкой в виде компоновки. Если они сразу не нужны , то они могут быть уничтожены в Начало макета события. Они тогда не существует , когда начинается макет, но Построить 2 будет еще предварительно загруженным их изображения, гарантируя , что они в дальнейшем могут быть созданы во время выполнения без Jank.
Расчет использования памяти изображения

Прежде всего, важно отметить, формат изображения не оказывает никакого влияния на использование памяти. Вы можете сэкономить на скачивание Размер вашего проекта, установив некоторые изображения в формате JPEG PNG-8 или в редакторе изображений. Однако это не делает ничего, чтобы использование памяти: сжатые изображения не могут быть непосредственно визуализации, поэтому при загрузке все изображения распаковываются в 32-битном формате ARGB растрового. Это означает, что каждый пиксель занимает четыре байта для альфа, красного, зеленого и синего каналов.

Следовательно, приближенное использование памяти образа просто его количество пикселей , умноженной на 4. Например, 100x100 изображение будет использовать 100 х 100 х 4 = 40000 байт, или около 39KB. HD-размера изображения при разрешении 1920x1080 бы 1920 х 1080 х 4 = 8294400 байт, или около 7.9MB. Поэтому хороший метод , чтобы свести к минимуму использование памяти является использование изображения меньшего размера. Как Помните , чтобы не тратить память Сообщение в блоге основные моменты, используя много больших изображений быстро добавить до огромного требования к памяти и его следует избегать. Экспорт времени spritesheeting и мощности из-два ограничения в некоторых графических процессоров означают фактическое использование памяти каждого изображения может меняться, но этот расчет служит хорошим правилом большого пальца.

Важно также отметить, что использование памяти на основе исходного изображения - то есть, как он появляется в редакторе изображений. Если объект растягивается в макете или во время выполнения, он не использует какой-то более или меньше памяти. Он просто рендеринга изображения источника в памяти (которая всегда исходного размера) другого размера на экране. Хороший способ для создания памяти эффективных заливку или градиенты, чтобы иметь очень маленькое изображение (например, 32х32) с заливкой и затем растянуть, что очень большой с точки зрения компоновки.
Не неправильное использование "спустившиеся качество"

При экспорте, Construct 2 работает несколько оптимизаций , включая spritesheeting для экономии памяти. Установка Спустившиеся свойство проекта для «высокого качества» сил spritesheeting раздуть все спрайты питания из-двух размеров, отрицающих сохранение памяти spritesheets. Это может значительно увеличить требования к памяти вашего проекта. Так как режим «Высокое качество» существует только для решения двух относительно незначительные проблемы рендеринга (край окаймляющими на спрайтов, или измененное качества на последнем кадре анимации), не следует использовать , если один из этих рендеринга проблем не было специально отмечено и вопрос решить, выбрав эту опцию. В противном случае ваш проект будет платить очень высокую цену в использовании памяти без всякой причины.
аудио

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

Важно , чтобы классифицировать аудио между звуковыми и музыкальными папками , так как они загружаются по- разному , и , следовательно , имеют различное использование памяти.
Звуки

Аудио в папке "Звуки" полностью распакованы в памяти. Это позволяет звуковые эффекты для воспроизведения мгновенно без задержки от необходимости при первой загрузке или разуплотнения аудио, обеспечивая звуковые эффекты слышны в соответствующее время. Как и с изображениями, сжатый размер позволяет уменьшить загрузку, но не уменьшает использование памяти: звук будет распакованы и PCM волновых буферов.

По умолчанию свойство проекта "преднагрузки Звуки" установлено значение "Да", то есть все звуки будут загружены и распакованы , пока полоса загрузки показывает. В результате все звуки в проекте будут распакованы в памяти при запуске. С помощью общей конфигурации воспроизведения 16-битных выборок с частотой 44,1 кГц, одна секунда одноканального аудио будет использовать 88000 байт (около 86kb), и вдвое больше, чем для стерео (около 172Кб). За одну минуту звука, то есть около 5mb для одного канала и 10 МБ для стерео. Это основная причина , музыкальные дорожки не должны быть классифицированы как "звук": если у вас есть 15 минут стерео музыки, которая будет потреблять 150 МБ памяти. На некоторых платформах, декодирование полный музыкальный трек также может быть довольно медленным, добавляя много времени запуска.

Если 'Preload звуки' установлен 'Нет', звуки не загружаются во время запуска, и игра может начаться быстрее. Однако в первый раз воспроизводится каждый звук может быть отложено, поскольку он должен сначала загрузить и расшифровать его в полном объеме. Используя действие 'Preload' в объекте Audio может помочь смягчить это. Однако Построить 2 в коем случае не релизов звуков после загрузки, чтобы гарантировать, что они всегда могут быть воспроизведены снова быстро в будущем. Поэтому установка 'Preload звуки' 'Нет' не спасет память, если игрок играет через игру и каждый звуковой эффект слышен; он все равно будет накапливаться в течение долгого времени к тому же использование памяти, которые имели бы поджимать все. По этой причине выключения звука предзагрузку не следует использовать в качестве средства для экономии памяти.

Аудио в папке "Звуки" должна быть короткой, чувствительных к задержкам звуковые эффекты. Рассмотрим вырубку любые очень длинные длительности звуковых эффектов - или, если задержка воспроизведения не важно, считают категоризации его как «музыка».
Музыка



В отличие от звуковых эффектов, музыки в потоковом. Как правило, это означает, что звук двигателя будет иметь небольшой буфер воспроизведения фиксированной длины, и в то время как звук играет он загружен, декодированием и воспроизведением небольшими порциями, которые соединяются друг с другом без проблем. Это означает, что использование памяти является низкой, независимо от длины трассы, и он может даже начать воспроизведение аудио до его завершения загрузки. Именно поэтому музыка не предварительно загружены в то время как полоса загрузки показывает - нет необходимости ждать ее завершения загрузки перед началом игры. Однако воспроизведение не всегда может начать немедленно, так как он, возможно, придется ждать загрузки, чтобы закончить буферизацию, или для первого фрагмента для загрузки и декодирования. С точки зрения использования памяти, основным фактором является просто чтобы убедиться, что длинные звуковые дорожки (как правило, в игре музыка) классифицируется как музыка, а не звук.

Комментариев нет:

Отправить комментарий