智能电视盒子跑分不靠谱? 安兔兔跑分“作弊”全揭露

奇珀网2018-11-07 16:24:03

安兔兔是国内安卓手机、平板最常用的性能测试工具,目前,在电信运营商智能机顶盒招标过程中,安兔兔跑分也开始作为电信运营商智能机顶盒招标的一个参考项。为了在这个测试项上获取更佳的得分结果,在这上面的作弊也是屡见不鲜。


近日笔者通过测试2台均使用了RK3128平台(40nm,4核Cortex A7,Mali GPU)的机顶盒的同一版本安兔兔(安兔兔V5.7)跑分,却得到了差距悬殊的结果。


其中,中国移动招标测试某RK3128盒子总得分为24154,某品牌RK3128盒子总得分14673,相差9481分!而这其中尤为明显差异的是单线程浮点,2个盒子该指标上居然相差5959分。


两台RK3128盒子的安兔兔跑分对比
备注:在连接网络的情况下,重新安装同一个APK,分别跑3次,任意选取的一次结果。
中国移动招标测试某RK3128盒子安兔兔跑分
某品牌RK3128盒子安兔兔跑分


从结果来看笔者怀疑可能对libm做了一些特殊处理(profile显示在跑single thread floating测试时对libm里面的调用比较多),比如针对安兔兔跑分调用libm里面的函数做计算时候输入的数据,可以直接返回结果而不计算,这样可以在速度上比实际通过VFP指令计算要快得多。

为了进一步确认这款盒子是否针对安兔兔有进行作弊,笔者又测试了这2个盒子Geek bench的跑分,以下只关注浮点运算部分。


两台RK3128盒子的Geek bench测试浮点运算得分

中国移动招标测试某RK3128盒子Geek bench测试浮点运算得分某品牌RK3128盒子Geek bench测试浮点运算得分


从Geek bench的跑分测试来看,中国移动招标测试某RK3128盒子与某品牌RK3128盒子的浮点运算得分结果上没有明显的差异,结合到表格1的跑分结果,可以看出来很明显针对安兔兔APK做了“特殊优化”,从而影响了最终的跑分结果。


在性能上,同样系Cortex-A7内核的SOC,在同等条件下若没有进行技术作弊,单线程浮点这个指标的得分结果不会有太大差异。为此,为了进一步验证,笔者又找了1款其他Cortex-A7盒子与前述的2款RK3128盒子一同基于相同版本的安兔兔(安兔兔V5.7)又重新进行了跑分测试。


三款Cortex-A7盒子安兔兔跑分测试
备注:在连接网络的情况下,重新安装同一个APK,分别跑3次,任意选取的一次结果。


从结果来看,A品牌A31S盒子与某品牌RK3128盒子单线程浮点指标分数都在800+,而中国移动招标测试RK3128盒子在单线程浮点指标分数上,却是其它2款盒子的7倍还多,进一步验证了其安兔兔跑分的作弊情况。


实际上,笔者在网络上搜索后发现这样的作弊情况并不是首次,有网友就针对RK3288宣传安兔兔跑分43000+的情况,做过非常细致的测评,针对浮点跑分就是利用lib注入方式进行作弊。


据了解,早期的安兔兔版本都是通过直接调用libm里面的pow、cos、sin等数学函数来进行测试,由于libm里面这些函数的实现是开源的,所以容易遭到针对性的修改。比如检测到安兔兔在运行的时候,可以让这些函数直接返回特定的结果而并不实际运算,这样能够大大节约测试时间并提高分数。


出于上述因素的考虑,版本较高的安兔兔已经将这些库函数自己做了一个实现,放在libabenchmark.so里面,这个so是安兔兔的测试程序里面自带,一定程度上可以有效避免厂商修改开源的libm.so带来的作弊问题,但是并不意味着这样就彻底了解决作弊问题,目前,出现了一些采用更加隐蔽的注入式方式进行作弊,即在加载安兔兔自带的这个so的时候,用自己实现的做过弊的函数来替换掉安兔兔库里面的函数,从而达到跑高分的目的。



点击上面微信号关注我关注我哟

定期推送热点资讯硬件评测精彩活动玩机教程等诸多优质内容;

☀ 全国最大的智能电视交流社区,关注我们妥妥没错!



友情链接

Copyright © 深圳电视机价格联盟@2017