Hello list,

I'm hoping the list might have some recommendations on books or other sources.  
My web searches aren't turning up too much that is helpful, as so much is 
geared towards iOS these days.

I have a MacOS X app that was written quite naively some time ago (small, 
non-public release, for MacOS 10.5).  Data sets have grown considerably since 
it was written, and the problem of responsive interface is now quite glaring.  
It is a Core Data based app that makes heavy use of stored images and large 
amounts of text.  The images, at least, aren't stored in the Core Data 
database, rather a file system link is saved to them.  This is also true for 
the larger text stores.

The troubles are particularly with the length of time it takes to open the 
views that show the images.  This is an NSTableView and NSCollectionView that 
are loaded from the nib at the same time.  Saving changes to the text files 
also takes a lot longer than it should, given the speed that TextEdit can save.

The way I understand it, the NSTableView is probably not the problem, as 
NSTableViews already loads lazily.  NSCollectionView, however, loads everything 
up front.  Looking at other class options, I think what's going to be required 
is writing a modified NSCollectionView that does lazy loading.  I haven't had 
to do something like that before, and I'm not sure how to approach it.

The other optimisation steps that are required is otherwise mostly going to 
fall in the "taking advantage of multiple threads" variety.  At the moment 
everything is done on the main thread.  Saving and disk heavy access should 
definitely be done on background threads.  I don't have much experience with 
GCD, and it isn't clear to me how to retrofit this into the existing code.  
Some architectural changes may be necessary, in order to better take advantage 
of threads, and the improvements to the OS since Leopard.

So, I'm looking for resources that can help guide from the naive approach to 
more advanced techniques.  I'd appreciate any suggestions.

Thank you,
Arved
_______________________________________________

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