> On Nov 20, 2014, at 09:36, Graham Cox <graham....@bigpond.com> wrote:
> 
> As we know, the Versions Browser causes your app to open an actual document 
> for each version it displays in the Browser.
> 
> If you have large documents that cause a complex drawing to need to be 
> rendered, the experience is horrible - each version takes seconds to open and 
> more seconds to display. The system can beachball for a long, long time as 
> the VB is entered, maybe many minutes if there is a long edit history.
> 
> I'm trying to avoid some of these delays by caching a snapshot image of my 
> window contents when I save the file, and use this snapshot when browsing in 
> the VB instead of opening the real file contents and rendering it (VB should 
> be doing this automagically itself in my opinion).
> 
> When my document enters the VB, I get notified that it has done so via the 
> NSWindowDelegate method -windowDidEnterVersionsBrowser: and when exiting I 
> get the exit notification. This tells me when the *window* has entered the 
> VB, but when the -[NSDocument readFileWrapper:...] method is called, as it is 
> many times as each old version is opened in the VB, there is no window yet, 
> so there's nothing to tell me that this document is being opened by the VB 
> rather than normally. Even when its window is finally created and opened, the 
> 'entered VB' notification isn't sent.
> 
> I need a way to know at -readFileWrapper: time if I'm in the VB or not (so I 
> can load the snapshot image instead of the heavy file content). I've so far 
> done this by setting a global flag when I get the 'entered vb' message and 
> unflagging when I get the 'exited VB' message, but this feels hacky and 
> potentially unreliable.
> 
> Is there a sound way to determine at document creation time whether the VB is 
> active or not? Ideally this would be for the actual document in question 
> rather than globally, because while it doesn't seem to be possible in the 
> current implementation, the architecture appears to permit documents to be 
> opened "normally" even while the VB is active for a different document.
> 
> How do others hande this? Do you just accept that the VB is a total dog 
> unless your files are trivial, or are there good workarounds to get 
> acceptable performance?
> 
> 
> --Graham
> 
> 
> 
> _______________________________________________
> 
> Cocoa-dev mailing list (Cocoa-dev@lists.apple.com)
> 
> Please do not post admin requests or moderator comments to the list.
> Contact the moderators at cocoa-dev-admins(at)lists.apple.com
> 
> Help/Unsubscribe/Update your Subscription:
> https://lists.apple.com/mailman/options/cocoa-dev/max%40maxchan.info
> 
> This email sent to m...@maxchan.info

Is this possible: whenever the document is opened, VB or not, use the thumbnail 
pic first, and when user interacts with it load the contents lazily.
_______________________________________________

Cocoa-dev mailing list (Cocoa-dev@lists.apple.com)

Please do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com

Help/Unsubscribe/Update your Subscription:
https://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com

This email sent to arch...@mail-archive.com

Reply via email to