Dec 12, 2010 at 12:24 PM

How do I enable virtualization on the FlowItemsControl3D or is there a working sample of this?

If I place several hundred items with images in a collection and assign it as the itemssource to the FlowItemsControl3D, the app reports using 100MB RAM. If I hold the arrow key on the keyboard down for about 3 seconds, stop and let the items catch up, I see that the memory increased. If I repeat this process of holding the keyboard down for a few seconds, eventually the Flow will consume all of the systems memory. Even a GC.Collect after the items finish moving has no effect.

Any ideas where I should begin looking for the issue? I am using this in a WPF app btw. Also, I tested with another carousel control in place of this one and it did not have the same memory growth.

Dec 13, 2010 at 4:36 AM

Quick Update - The 2D Virtualizes well. The issues seems to be isolated to the 3D.

Dec 13, 2010 at 5:45 AM

Hmm, I have to investigate on this. WPF version should virtualize as well. I suspect an handle leak somewhere in my code from a Binding or an event handler (the WPF rendering code is a "bit" different than the Silverlight version...

Mar 18, 2011 at 2:47 PM

I cannot repro, I did a Flickr browser with a WPF FlowItemsControl3D and no memory leaks appear.

Maybe there is something wrong in your code (or you have overriden the default ItemsPanel using the NotVirtualizedItemsPanel3D.