Most efficient BitmapData grid drawing with alpha

I’m looking for the most efficient possible way of drawing an 8 x 4 grid (960x600 total size). Each square of the grid has a variable alpha and the grid is redrawn every enter frame.

The problem is my application is doing a lot already and I’m looking for the most efficient way to execute this loop 32 times (possible more in fact) per frame without overloading processor.

The way I’m doing it now is kind of close to ok (but not ok).

private function init():void
{
	var dimensions : Array = [ 0, 0, 960, 600 ];
	var gridRaw : Array = [ 8, 4 ];
			
	var stageRect : Rectangle = new Rectangle( Number( dimensions[0] ), Number( dimensions[1] ), Number( dimensions[2] ), Number( dimensions[3] ) );
			
	grid = [ Number( gridRaw[0] ), Number( gridRaw[1] ) ];
	unitSize = [ stageRect.x, stageRect.y, ( stageRect.width / grid[ 0 ] ), ( stageRect.height / grid[ 1 ] ) ];
			
	this.addEventListener( Event.ENTER_FRAME, enterFrameHandler, false, 0, true );
}
		
private function drawGrid():void
{
	var sprite : Sprite = new Sprite();
	for ( var c : int = 0; c < grid[ 0 ]; c++ )
	{
		for ( var r : int = 0; r < grid[ 1 ]; r++ )
		{
			var unit : Shape = new Shape();
			unit.graphics.beginFill( 0xff0000 );
			unit.graphics.drawRect( unitSize[ 0 ], unitSize[ 1 ], unitSize[ 2 ], unitSize[ 3 ] );
					
			unit.alpha = Math.random();
			unit.x = c * unitSize[ 2 ];
			unit.y = r * unitSize[ 3 ];
			sprite.addChild( unit );
		}
	}
			
	var bitmapData : BitmapData = new BitmapData( view.stageSize[ 0 ], view.stageSize[ 1 ], true, 0x00000000 );
	bitmapData.draw( sprite );
			
	if ( bitmap )
		removeChild( bitmap );
			
	bitmap = new Bitmap( bitmapData );
	addChild( bitmap );
}
		
private function enterFrameHandler( e : Event ):void
{
	drawGrid();
}

I’m under the impression there could be better ways of drawing the shapes straight to BitmapData without using Sprites, or maybe I’m doing something wrong about memory usage as I can see memory going up and down in a cycle.

Any help will be much appreciated…