title: UITableView Scrolling Slow When Using Non-English (Arabic, Chinese, Hebrew, Urdu, etc.) Text
body: <p>I am using iOS 5 and making an iPad app. I have a UITableView in my app where every cell contains a UITextView. It experiences very slow scrolling, however, when non-English text is loaded into the text view.</p>
  
  <p>This is a sample project I created to demonstrate the issue. This uses a UITableView where every UITableViewCell has one UITextView in it with a tag of 1. It scrolls very slowly:</p>
  
  <pre><code>- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView
  {
      return 1;
  }
  
  - (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
  {
      return 20;
  }
  
  - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
  {
      static NSString *CellIdentifier = @"BasicCellIdentifier";
      UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
      UITextView *textView = (UITextView *)[cell viewWithTag:1];
      textView.text = @"أَبْجَدِيَّة عَرَبِيَّة‎. أَبْجَدِيَّة عَرَبِيَّة‎. أَبْجَدِيَّة عَرَبِيَّة‎. أَبْجَدِيَّة عَرَبِيَّة‎. أَبْجَدِيَّة عَرَبِيَّة‎. أَبْجَدِيَّة عَرَبِيَّة‎. أَبْجَدِيَّة عَرَبِيَّة‎. أَبْجَدِيَّة عَرَبِيَّة‎. أَبْجَدِيَّة عَرَبِيَّة‎. أَبْجَدِيَّة عَرَبِيَّة‎. أَبْجَدِيَّة عَرَبِيَّة‎. أَبْجَدِيَّة عَرَبِيَّة‎. أَبْجَدِيَّة عَرَبِيَّة‎. أَبْجَدِيَّة عَرَبِيَّة‎. أَبْجَدِيَّة عَرَبِيَّة‎. أَبْجَدِيَّة عَرَبِيَّة‎. أَبْجَدِيَّة عَرَبِيَّة‎. أَبْجَدِيَّة عَرَبِيَّة‎. أَبْجَدِيَّة عَرَبِيَّة‎. أَبْجَدِيَّة عَرَبِيَّة‎. أَبْجَدِيَّة عَرَبِيَّة‎. أَبْجَدِيَّة عَرَبِيَّة‎. أَبْجَدِيَّة عَرَبِيَّة‎. أَبْجَدِيَّة عَرَبِيَّة‎. أَبْجَدِيَّة عَرَبِيَّة‎. أَبْجَدِيَّة عَرَبِيَّة‎. أَبْجَدِيَّة عَرَبِيَّة‎. أَبْجَدِيَّة عَرَبِيَّة‎. أَبْجَدِيَّة عَرَبِيَّة‎. أَبْجَدِيَّة عَرَبِيَّة‎. أَبْجَدِيَّة عَرَبِيَّة‎. أَبْجَدِيَّة عَرَبِيَّة‎. أَبْجَدِيَّة عَرَبِيَّة‎. أَبْجَدِيَّة عَرَبِيَّة‎. أَبْجَدِيَّة عَرَبِيَّة‎. أَبْجَدِيَّة عَرَبِيَّة‎. أَبْجَدِيَّة عَرَبِيَّة‎. أَبْجَدِيَّة عَرَبِيَّة‎. أَبْجَدِيَّة عَرَبِيَّة‎. أَبْجَدِيَّة عَرَبِيَّة‎. أَبْجَدِيَّة عَرَبِيَّة‎. أَبْجَدِيَّة عَرَبِيَّة‎. أَبْجَدِيَّة عَرَبِيَّة‎. أَبْجَدِيَّة عَرَبِيَّة‎. أَبْجَدِيَّة عَرَبِيَّة‎. أَبْجَدِيَّة عَرَبِيَّة‎. أَبْجَدِيَّة عَرَبِيَّة‎. أَبْجَدِيَّة عَرَبِيَّة‎. أَبْجَدِيَّة عَرَبِيَّة‎.";
      return cell;
  }
  </code></pre>
  
  <p>I have already used NSLog to verify that this line alone causes the slowdown. Removing it makes everything work perfectly, but I need to set the text. I've read everything I could find about performance tuning but this is still a huge problem for me. </p>
  
  <p>Slow scrolling is only a problem with languages like Arabic, Chinese, Hebrew, etc. as opposed to English, French, German (maybe related to character sets or unicode?) An English string with 5000 characters has no slowdown at all but an Arabic string with 200 does.</p>
  
  <p>I appreciate any help!</p>