Hi We have a flex3 app, part of which has a dialog box from which the user can pick a particular "graph"-type component to add to their display.
Internally, this is generated with an <mx:Tile> list, where the dynamic list of children is created then addChild()-ed to the tile. This seems fine - but in certain circumstances seems appallingly slow. To illustrate - if we have a test doing <mx:Tile id = "theTile" left="10" right="10" top="10" bottom="10"/> Then if you do something like the following: for(var i:int=0;i<50;i++) { var j:Button = new Button(); j.width = 100; j.height = 75; theTile.addChild(j); } Then it executes very very fast - too fast to even notice. But if I replace a 'button' with an mx.charts.LineChart it slows down to be a couple of seconds, which is on the boundary of being acceptable. But if I change it to be a (degrafa-based) com.brightPoint.controls.DegrafaGauge, it's >5 seconds; not what you want when a user should be flipping through pages quickly. I tried replacing the mx:Tile with a new Spark BorderContainer, and it's no better. It feels slower than flex3 was (but that's just a vague impression). I suspect I need to be fiddling with ItemRenderers, but I'm not sure it's going to really help. Are these just badly implemented components? Is there something else I can do to mitigate the initial render slowness (e.g: is it actually burning time trying to lay something out) ?