MCPLive > 杂志文章 > 揭秘Android跑分欺骗

揭秘Android跑分欺骗

2012-10-18邓小军《微型计算机》2012年10月上

7月中旬,一款跑分过9000的国产平板在网络引起轩然大波。尽管制造商称,这只是针对媒体和玩家的一个特别订制版超频ROM,但玩家们似乎并不接受。一些深入挖掘还显示,这已不仅仅是超频跑分,而是更具欺骗性地修改系统时钟获取虚假高跑分的做法。

在同质化日渐严重的低端国产平板市场,性价比成为厂商宣传的唯一手段,能凸显高性能的跑分成绩被格外看重。尽管跑分欺骗在业内一直被默认,但随着竞争的加剧和欺骗手段愈加张扬,不断出现的“跑分神器”事实上正在加剧这个虚假泡沫的破裂,并借此次事件终爆发。

这是国货平板的一次信任危机!这些不断涌现的“跑分神器”究竟是怎样炼成的?跑分的真正意义是什么?它与体验到底是怎样的关系呢?

揭秘Android跑分欺骗

安兔兔谈跑分

“安兔兔评测”创始人梁斌

作为当前国内流行的跑分软件,“安兔兔评测”是许多媒体和用户测试Android终端的必跑软件,此次虚假高跑分事件使用的也是“安兔兔评测”。跑分软件究竟做了什么?它体现的究竟是产品什么层面的东西?对此,我们特别专访了安兔兔开发团队。

Q:安兔兔测试成绩是多项成绩的加权值,能否从软件设计角度出发,阐述一下判读测试成绩的正确方法?

A:跑分软件需要测试产品的四大部分:内存、CPU(即整数、浮点)、GPU(即2D、3D)、IO(即数据库、SD读写)。这其中,影响速度得分的关键在内存、CPU、GPU身上,这3个硬件分数占总分比重非常大,而且还是没有上限的,剩下的IO性能则属于次要,分数已经被限制在一定以内。理论上,内存越大,运行软件的压力越小,只要系统发挥得好,大内存与速度直接成正比,这在PC中已经被充分肯定了;CPU则是所有功能的根本,频率和核心数对多任务具备至关重要的作用;GPU也是关键,Android上的普通应用,如系统动画、视频播放、上网等对GPU要求并不高,但游戏以及更高要求的上网,则需要一个强大的GPU;IO主要对系统启动、视频播放、数据操作有所影响,目前只要及格就足够了,对总分值影响很小。

Q:从你的经验看,用户应该怎样对待测产品进行初始化才能获得更为准确可靠的数据?

A:用过跑分软件的用户会发现,每一次测试的跑分成绩总是不一样的,因为这是一个硬件实时的结果,所以一定会有所差异,如果这是一部好产品,两次测试成绩应该相差不大,我们建议用户在开机5分钟后测试,这时系统差异小。

另外还需要注意的是,不要被终端的其它软件影响了,卸载所有不相关的软件。越来越多的终端被安装了很多软件,如:桌面、省电、安全、壁纸等等,这些软件将占用一部分系统资源,会降低跑分。还有就是产品的温度,产品发热后,性能会被厂家强制约束,分数将剧烈下降。

Q:近日市场出现了许多关于平板跑分的争议,请问这种例外一般发生在哪种情况下?通常哪些修改会造成跑分异常?

A随着跑分越来越被关注,不单是发烧友,甚至厂家之间也开始研究怎样提高分数。但部分厂商走的并不是依靠优化和提升硬件性能来提高跑分的做法,而是使用一些非常规手段,对测试软件进行欺骗。常见的可以欺骗测试软件的主要有两种:

(1) 修改系统时间

修改系统时间已经是一种常见的欺诈行为了,由于跑分软件的原理是根据运行指定时间完成多少任务来打分,系统时间变慢后,跑分软件运行过程将被人为加长,运算完成的任务量就越多,这样得出的分数便超过正常值。“安兔兔评测”已经在新版中启用了网络时间核实功能,未通过此验证的,都会被标上一个问号,表示此分数不被认可。

(2) 检测跑分软件

