> On 22 Jul 2016, at 11:53 PM, Trygve Inda <cocoa...@xericdesign.com> wrote: > > How can I draw the NSImageRep directly into a window?
-[NSImageRep drawInRect:fromRect:operation:fraction:respectFlipped:hints:]; i.e. same as NSImage. > > Also, the main pixel buffer is updated slowly (it takes a long time to > draw). So once the worker thread is done, it needs to pass off those pixels > to the main thread to be drawn. > > Currently it blocks at this point, but I need to avoid that. It’s not really clear why this needs to be avoided. The time to draw the pixels should be a few milliseconds, a small fraction of the time your thread needs to run, even at its fastest. > Since it can't > block, > the pixels need to be copied to the main thread because as soon as > they get handed to the main thread, the worker thread will erase the > original pixel buffer to start drawing a new image into it. Copying the image is likely to be just as slow/fast as drawing it, so the copy isn’t going to help speed up your thread. Both operations have to iterate over the pixels; drawing *IS* copying. > The copy needs to exist long enough to be drawn into a window by the main > thread and can then be released. Understood, but you may as well keep it around until the next version of the image is passed across - the previous one will be released at the same time when setting the property. —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/archive%40mail-archive.com This email sent to arch...@mail-archive.com