On 10 Jun 2008, at 2:36 AM, Adam R. Maxwell wrote:

> In article <[EMAIL PROTECTED]>,
> "Colin A. Smith" <[EMAIL PROTECTED]> wrote:
>
>> I've found that when using the trackpad to scroll in a
>> BDSKMainTableView, the responsiveness can be poor and jumpy. I traced
>> the problem to rebuildTrackingRects getting fired after scrolling to
>> each new position, and then taking a relatively long time to execute.
>
> What did the profiles look like?  Was it memory or processor  
> intensive?
> I'm curious because I've observed tracking rects as a minor  
> performance
> hit on FileView as well, mainly due to Leopard creating a large number
> of temporary objects.
>
>> The solution I came up with was to delay calling rebuildTrackingRects
>> until after the user moves the mouse for the first time after an
>> rebuild is needed.
>>
>> Because NSWindow objects by default do not respond to NSMouseMoved
>> events by default, the easy way to do this is to toggle enable
>> acceptsMouseMovedEvents until the user moves their mouse, then have
>> the corresponding mouseMoved message disable acceptsMouseMovedEvents
>> and call rebuildTrackingRects.
>
> Clever :).  Does it help at all to do something like [[OFMessageQueue
> mainQueue] queueSelectorOnce:... for rebuildTrackingRects?  That might
> be more future-proof.
>
> -- 
> Adam
>

Unfortunately this won't do it. When you'd use this, tracking rects  
are only updated after a mouse moved while the table is active. There  
are many more situations where the tracking rects need to be updated.  
I've had lots of difficulties with non-updated tracking rects in Skim,  
even when I was convinced I had covered all possible updates I didn't.

Christiaan


-------------------------------------------------------------------------
Check out the new SourceForge.net Marketplace.
It's the best place to buy or sell services for
just about anything Open Source.
http://sourceforge.net/services/buy/index.php
_______________________________________________
Bibdesk-develop mailing list
Bibdesk-develop@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/bibdesk-develop

Reply via email to