от градиентов в цикле я избавился. Теперь его я 1 раз рисую до начала симуляции:

Код AS3:
bubble=this.bubbleShape.graphics;
bubble.clear();
m=new Matrix();
m.createGradientBox(2*r, 2*r, 0, -r, -r);
bubble.beginGradientFill(GradientType.RADIAL, [0xFF,0xFF], [1,0], [30, 255],m);
bubble.drawCircle(0, 0, r);
bubble.endFill();
потом уже при рисовании:

Код AS3:
var i:int;
var p:BaseParticle;
var m:Matrix;
m=new Matrix();
for (i=0; i<ptCount; i++)
{
p=pt[i];
m.tx=p.xx;
m.ty=p.yy;
bmp.draw(bubbleShape,m);
}
var rect:Rectangle=new Rectangle(0, 0, w, h);
bmp.threshold(bmp,rect, new Point(0, 0), "<", 0xA0000000)
bmp.unlock();