Я занимаюсь разработкой приложения openGL для iPad и столкнулся с одной довольно большой проблемой. Я использовал уже существующие посты, чтобы узнать, что я могу использовать UILabel для генерации текста в текстуру opengl, поэтому я сделал это. Проблема появилась, когда мне пришлось использовать пять или более меток в разных местах текстуры. Когда мое приложение должно сгенерировать пять из этих текстур, состоящих из пяти меток каждая, это потребует некоторой мощности. Я генерирую одну текстуру в одном цикле максимум, но это создает небольшое отставание. Когда я загружаю пять текстур, задержка становится в пять раз более раздражающей.
Теперь, когда я рассказал историю, позвольте мне задать вам вопрос:
Как я могу уменьшить нагрузку на процессор и, возможно, сгенерировать текст каким-либо другим способом? Это статично, просто для отображения информации.
Я попытался использовать другой поток, но я столкнулся с еще большими проблемами, поэтому я предпочел бы некоторую альтернативу генерации текста, чем многопоточность.
Вот часть этого генератора текстур:
//------------ DATE --------------------------------
[dateLabel setBounds:CGRectMake(0, 0, 95, 10)];
[dateLabel setFrame:CGRectMake(0, 0, 95, 10)];
[dateLabel setBackgroundColor:[UIColor clearColor]];
[dateLabel setFont:[UIFont systemFontOfSize:12]];
[dateLabel setLineBreakMode:UILineBreakModeWordWrap];
[dateLabel setNumberOfLines:1];
dateLabel.textColor = [UIColor whiteColor];
dateLabel.text = [self.delegate dateAtIndex:index];
UIGraphicsBeginImageContext(CGSizeMake(95, 10));
[dateLabel.layer renderInContext:UIGraphicsGetCurrentContext()];
//[dateLabel release]; // We can now release the view
UIImage* date = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
Как видите, я устанавливаю позицию, размер, текст, а затем создаю из него UIImage. Я создаю еще больше этих изображений (на самом деле пять), а затем я рендерирую все эти изображения в другой контекст, который является моей последней текстурой.
Возможно, недостаток опыта привел меня к какому-то глупому решению.