50 картинок. Все еще не вижу разницы.

Код AS3:
const MATRIX_SCALING:Boolean = false;
var bitmapVector:Vector.<Bitmap> = new Vector.<Bitmap>();
generateBitmaps(50);
function generateBitmaps(count:int):void {
while(count-- > 0) {
var bmd:BitmapData = new BitmapData(1000, 1000, true, 0xFF << 24 | Math.random()*0xFFFFFF);
brbrBitmapData(bmd);
var scaleFactor:Number = 0.3;
var bm:Bitmap;
if(!MATRIX_SCALING) {
bm = new Bitmap(bmd);
bm.scaleX = bm.scaleY = scaleFactor;
}else {
var mtx:Matrix = new Matrix();
mtx.scale(scaleFactor, scaleFactor);
var scaledBmd = new BitmapData(bmd.width*scaleFactor, bmd.height*scaleFactor);
scaledBmd.draw(bmd, mtx);
bm = new Bitmap(scaledBmd);
}
bm.x = Math.random()*stage.stageWidth/2;
bm.y = Math.random()*stage.stageHeight/2;
addChild(bm);
bitmapVector.push(bm);
}
}
addEventListener(Event.ENTER_FRAME, enterFrameHandler);
function enterFrameHandler(event:Event):void {
var len:int = bitmapVector.length;
for(var i:int = 0; i < len; i++) {
var bm:Bitmap = bitmapVector[i];
bm.rotation ++;
}
}
// just fun
function brbrBitmapData(bitmapData:BitmapData):void {
var len:int = (bitmapData.width * bitmapData.height) / 10;
for(var i:int = 0; i < len; i++) {
bitmapData.setPixel32(Math.random()*bitmapData.width, Math.random()*bitmapData.height, Math.random()*0xFFFFFFFF);
}
}
var fpsTextField:FPSBox = new FPSBox();
fpsTextField.textColor = 0xFFEA2B;
addChild(fpsTextField);
> Если кеширует, то не понятно, зачем нужен cacheAsBitmap
Это и есть Bitmap. cashAsBitmap - Bitmap. Тафтология.
Добавлено через 4 минуты
Цитата:
Сообщение от i.o.
Человек уже получил вопрос, как ему уменьшить разрешение. Зачем докапываться "а для каких вам целей", да "плеер не дурак".. лишь бы пооффтопить - для этого флейм есть.
|
Это не флейм, а выяснение истины. Всем будет полезно узнать, например, что scale медленнее, чем трансформация bitmapDat'ы с помощью матрицы, или наоборот. Если вам не интересно — проходите мимо.
UPD: уменьшил размер битмапдат и нагенерировал заявленные 200 штук. Разницы все равно не увидел.
UPD2: в качестве счетчика фпс был использован класс FPSBox отсюда:
http://blog.efnx.com/wp-content/uplo...113.src.tar.gz