On Mon, Aug 6, 2012, at 05:34 PM, Dave Keck wrote:
> > But Mike is still right; you're probably better served by using 
> > -performSelectorOnMainThread::: rather than waking the run loop up yourself.
> 
> I tend to disagree -- invoking CFRunLoopPerformBlock() and
> CFRunLoopWakeUp() is likely more performant since they're at the CF
> level (which -performSelectorOnMainThread eventually calls into), and
> a block-based API is more convenient. Furthermore,
> -performSelectorOnMainThread: wakes up the target run loop anyway by
> invoking CFRunLoopWakeUp().

You're thunking across a thread boundary; whatever performance
improvement you're imagining (unless you've already measured your
performance?) is certainly overshadowed by thread synchronization.

> 
> > Given that it's a private mode, I'm not sure you really want your code 
> > executing during the scroll event coalescing mode.
> 
> Agreed -- I wasn't using nor advocating NSScrollEventCoallescing.
> (Also note that calling CFRunLoopWakeUp() on the main thread while
> it's running in the NSScrollEventCoallescing mode won't cause it to
> execute the block passed to CFRunLoopPerformBlock(...,
> kCFRunLoopDefaultMode, ...) until the run loop is again running in the
> default mode.)

This is true; I overlooked this.

--Kyle Sluder
_______________________________________________

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