This content has been marked as final. Show 2 replies
DataGrid performance is roughly bound to the number of objects created and the complexity of the objects created. You have 14 rows * 7 columns = 98 cells. Now if some of the cells contain 6 images and containers etc, all driven off repeaters, you can do the math and see that it starts to get expensive fast.
I would start optimizing in a couple of ways. First, I would definitely embed the .GIF, loading it as an external image several times is wasteful. Second, I would remove as many HBoxes and VBoxes as possible. The two link buttons don't need to be in an HBox, you can create an custom UIComponent subclass to house them and size them. HBox (and VBox) have general purpose measure-the-children code you don't really need.
Nice... thanks for the reply. A couple things I noticed as I was trying to optimize this... several of which you mentioned in your post.
1) I was using a function setting height of the datagrid, so that all rows were displayed. This eliminated the built-in paging functionality that a datagrid offers, speeding up the initial load-time. As soon as I set the datagrid to be a fixed height, it enormously helped the performance
2) Children of children, especially involving hboxes, canvases, and vboxes take time to process and measure the heights and widths. I have too much nested.
Thanks for the help... another article that helped me was a tip from Adobe