Какие параметры Windows «Монитор производительности» следует использовать для отладки Flash-фильма, который выдает ошибку InvalidBitmap? - PullRequest
0 голосов
/ 19 июня 2009

Вот моя проблема:

У меня есть Flash SWF, который загружает файлы с локального компьютера и, если это изображения, изменяет их размер, если это необходимо. Это включает создание байтового массива в формате JPGE из объекта bitmapData. После того, как я закончил с bitmapData, я избавляюсь () от него.

Я заметил, что флэш-память застревает при изменении размера изображения и отследила это до сообщения об ошибке «недопустимое bitmapData». Я пытался прошлой ночью перед уходом с работы, и это бросало это сообщение после 2 изображений !! Этим утром все, казалось, было в порядке, поэтому я решил нажать на него и попытался загрузить 20 изображений размером 5616x3744 пикселей и 5,32 МБ (те же изображения, которые я пробовал ранее).

Я включил монитор производительности в Windows и запустил загрузку в SWF, работающую в mozilla + firebug для хорошей меры. Все работало отлично примерно для 12 изображений, а 13-го (!!) снова замерзло. Я приложил скриншот графика из производительности пн.

alt text

Полагаю, мне нужно сделать больше таких тестов, чтобы увидеть, где возникают проблемы. Может кто-нибудь пролить свет на то, что я вижу здесь, что может вызвать проблемы - желтая линия выглядит подозрительно! (?)

Большой зеленый пик соответствует перерисовке BitmapData. Я думаю, что меньший зеленый пик рисует версию эскиза из того же объекта Bitmap после успешной загрузки большой версии. Какие еще счетчики следует использовать для мониторинга использования памяти и т. Д.

Любой совет приветствуется. большое спасибо

1 Ответ

0 голосов
/ 17 декабря 2010

У вас слишком много пикселей, вот и все. В Flash Player 10 максимальное количество пикселей для растрового изображения может составлять 16 777 215 (или 0xFFFFFF). Кроме того, максимальная ширина или высота равна 8 191, если общее количество пикселей меньше максимального значения. Ваше тестовое растровое изображение имеет 21,026,304, что намного выше.

...