Skip navigation.
 
mlRe: Tracking Rectangles Vs Manual Logic
FROM : Ricky Sharp
DATE : Thu Dec 02 22:30:45 2004

On Dec 2, 2004, at 3:14 PM, Lemont Washington wrote:

> I'd like to know whether its more efficient to use tracking rectangles
> to determine if the mouse is over a certain region or to  do it
> manually by checking the location in  a loop during your NSView's
> mouseEntered method.  For instance, let say you had a view with 50 or
> 60  that can be clicked or hovered over, this would require you to at
> least loop over each item in your array looking to see if the mouse
> pointer is within the bounds of each item in the array. The Sketch
> AppKit Demo does this I believe. I'm wondering if using Tracking
> Rectangles is more efficient.
>
> For example it could possibly subdivide your view using a BSP tree or
> similar data structure so that lets say it determined that the mouse
> was in a region that is on one half of the screen but not the other,
> it could discount at least half the items to check against. Is
> something like this overkill? Does the Apple implementation of
> tracking rects use a simple loop for bounds checking ors something
> more efficient speed wise?


A handy thing to see if there is any user-perceptible performance
issues is to create a nib with hoards of widgets that use tracking
rectangles.  I have a nib called "128buttons.nib" that I use to get an
initial idea if there are any huge delays in nib-loading, rendering,
tracking rects, etc.

My guess is that you shouldn't see any delays for a reasonable amount
of items.  If you have thousands or more such rectangles, you may want
to throw a profiler at the problem to see if one implementation is
better than another.

___________________________________________________________
Ricky A. Sharp        mailto:<email_removed>
Instant Interactive(tm)  http://www.instantinteractive.com

Related mailsAuthorDate
mlTracking Rectangles Vs Manual Logic Lemont Washington Dec 2, 22:14
mlRe: Tracking Rectangles Vs Manual Logic John C. Randolph Dec 2, 22:22
mlRe: Tracking Rectangles Vs Manual Logic Ricky Sharp Dec 2, 22:30