title: Why do CALayer's move slower than UIView's?
body: <p>I have a UIView subclass that moved around 'event's when the user touches them, using the following overridden method:</p>
  
  <pre><code>// In a custom UIView...
  
  - (void)touchesMoved:(NSSet *)touches withEvent:(UIEvent *)event {
      CGPoint point = [[touches anyObject] locationInView:self];
      UIView *eventView = [self.ringOfEvents hitTest:point withEvent:event];
      for (EventView *e in self.events) {
          if (e == eventView) {
              event.position = point;
          }
      }
  }
  </code></pre>
  
  <p>Why is it that when I make <code>EventView</code> a CALayer instead of UIView, the movement slows down to a creep?  I can post that code too, but it is so similar that I don't think it is necessary.</p>
  
  <p>I would think that abstracting to a lower level would speed up event handling, but I must be missing something.</p>
  
  <p>By the way, either if <code>*eventView</code> is a subclass of <code>UIView</code> or <code>CALayer</code>, the <code>position</code> property is as follows:</p>
  
  <pre><code>- (void)setPosition:(CGPoint)pos {
      self.layer.position = pos;
  }
  
  - (CGPoint)position {
      return self.layer.position;
  }
  </code></pre>
  
  <p>Not sure why I get a huge decrease in latency when using UIView as apposed to CALayer..</p>