这种严格来说不算作弊方法,只是有违商业道德。被修改后的系统一旦检测到跑分软件运行,会强制提升CPU频率来获得更高分数。每个CPU都有额定的频率范围,安兔兔是允许正常的、合理地提升CPU频率的。但部分厂商会启用比高主频高出许多的频率,这可能会导致跑分过程中软件崩溃、系统重启。由于超频只针对测试软件,用户在实际使用中并不会使用到,因此带有极大地欺骗性;此外,受限于移动终端的散热问题,这种超频往往还会损伤硬件,更严重者还可能影响到产品寿命。

Q:目前很多测试软件在多核心平板前经常面临这样一种情况,即高主频带来的成绩提升似乎要高于多核心的效果。这是由于当前Android硬件体系的原因吗?

A:不同的CPU,设计思路是不同的,高主频与多核心所能提升的效果也都不一样。主频提升=跑分成绩提升,这已经无庸置疑,而多核心则因为使用设计技术不一样,性能是提升还是下降,是不可预测的。我们不能一味相信厂家的数据,因此,对跑分软件来说,要正确、合理地分析出性能的高低非常重要。在2011年,双核CPU刚出现时,当时低版本的Android系统并不能直接发挥出双核CPU的能力,测试软件必须对多核做优化。经过这些年积累,“安兔兔测试”对多核心支持技术已经非常成熟,在“安兔兔测试”里,所有多核心的跑分成绩都比直接超频来得高。

那些传言中的“跑分神器”攻略

国产平国产平板是个江湖,默认的跑分欺骗催生了各种可以成就高跑分的“大法”,不过它们中的一些随着系统和测试软件的升级,功效已经大减;而一些更“高明”的欺骗手段也在不断酝酿产生。

修改配置文件欺骗

市井流传的通过修改配置文件提升得分的方法主要有两种,一种是修改IO测试配置文件libsqlite.so,通过关闭sqlite3中的sync功能,提升I/O性能,或者重定向至系统RAM,大幅提升I/O分数。其二是使用3D神器(Chainfire3D)降低GPU测试项的画质,提升帧率,让GPU测试获得高分。

libsqlite.so是Android的数据库库文件,所有涉及到数据存储的操作都会使用到,比如短信存取、通讯录等等,据说默认情况下,Android系统每执行一次插入操作,都会进行一次同步操作,这将造成I/O效率低下。关闭同步功能后,插入2000个纪录至数据库的时间会从1分11秒缩减至2秒。因此这也被很多ROM优化者作为一项优化手段。不过从优化结果看,I/O分数多也只有1倍的提升,对总体成绩的影响非常小,而且主观上也并没有速度提升的感受。山寨平板普遍使用的欺骗方法是将对内置存储和SD卡的读写测试重定向至RAM。在Quadrant这类测试软件中,I/O成绩能获得数10倍的提升,从而带动总体成绩,使之可以居于一个比较高的排名。但这种欺骗方法在“安兔兔测试”等对I/O成绩进行了限制和权重调整的测试软件中效果十分有限。对于这种修改配置文件的做法,用户可多选用几款综合成绩测试工具,剔除高和低成绩,一般可以得到比较客观的结果。

Chainfire3D是由xda-developers社区开发的一款图形驱动工具,是一款可视化的“显卡”调节软件,常被玩家用来调节游戏画面效果,从而获得更佳的视觉效果或者更流畅的游戏体验,也拥有色彩调节的功能,可以解决屏幕偏色问题。由于Chainfire3D可以针对某款应用开启,因此,也有平板商将其设置为针对某些测试工具,降低图形测试时的贴图画质,提升测试时的fps值,从而在图形测试项获得更高跑分。

使用欺骗固件后,安兔兔评测得分可轻易达到10000分以上。
使用欺骗固件后,安兔兔评测得分可轻易达到10000分以上。

跑分体验

Android 2.3时代常见的利用修改配置文件进行跑分欺骗的方法在Android 4.0及以后版本中基本已不再有效。除了操作系统本身不再提供对某些作弊工具的支持外,测试软件也针对这种简单的欺骗漏洞做了修正。比如“安兔兔测试”就对I/O成绩进行了限制,I/O分值对总分影响很小,除非不及格。而对libsqlite.so的修改,目前还没有提升效能的权威数字,由于这是一个编译后的文件,我们也无法验证。Android 4.0后,有关优化libsqlite.so的讨论已经很少。

