Hi, I’m being faced with a performance problem.
The app i’m building displays rows of tracks. Each track can contains a list a cells. This combination of columns and rows and easily go beyond 50x50; The problem is that every track has a lot of buttons and sliders. Each cell by it’s turn has inside some elements to provide additional cosmetics. I was testing my prototype with only a few tracks and cells on each track (4x8). I started realising my problems when I added 50 tracks and 50 cells on each one and started scrolling. On a PC this is easy and doesn’t give any problems, but when doing it on a iPad 2… things are quite different. The way I was doing this was: ListView { id: tracks model: controller.tracks delegate: TrackView { cells: model.cells ... } } } TrackView { property alias cells: cells.model ListView { id: cells } ... } I need to have a really good performance so I started analysing other options. My next idea was to replace the list on each track by a grid view which received the model as a list of cells. The cells should then be arranged in a single array. The problem here is that grid view will start laying out the cells at the end of its bounds. I cannot specify when it should start switching rows. For example. I have 10 tracks but I can only 5. I have 1 cell on each track. I want to see cells in the following way: (Pipes define my viewport) | 0, 1 , 2, 3, 4|, 5, 6, 7, 8, 9 | 10, 11, 12, 13, 14|, 15, 16, 17, 18, 19 The way GridView is done doesn’t allow me this. Obviously, I start to think that my only option here is to go to scene graph implementation of a custom element. Question: Is there anyway to easily customise the way GridView chooses the cells to render? I would love to have an advise from more experienced developers before starting to code like a mad. Thanks, With my best regards, Nuno Santos _______________________________________________ Interest mailing list Interest@qt-project.org http://lists.qt-project.org/mailman/listinfo/interest