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


-------------------------------------------------------------------------
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
[email protected]
https://lists.sourceforge.net/lists/listinfo/bibdesk-develop

Reply via email to