Assume that two very small areas of my view need to be redrawn. One is in the upper left corner, the other in the bottom right. I could use their coordinates to pass a single large CGRect that contains both areas to setNeedsDisplayInRect, but this will end up including a lot of other areas that do not need to be redrawn.
So the other option would be to simply pass their individual containing CGRects to setNeedsDisplayInRect, one after the next, i.e.
[self.view setNeedsDisplayInRect:rectForArea1]
[self.view setNeedsDisplayInRect:rectForArea2]
Which would generally be faster? Minimizing the number of times that drawRect: ultimately gets called, or minimizing the amount of screen area that it has to redraw, even if it must redraw twice?