I am using an NSImageView for my app's drawing. So I draw some pictures into an NSImage and then set the image view to that image. I then send the view a needsDisplayInRect message telling it what parts of the image have actually changed. Usually, only a small portion of the image has changed. I am updating 20 times a second for large images, so performance matters.
However, I've noticed using QuartzDebug that my app is redisplaying the entire image instead of just the smaller rectangle that I marked as needing a redisplay. This is really hurting the performance.
Is it possible to have the ImageView only update the smaller area? Or do I need to use another kind of view for this sort of selective redrawing?