我正在iPad上開發openGL應用程序,並且遇到了一個相當大的問題。我用已經存在的帖子來學習,我可以使用UILabel生成文本到opengl紋理,所以我做到了。當我不得不在紋理的不同位置使用五個或更多標籤時出現問題。當我的應用程序必須生成五個由五個標籤組成的紋理時,它們需要一定的權力。我在一個循環中生成一個最大紋理,但會產生一個小滯後。當我加載五個紋理時,滯後會變得更加刺激5倍。將文本加載到OpenGL紋理中
現在,當我把這件事告訴了,讓我問你一個問題:
我怎麼能減輕我的CPU,也許產生一些其他的方式的文本?它的靜態,只是爲了顯示信息。
我曾嘗試使用其他線程,但我走過來,甚至更多的問題,所以我寧願一些文本產生的替代方案,多線程。
這裏是質地發電機的一部分:
//------------ 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出來。我創建了更多的這些圖像(事實上有五個),然後我將所有這些圖像渲染到其他背景,這是我的最後一個紋理。
或許是我缺乏經驗使我一些愚蠢的解決方案在這裏。
那麼我不重新渲染它。如果有新內容進來,我只會渲染它。當它開始渲染時,它會非常滯後。 – avuthless