Как узнать, когда я использую слишком много оперативной памяти в своих Flash-играх? - PullRequest
1 голос
/ 22 января 2012

На моем предприятии по быстрому рендерингу во Flash я решил, что единственным решением является создание спрайтов на лету.

Листы спрайтов создаются из мувиклипа с использованием BitmapData.draw().

У меня есть класс графического менеджера, у которого есть метод, который принимает MovieClip и int.MovieClip - это цель для захвата графики, а int представляет, на сколько разных углов может быть визуализировано изображение в пределах 360 градусов.

Например, если значение int равно 4, я получуэтот результат:

enter image description here

И если я предоставлю 8 Я получу это:

enter image description here

И так далее (до 360).

Затем метод возвращает экземпляр другого класса, который я создал, что позволит легко захватывать BitmapData данной ячейки путем указания кадра и поворота, например:

var myGraphics:SpriteSheet = aboveMethod(movieClip, 4);
var cell:BitmapData = myGraphics.getCell(2, 90); // frame 2 rotated to 90 degrees

Создание этих спрайт-листов, очевидно, потребует много оперативной памяти, особенно если у меня есть что-то со 100+ кадрами, которые нужно повернуть на 2 градуса (всего 1800 ячеек).

IЯ понятия не имею, сколько ОЗУ они используют, и я опять не знаю, сколько ОЗУ удовлетворительно для моей игры.

Любой совет по этому поводу был бы чрезвычайно полезен.Примечание: я позаботился о том, чтобы использовать BitmapData.dispose() в моем собственном методе dispose(), определенном SpriteSheet, для очистки ОЗУ, меня больше беспокоит, сколько ОЗУ я могу использовать за один раз (все игрыактивы, которые будут готовы к использованию).

1 Ответ

0 голосов
/ 22 января 2012

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

https://github.com/theflashbum/stats.as

http://demonsterdebugger.com/

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...