title: Jittery / laggy UI updates while dragging UIScrollView
body: <p>I have a <code>UIScrollView</code> that I use purely for it's <code>contentOffset</code>. As the <code>contentOffset</code> changes, my subview's are moved around according to a simple math function. Mostly, this entails having their y positions adjusted, but not linearly with respect to the <code>UIScrollView</code>'s <code>contentOffset.y</code>.</p>
  
  <p>An example of adjusting the yPosition could be something like this:</p>
  
  <pre><code>CGRect newFrame = subview.frame;
  newFrame.origin.y = log(scrollView.contentOffset.y) + 300;
  [subview setFrame:newFrame];
  </code></pre>
  
  <p>Everything works fine in the simulator and works great on a device while the <code>UIScrollView</code> isn't receiving touches (~24-30fps), but while the user is touching the screen and dragging, the fps drops to ~3-5fps. Between dragging and not, there shouldn't be any difference, except in the run loop, potentially. To adjust for that, I've even tried this in <code>scrollViewDidScroll:</code></p>
  
  <pre><code>[self performSelector:@selector(updateCards) onThread:[NSThread mainThread] withObject:nil waitUntilDone:YES modes:@[NSRunLoopCommonModes, UITrackingRunLoopMode]];
  </code></pre>
  
  <p>and variations, but with no effect.</p>
  
  <p>Is there a reason for the fps drop off and is there something that I can do to fix this issue? I am using an iPod 5th Generation for most of these tests.</p>