> On May 8, 2020, at 12:19 PM, Jens Alfke via Cocoa-dev 
> <cocoa-dev@lists.apple.com> wrote:
> 
> 
> 
>> On May 8, 2020, at 9:53 AM, Gabriel Zachmann via Cocoa-dev 
>> <cocoa-dev@lists.apple.com> wrote:
>> 
>> So, I was thinking, maybe it helps to load the next image concurrently, 
>> while the current one is still being displayed.
> 
> Sure. Just be aware that if you're using NSImage, simply loading an NSImage 
> does not rasterize it; the class tries to be 'lazy' about doing work. So your 
> background task should explicitly render it, e.g. into an NSBitmapImageRep.
> 
>> I also read about the GCD's dispatch queues, but it seems to me that this 
>> would not be the suitable approach since I always only have one task running 
>> concurrently to the main thread.
> 
> Why not? Dispatch queues are always available. (The main thread is simply a 
> special queue.) You can run the background task by creating a single dispatch 
> queue and then using dispatch_async to call a block that does the work. The 
> end of the block would call dispatch_async back to the main queue and pass 
> the image as a parameter.
        I second the use of GCD.  Its also considerably simpler than NSThread, 
NSOperationQueue/NSOperation et al.  This is the kind of operation that GCD was 
invented for.

—Rob


_______________________________________________

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