如何检测iPhone CPU速度?

时间:2009-09-19 23:59:41

标签: iphone cpu

我有一个美学的UI元素,一个反射,在iPhone 3Gs和iPod Touch上运行良好,但在3G和之前的速度太慢了。我如何才能最好地检测CPU速度,以便我可以禁用此功能?

4 个答案:

答案 0 :(得分:8)

您可以找到正在运行的应用程序的iPhone或iPod Touch型号,然后在不是可接受的iPhone / iPod类型的情况下禁用该功能,而不是尝试检测速度。

为此,您可以将以下内容添加到您的应用程序中:

#import <sys/utsname.h>

- (NSString *) machineModel {
    struct utsname systemInfo;
    uname (&systemInfo);
    return [NSString stringWithCString:systemInfo.machine encoding:NSUTF8StringEncoding];
}

致电NSLog(@"Type: %@", [self machineModel])将为您提供hardware model

答案 1 :(得分:4)

请参阅此帖子:http://www.iphonedevsdk.com/forum/iphone-sdk-development/4960-how-identify-device-user.html#post111621

我认为这样可以完全满足您的需求。

答案 2 :(得分:1)

就个人而言,如果手头的问题反映在播种设备上的速度正在减慢,我会花时间优化反射,而不是进行设备检测。一个简单的反射不应该是cpu密集型,如果设计正确,大部分工作应该在GPU上运行。

答案 3 :(得分:0)

我最终做的是为我的“慢”程序的一次迭代计时。如果花费的时间超过0.5秒,我认为CPU太慢了,我将其关闭。

为了使UI不混淆,我添加了一个首选项来切换该例程,如果我将其关闭,并且用户选择,我会显示一条消息,说“功能”是CPU密集型的,可能是某些方面该应用程序似乎很迟钝,他们可能希望将其关闭。如果他们无论如何都打开它,这是他们的选择。我将通过我的beta测试人员运行此操作,看看我是否太过混乱。

下一步是优化,但到目前为止,我还没有把它做得更快。