Это старая версия документа!
Как оптимизировать вашу игру Clickteam Fusion 2.5? Основные способы.
Понимание оптимизации
Прежде чем читать эту статью, полезно понять, что мы имеем в виду, когда используем слово «оптимизировать». Оптимизировать игру — значит убедиться, что она работает с максимально возможной производительностью. Есть несколько ключевых областей, которые повлияют на это больше, чем другие:
- Размер игры
- Размер файлов в игре
- Физический размер графических объектов
- Расчеты
Когда ваша игра запускается, она настроена на работу с постоянной частотой кадров, например 60 кадров в секунду. Это означает, что ваша игра будет пытаться обработать все, что вы ей сказали, 60 раз в секунду. Мы хотим ограничить объем операций, которые компьютер должен выполнять за каждый кадр, за каждую секунду, что, в свою очередь, ускорит вашу игру. В этом руководстве будет рассмотрен этот процесс.
Создание объектов против наличия пула объектов
По моему опыту, активные объекты и графика обычно являются основной причиной медленной работы игр Fusion. Создание объектов во время выполнения — сложная задача, требующая много памяти. Чем больше объектов вы создаете одновременно, тем больше памяти вы используете. Чем больше объекты, тем больше памяти вы используете.
Очень хорошее решение — создать пул объектов, которые вы хотите использовать повторно. Например, предположим, что вы хотите создать эффект частиц фейерверка. Вы создаете необходимое количество частиц в начале уровня, а затем, когда вам нужно их использовать, вы перемещаете их положение, чтобы использовать их, вместо того, чтобы создавать новые объекты частиц.
Каждый раз, когда вы создаете объекты или частицы во время выполнения, особенно большое количество объектов, подумайте, не лучше ли предварительно создать их в начале уровня за кадром, чтобы использовать их позже. В какой-то момент может возникнуть компромисс между количеством объектов, находящихся за кадром, поскольку каждый объект использует память. Это будет индивидуальный сценарий, который вам, возможно, придется протестировать.
Активные объекты
- Одновременно на экране может быть не более 20 000 объектов.
- Каждый объект использует память. Чем больше у вас объектов, тем больше памяти потребуется.
- Легко забыть, сколько объектов создается с помощью события, например. Если значение A = 1, создайте объект. Если вы не сообщите событию, чтобы оно прекратило создавать новые объекты после создания первого, оно может очень легко начать создавать 60 объектов каждую секунду. Проверьте наличие подобных мелочей.
- Не забудьте удалить неиспользуемые объекты, если только они не будут использоваться повторно.
Разрешение
- Лучше всего сделать игру с минимально возможным разрешением и позволить Fusion масштабировать игру во время выполнения.
- Если вы разработали графику с разрешением 270 x 480, но хотите, чтобы игра работала в формате Full HD, создайте игру с разрешением 270 x 480 и позвольте Fusion масштабировать ее во время выполнения.
- Мои игры значительно масштабируются во время выполнения без потери качества.
Изображения
- Обрезайте изображения ненужного прозрачного пространства. Прозрачные области используют память, даже если в них нет графики.
- Используйте изображения с размерами в степени 2 , например, 2, 4, 8, 16 и т. д. Программа рисует невидимые рамки вокруг объектов в степени, кратной 2 – если изображение имеет размер 9 пикселей, будет рамка размером 16 пикселей. , трата памяти
- Если изображение большое, сплошного цвета, вы можете оптимизировать его, создав минимально возможный размер в соответствии с правилом степени двойки, а затем увеличить его во время выполнения в редакторе событий. Это может сэкономить много памяти
- Чем больше объект (в пикселях), тем больше памяти (ОЗУ) он использует.
- Если вы загружаете изображение меньшего размера и масштабируете его во время выполнения, оно использует объем памяти как меньший размер (по крайней мере, мне так сказали). Таким образом, изображение размером 100×100, масштабированное до 400×400, по-прежнему будет использовать тот же объем оперативной памяти, что и изображение размером 100×100 пикселей.
- Если изображение действительно большое, подумайте, можно ли его разбить на более мелкие части. Например, если у вас длинное фоновое изображение, можете ли вы разрезать его на несколько частей, соответствующих лучшим степеням 2? Это сэкономит много памяти
- Альфа-каналы истощают память, как вампир. Используйте трансп. Цвет в редакторе анимации.