使用armv7编译iOS应用程序会产生什么性能影响?

3
我们的应用程序使用foursquare API,我对使用armv7架构编译的影响很感兴趣,具体涉及以下两点:
  • 位置准确性
  • 速度(浮点运算)
在位置准确性或浮点计算速度方面,使用armv6架构是否提供任何相对的优势?
有没有人通过测试来衡量实际差异?还是这种差异太小而不会产生任何影响?
我想知道是否值得使用混合的armv6 / armv7构建来提高这两个性能元素,即使这会导致应用程序文件大小略微增加?
谢谢。

更具体地说,使用foursquare iOS SDK时,armv6 / armv7的选择如何影响位置精度和速度?使用armv7而不是使用双精度浮点计算的armv6是否会降低foursquare API结果的准确性?当使用armv6时,相对于armv7,用户体验是否会因需要等待更长时间才能显示API结果而明显降低?谢谢。 - Karthik
2个回答

4
使用armv6架构进行编译,在位置准确度或浮点数计算速度方面是否提供任何相对好处呢?更大的问题是,您是否在意您的应用程序无法在旧的基于ARMv6的硬件上运行?因为仅创建一个ARMv7版本的构建将限制您的应用程序支持设备的数量。一切取决于您的情况...但是,根据我的经验,ARMv6设备的时钟速度与ARMv7设备相比,比编译器在两者之间进行的任何优化差异要重要得多。我在想是否值得使用混合的armv6 / armv7构建。这是默认设置 - 除非您有特定的原因不需要同时构建两者-否则应该这样做-它将保证在ARMv6和ARMv7设备上获得最佳结果-如果您想要最大的兼容性,则唯一的选择是仅构建ARMv6版本-这将保证您失去了一些可以优化为ARMv7的编译器优化的地方。

1

如果您在构建时同时启用了ARMv6和ARMv7,并且不受限于仅为活动架构构建 - 最终应用程序将具有2个二进制图像。一个用于6,另一个用于7.换句话说 - 您的选择是:仅为V7构建并且完全不支持V6,或者为6和7都构建并提供通用二进制文件。最后,设备将使用适当的二进制图像。

我个人更喜欢尽可能支持多的设备,并不同意苹果在Xcode 4.2中的更改,推动开发人员放弃ARMv6设备的支持。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接