Chainfire3D是一个比较有意思的应用,目前在部分送测的国货平板中有预装此款工具。不过鉴于我们的测试,我们认为它并不是用来欺骗跑分的,而是提供给高级玩家更多游戏画面控制和解决部分游戏兼容问题的。Chainfire3D可提供PowerVR、Adreno和NVIDIA Tegra三种类型的驱动插件,从而让不是针对本机GPU硬件的游戏可以借助这些插件运行,扩展平板的兼容性。

固件修改欺骗

早期的固件修改欺骗主要为固件超频。出于节能考虑,ARM架构芯片是一种频率可调的芯片,并且都没有锁频,只提供参考高工作频率,频率全由平板制造商根据功耗自己掌握。早期单核状态时,有一些专属调频工具,如setCPU等可以直接对CPU主频进行控制,部分芯片在超频150%的情况下依然可以稳定运行,只是功耗大增。由于频率是由平板制造商根据芯片写在系统核心中的,随着硬件比拼的加剧,部分国产平板厂商开始针对安兔兔测试、Quadrant、Vellamo、GLbenchmark等常见测试工具进行有针对性的超频。系统检测到运行这些软件时,会将高工作频率调高,由于测试软件的运行时间并不长,短时间的超频不会带来不可逆的硬件或者系统破坏,但却可以大幅提升跑分成绩。

很显然,这种针对测试工具的超频除了让跑分更好看,不会对使用体验有任何提升。不过,在双核时代,国货平板厂商使用超频进行跑分作弊的情况并不多。这主要是因为当前常见的瑞芯微、晶晨双核芯片的高主频已提升至1.5~1.6GHz,频率本身已经很高,进行超频的空间十分有限,少量超频并不会大幅提升跑分值,却可能因为功耗过高,造成软件报错或者系统不稳定,得不偿失。因此,现在流行的是另一种更为有效和隐蔽的欺骗跑分方式—修改系统时钟。

这是一种通过恶意修改系统时钟,使其运行变慢,从而为任务提供更长运行时间,获取高分的欺骗方法。需要对系统内核文件进行修改,个人难以实现,必须借助厂商和芯片商的配合才能实现。这种方法并不是修改硬件时钟,即不能改变硬件晶体振荡器的频率。在Android系统中,系统时钟来源于对晶体振荡器频率的分频。一个简单的比喻为,如果硬件频率为1MHz,那么内核会取这个频率值/106作为秒计时,倘若修改内核为频率值/3×106,系统时钟就会变慢。修改系统时钟只是对依赖系统时钟工作的应用产生影响,比如定时、系统时间等,不会对其他应用带来明显影响。在记者私下与平板厂商的沟通中,他们甚至表示,使用这种方法可以获得你想要的任何分值,并且不会对整机运行带来明显影响。为验证跑分欺骗效果,记者请求并获得了平板厂商原道的援助,借助原道工程师针对原道N101双擎单独制作的演示固件,我们获得了鲜明的跑分数据对比。

跑分体验

与PC平台上的处理器不同,移动终端完全不提倡超频,甚至为了降低功耗对处理器降频使用。超频会带来高热和高功耗,这不仅影响持握感受,还会由于热量积累带来系统的不稳定,并可能烧毁芯片;而高功耗也会让整机续航大幅缩减,令移动应用体验大打折扣。并且由于当前主频已经很高,超频愈加困难,而且效果也十分有限,超频跑分已经不再是跑分欺骗的主流。

新出现的修改时钟欺骗跑分具备分值随意可达、专属性强(不同机型的固件修改文件不同)、功耗无变化和系统运行稳定的特色,隐蔽性极高,即便是玩家也很难发现。目前部分测试软件,如安兔兔测试等已经加入了针对这种欺骗测试的验证功能。一个比较简单的鉴别方法是使用固定时间测试工具,如果测试工具运行时间明显拉长,则可鉴别存在作弊嫌疑。如安兔兔测试的完整测试时间一般为3分钟左右,而我们所测试的欺骗固件则运行了近5分50秒;在NenaMark1测试中,还出现了测试音效消失,但测试画面依然未完结的情况,这都是延时带来的症状。注意,修改时钟欺骗与超频无关,超频多少还能部分提高整机性能,修改时钟则是完全的数字游戏!

626
使用欺骗固件后,安兔兔评测得分可轻易达到10000分以上。

瑞芯微谈芯片

Q:我们知道,ARM处理器中CPU和GPU的频率是按需动态分配的,芯片商是否会对高频率进行锁定?对其进行超频是否有可能?会出现哪些问题?

