Hello,
we've implemented a XamTileManager in our application, and want to (potentially) display a very large amount of tiles (8000+). However, the application gets unusable if we display anything over 200 tiles. Each tile itself is a relatively small object, containing only a small image and some properties. Memory utilization looks fine (the exe uses less than 100 MByte). Are there some options available to enable some kind of virtualization or lazy loading for the tile manager?
Kind regards
Hello and thank you for posting!
I have been investigating the scenario and created a sample project to test it which is attached to this forum thread. On my side I was not able to reproduce the behavior you have described. By default the tiles of the XamTileManager control are virtualized so that the rendering time is reduced. Could you please let me know if you have placed the control in a panel with infinity width as ScrollViewer or StackPanel as this will turn the virtualization off?
Thanks for your reply. The control itself is inside a Dockpanel which is inside a Grid (so Grid => Dockpanel => Tilemanager). The <ig:XamTileManager.ItemTemplate> however contains a Stackpanel, may that be the issue?
I am just checking if you had a chance to look into this and if you would like any further assistance on the matter.
Hi,
When the ShowAllTiles property is set to ‘true’ all tiles in the XamTileManager are loaded. The items won’t be virtualize as all and when it comes to a very large number of tile as in this case the loading and scrolling time will increase. I would suggest you have that property to ‘false’ when operating with many tiles. If you would like to control the number of tiles that are displayed on a row, you can consider setting the MaxColumns and MinColumns properties for the NormalModeSettings. Here is a forum thread where a sample project for the same was shared: http://es.infragistics.com/community/forums/t/74630.aspx. Please let me know if I could assist you with anything else.
I compared your sample to our implementation and found out that we had ShowAllTiles set to true. It seems we had some layout issues (empty area of roughly 1/2 screen size below the last tile) which only occured when set to false. We didn't experience the performance issue, since we usually had no more than 20 tiles in it (until now). But I guess that warrants more investigation on our side.
I've attached a modified sample nonetheless, where switching between true and false reproduces the "issue".
The ItemTemplate will affect the items in each tile. Having a StackPanel in a tile will not turn off the virtualization for the whole XamTileManager so only the visible tiles and a small amount of the other ones will be rendered in the visual tree. Would it be possible for you to modify the sample I have attached before or share your sample solution which illustrates the issue so I can investigate it further for you? Thank you.