 	{		
 		dispatchEvent(new FlexEvent(FlexEvent.INIT_PROGRESS));
 	}
+
+    /**
+     *  @private
+     */
+    private function waitAFrame(event:Event):void
+    {
+        CONFIG::performanceInstrumentation
+        {
+            mx.utils.PerfUtil.getInstance().markTime("Preloader.displayClass rendered");
+        }
+
+        this.removeEventListener(Event.ENTER_FRAME, waitAFrame);
+        waitedAFrame = true;
+    }
+
 }
 
 }
-	
+

			displayClass.stageHeight = displayHeight;
			displayClass.initialize();  
			displayClass.preloader = this;
		}	
		
		// move below showDisplay so error messages can be displayed

		{
			if (!sentDocFrameReady)
			{
				// If there's a displayClass, don't send the PRELOADER_DOC_FRAME_READY 
				// event before we render at least one frame
				if (showDisplay && !waitedAFrame)
					return;

				sentDocFrameReady = true;
				// Dispatch a Frame1 done event.
				dispatchEvent(new FlexEvent(FlexEvent.PRELOADER_DOC_FRAME_READY));
