Getting V2 Usable
-
Tuesday, May 01, 2012 4:21 PM
I'm working on replacing V1 PivotViewers with V2 from SL5. I want to improve the performance, keep DeepZoom (or DeepZoom-like) features, and also want to take full advantage of dynamic collections.
At first I created a PV with 3 PivotViewerItemTemplates, using MaxWidth and pre-generated image files for each item and level. V2 tried to load all images for all templates at once! Ha! This is effectively useless unless there is a way not to load a item template until it's needed. (Please, someone walk over and smack the developer who thought loading 6000 images for a 2000 item pivot at once was a good idea).
Next I went for using one template and MultiScaleImage. I already have a DeepZoom server setup with Smooth Streaming for V1 pivots, so I linked in these images. SL5 OOB mem usage went through the roof! Playing with specifying or not specifying sizes got memory down to 300MB (still a lot - not even started using the pivot yet!) but load time was minutes, and it took 10 - 15 minutes to begin to see the images.
Then I looked at CxmlCollectionSource for some of my existing V1 pivots. These pivots are static, updated nightly, and have a DZC built from the DZIs used - again Smooth Streaming is used. These pivots loaded in a tolerable amount of time - nothing anyone would call "fast" but quick enough and faster than V1 seems.
So I think my answer will lie in hacking (par for the course I guess) the CxmlCollectionSource behavior with the new dynamic features. I know V1 was very fragile with DZC - has V2 improved this? In V1 if your image IDs were not sequential or started with a value other than 0 performance would suffer. This makes using DB id’s impossible. Also, If I generated a “master collection” of all images and used the same collection in multiple CXMLs pivots that used only a subset, performance suffered.
As far as getting the correct behavior is having properties on my class named VisualImageId and VisualCollectionSource enough or do I need to use PivotViewerItem? Is the template in CxmlCollectionSource.ItemTemplates available somewhere or do I need to crack open the PivotViewer documentation tool (aka Reflector)? Last, has someone managed to do this another way I should look into.
Mike
PS – Apologies for the snark, but coming back to PivotViewer after a year away I am really disappointed. I gave up trying to work with the team and provide feedback after getting lost in Microsoft bureaucracy three times (clearly 5 NDAs are not enough for this project) and trusted the team was working with others to shape this version. Now I wonder if they did talk to developers and if they did how much did they pay attention.
All Replies
-
Wednesday, May 09, 2012 2:51 PM
Refer below blog:
http://tonychampion.net/blog/index.php/tag/pivotviewer/page/2/
-
Thursday, April 11, 2013 11:06 AM
I also have this problem. All PivotViewerItemTemplates loads at once. I thought this is a bug. But apparently not.
Does anyone knows any way around this?