A:我们的CPU和GPU是按需进行分配的,就是根据系统的负荷来进行动态频率调整,这样的好处就是可以很好地控制功耗。芯片商一般不会进行锁频。一般情况下,不建议超频,超频后会导致终端的使用寿命缩短。除非有针对一些特别大型的,费系统资源的游戏或应用,我们会作为特例来运行。但整体系统还是会控制在普通运行状态。

Q:从您的经验出发,您认为跑分成绩与实际体验是一种什么样的关系,终端厂商在产品系统上的开发能力对跑分和体验的影响有多大?

A:跑分成绩是一种芯片资源大潜力的发挥体现,也就是说芯片高可以做到这种性能。 一般的跑分软件有测试内存、I/O、CPU性能、2D、3D性能等。通过测试可以判断终端在某一方面的能力,举个例子来说:一般情况下,2D、3D跑分测试较高的终端,在运行大型游戏的过程中会比较流畅些。在平时使用可能体验不出来差距,但用一些比较苛刻的、负担比较重的应用或游戏时,就会体现出来。就好比2GPU和4GPU,在运行一些简单的游戏时都很轻松,但运行一些大型的游戏候,差距就会显现。

终端厂商在产品系统上的开发能力对跑分和体验影响非常大,平板是一个系统工程,除了主控芯片自身的性能外和软件、硬件都有密不可分的关系。我们发现,同样的芯片在不同终端中,各方面的表现会呈现出很大的差异性。

Q:当前Android环境下,你认为多核性能是否存在过剩?除了3D游戏,您认为会对芯片性能提出更高需求的应用还有哪些?

A:多核相比于单核而言,硬件的体系架构发生了很大的改变,总体而言有着明显的性能改善。正由于这种改变,应用软件也随着终端性能的提高不断进步。移动互联网终端设备刚刚起步时,大型的游戏和应用软件很少,现在来看已经大大丰富了。我认为不存在性能过剩的说法,这是一个水涨船高的过程。对芯片性能提出更高要求的应用有以下4个方面:专业的编辑应用、设计应用、人机交互应用和数据分析及运算类应用。

Q:硬件比拼和跑分比拼是现在Android终端的普遍现象,您怎样看待这种现象?

A:目前硬件比拼和跑分比拼是所有移动互联网终端市场竞争加剧导致的,因为这个是普通客户能看到的直观的表现,也是很多不了解Android产品用户的一种参考。就好比我们去买电脑,也很关心硬件配置和频率参数一样。但用户体验才是第一选择。

一般来说跑分是在整体性能发挥到高时的状态,但目前行业内出现一些恶意篡改时钟调高跑分的做法,这也是竞争所导致的负面影响。我们希望各上下游厂商齐心合力,从产品体验的角度出发,给消费者带来优质的产品,而非一味的追求高分低能。

如何理性看待跑分

移动互联终端是一个发展并不长的行业,尽管出于行业竞争的原因,有着类似PC的硬件比拼,但在产品方面与PC存在本质的不同。标准的PC平台,硬件制造商只需要按照标准生产硬件就行,关于系统的部分,操作系统提供商会帮你做好。测试软件所运行的环境是完全一样的,加上如PCMark等这样的测试工具在测试上基本模拟了所有的日常应用,因此其分值具备较高的参考价值。但即便如此,PC上也很少用PCMark得分作为卖点。

而Android移动互联终端,目前的硬件方案众多,不少芯片商在硬件架构、参考设计上均完全不同,甚至各家芯片商还提供各自的SDK开发工具包。理论上要完全发挥芯片的性能,必须针对具体芯片做优化,在目前众多的芯片方案中,这显然是不太现实的。因此,当前的测试工具所做的大多也为基准测试,反应的是硬件的通用性能。事实上,移动互联终端是一个系统工程,包括如触控体验、界面优化、应用兼容性、续航能力等都是跑分测试所不能提供的,这需要制造商和方案集成商来完善。在Android移动终端中,不存在跑分一样,体验相同的两个品牌。

跑分仅能决定硬件的基准性能,它是同质化竞争中的附属参考,只有从体验出发,才能让当前的唯跑分论不再有市场。对于厂商,虚假跑分或许能逞宣传上的一时之快,但失去的却是市场诚信和终用户!

分享到:

用户评论

用户名:

密码: