[iOS]iPhone 5 图片解压缩测试

继之前翻译的两篇[iOS]如何避免图像解压缩的时间开销iPad 3 图片解压缩测试,Cocoanetics又在iPhone 5发布后测试了一下iPhone 5的图片解压缩能力:iPhone 5 Image Decompression Benchmarked。这次还是挑重点翻译一下,以后的文章如果没什么技术因素只是单纯跑分的话就不继续翻译了,大家自行到Cocoanetics上看数据就行了,这些数据对我们评估应用的性能还是很有帮助的。


以下为译文:

我们希望在水果每个新的CPU的重复我们的benchmark,这次测试中,我们对benchmark进行了一些改进,将之前打印log的NSLog替换成了CFAbsoluteTime,NSLog本身每次都要消耗多大50ms的时间,新的方法更加精确,不会包含打印log本身的时间。

测试结果:iPhone 5 是上代处理器性能的2倍

我们之前在较早的iOS设备上运行benchmark的结果已经表明GPU性能的提升并不影响我们的测试结果,同时,渲染速度的提升看起来完全是CPU的功劳,这一点也也被一个在WWDC的苹果工程师证实,这位工程师告诉我所有的UIKit图片解压缩都依靠CPU完成。

唯一一个让图片解压缩由GPU完成的方法是使用CoreImage,但问题时虽然解压缩更快了,但将解压缩侯的图片传递到CALayer上并进入渲染树(render tree,这个概念文档和WWDC里都讲过,CALayer部分,不清楚的可以看看,基本就是字面意思)仍是一个瓶颈。所以通过CoreImage解压图片仅当你能够将它们保持在GPU的时候才有效果,比如视频处理以及使用作为3D纹理使用。

虽然我们的benchmark只关注CPU,但是我们仍认为这是一个评估每代CPU性能的一个有效方法。

iPhone 5 测试结果:

128x96

 

256x192

 

512x384

 

1024x768

 

2048x1536

 

iPhone 5对PNG的解压缩能力提升明显,优化过(crushed)的处理时间仅仅比未优化的(uncrushed)快一点,差距很小。但对于较早的设备来说,二者差距很明显。

总结:

A6处理器支持VFPv4,一个特殊的并行浮点操作指令集,VFP是“Vector Floating Point”的缩写,就是这个指令集的出现让Anandtech得出结论:A6是水果第一个完全自家设计的SoC(The iPhone 5's A6 SoC: Not A15 or A9, a Custom Apple Core Instead),虽然基于ARM 7。

如果我理解正确,那么VFP性能提升来自其中的32个寄存器(比VFPv3多一倍),这意味着可以同时处理两倍的浮点数,从而揭示了A6两倍浮点性能的提升,这同时也对降低电量消耗有帮助。

水果为iPhone 5自主设计的硅片让它以2倍的性能轻松战胜了前代设备。

–以上–