 <p>The first one is faster because vector rendering mathematics are required to fill your shape in the latter.</p> <p>If you want noticeable (and I mean very noticeable) performance gains, you should have <em>one</em> Bitmap on the stage. What you do from there is store references to <code>BitmapData</code> to represent graphics, and sample those onto your one Bitmap via <a href="http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/flash/display/BitmapData.html#copyPixels%28%29" rel="nofollow"><code>.copyPixels()</code></a>.</p> <p>Example:</p> <pre><code>// This is the only actual DisplayObject that will hit the Stage. var canvas:Bitmap = new Bitmap(); canvas.bitmapData = new BitmapData(500, 400); addChild(canvas); // Create some BitmapData and draw it to the canvas. var rect:BitmapData = new BitmapData(40, 40, false, 0xFF0000); canvas.bitmapData.copyPixels(rect, rect.rect, new Point(20, 20)); </code></pre>