Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
文本呈现iOS-呈现快速变化文本的最有效方式_Ios_Objective C_Performance_Nsattributedstring_Core Text - Fatal编程技术网

文本呈现iOS-呈现快速变化文本的最有效方式

文本呈现iOS-呈现快速变化文本的最有效方式,ios,objective-c,performance,nsattributedstring,core-text,Ios,Objective C,Performance,Nsattributedstring,Core Text,在iOS中呈现快速变化的文本(每帧变化10-15个数字)最有效的方法是什么?这些是我迄今为止所做的尝试: 1) CATextLayer+CTFont和NSString:非常快,但无法访问我需要的字距调整。(如果有人知道如何使用CTFont而不使用NSAttributedString,这也很酷,但这不是主要问题;) 2) CATextLayer+NSAttributedString:缓慢且滞后。与1)相比,我看到了巨大的FPS下降。在我的应用程序中,这一变化使FPS从50-60下降到30 3) 位

在iOS中呈现快速变化的文本(每帧变化10-15个数字)最有效的方法是什么?这些是我迄今为止所做的尝试:

1)
CATextLayer
+
CTFont
NSString
:非常快,但无法访问我需要的字距调整。(如果有人知道如何使用
CTFont
而不使用
NSAttributedString
,这也很酷,但这不是主要问题;)

2)
CATextLayer
+
NSAttributedString
:缓慢且滞后。与1)相比,我看到了巨大的FPS下降。在我的应用程序中,这一变化使FPS从50-60下降到30

3) 位图字体,使用
UIImageViews
UIImage
显示数字:速度也相当快,但并不令人满意,因为在iOS中应该有更好的方式/更自然的方式来高效渲染字体

编辑:

4)
UILabel
+
NSString
-速度相当快,但同样无法进行紧排

5)
UILabel
+
NSAttributedString
-又慢又慢


渲染
NSAttributedString
比渲染基本
NSString
慢得多。这真是令人沮丧,因为我现在只需要从
NSAttributedString
了解字母之间的间距。

苹果最近向iOS添加了TextKit,你可以先检查一下:。

这是一个面向性能的好问题。顺便说一句,你有没有试过UILabel,看看苹果的工程师们都做了些什么?谢谢,我刚试过(编辑成问题),只要你不使用AttributeText,它就相当快,这是我改变字距所需要的。也许可以尝试使用带有单一字体纹理的Sprite工具包,以更快地对基于图像的字体进行位图闪烁-假设Sprite工具包可以批量处理这些绘制调用,并且擅长于此。请看。。。。textsue.您是否尝试过使用
CFAttributedString
应用
CTFont
的字距调整?