您现在的位置:首页 > 观点 > 正文

聊聊安兔兔

时间:2014-07-18 15:04:26 来源:cnBeta.COM 评论:0 点击:

  就算你不知道兔子是什么东西,至少你也应该听过“不服跑个分”这句话。作为跑分党中最流行的工具之一,兔子评测即将推出新版,最大的改变是修改了评分标准,使之“更准确地反映用户体验”。用跑分软件来反映用户体验是应该的,针对不断发展的硬件修改评分标准也是正常的,但是具体到了兔子……事情可就说来话长了。今天就让我们来好好聊一聊兔子吧。

  靠谱的跑分软件

  自古以来,跑分软件常有,而靠谱的跑分软件不常有。当然要评价一个跑分软件是否靠谱一直以来都很难,你有你的侧重,我有我的理念,但是有两点是必须做到的,那就是说什么就测什么,测什么就是什么。前半句的意思是你要为你的测试目的选择直接且合适的测试项目,后半句则表示,要用合适的测试方法让你得到的结果就是你想要测试的东西。不要说山寨分析师废话,这当然都是很浅显的道理,但是千万不要以为这两点很容易做到!要你去测量一个活人的某个器官有多重容易吗?测试往往都是单项的,但是任何单项的测试都必须运行在系统这个整体里,怎样找到一个方法,从整体中把某个单项割裂出来,不被其他因素影响,这是一门很高深的学问。做不做得到这点,直接决定了跑分软件是否靠谱。

  这么看的话,兔子靠谱吗?不好说。很久以前兔子跑分的靠谱问题就被吐槽过,其中很多互相独立的项目之间存在着极强的关联性,例如内存性能和整数性能几乎是线性相关,与内存子系统的硬件配置关系的关系却没这么强。这暗示着兔子的内存性能的测试严重受处理器系统的影响,结果不一定是真的内存性能——这当然也不一定是兔子跑分的错,但是排除干扰也是测试软件的必备技能与技术核心所在,否则谁都可以写测试软件了不是(虽然现在的确是谁都在写)。

  现在兔子跑分还有这类问题吗?说不定还有。

  如果去看看4.0版本引入的多任务测试,就会发现在测试运行过程中处理器经常只有一个核心满载,其余核心要么负载较低,要么甚至直接关闭。这对于一个多任务测试而言是一个很不寻常的现象,不仅不寻常,更加违反了常理。反观3DMark的物理测试,所有处理器都会长时间保持100%占用率,一直到测试结束。根据说什么就测什么原则,多任务测试自然应该是用满所有处理器的,兔子的多任务测试明显不如3DMark来的更加多任务。

  这当然不是唯一的问题,再观察一下图形测试,就会发现测试的CPU占用率也显得不正常的高,经常会有1~2个甚至更多的核心负载达到最大频率下的50%左右。继续对比一下3DMark,就会发现3DMark不论执行多么复杂的3D测试,处理器占用都非常低,几乎不会超过两位数,而且频率也只比待机高一点。这意味着,兔子的3D测试消耗了较多的CPU资源,最终成绩不仅会受到GPU的影响,也会受到CPU的影响,看看,说好的测什么就是什么呢?

  其他项目山寨分析师没仔细研究,不过至少可以肯定,兔子之所以可以成为最流行的测试软件,是因为项目够多、测试系统更完善,更重要的是因为分数比较更直观,满足了用户和媒体之间以简单快捷的方式互相攀比的需求,并不是因为测试本身的技术含量与靠谱程度,也无怪乎有些人叫它娱乐兔。

  我要更加代表用户体验

  对于普通人而言,跑个分是因为想知道机器的使用体验,这是跑分的目的,也是兔子的宣传口号之一。此次兔子修改评分标准,也是打着这样一个旗号,新标准能更好的反映用户体验,而不是冷冰冰的数字。为此,兔子做了这样一些改动:增加了单线程性能测试、提升了3D测试的复杂程度、降低了RAM和I/O等测试的权重比例等。这些修改都是为了更好的代表用户体验吗?我们继续来聊一聊。

  首先是增加单线程性能。增加这个当然是对的,毕竟在手机上单线程性能显然比多线程性能更重要。但这更贴近使用体验吗?还真就不一定,至于为什么兔子一直到5.0版本才开始提出这个项目,则更是一个很微妙的决定,这点非常值得深入八卦一下。

  一直以来,处理器的总整数和总浮点性能在兔子里的比重都很大,这个自几年前手机刚开始普及多核时就已经是这样了。但是随着核战争的白热化,有很多厂家也自然而然的推出了一些比较奇葩的产品,例如MTK刚刚发布的八核Cortex A53。这些处理器依靠着小而多的核心设计,在兔子跑分中屡屡突破,最新的MT6795甚至已经接近50000分大关。这个分数很明显不是用户体验,因此兔子此时引入单线程测试,似乎是合理的。

  但问题来了,如果这真是兔子的目的,那么它从一开始就应该引入这个测试,因为这种“弱而多”的产品并不是今天才出现,早在之前的八核Cortex A7、再之前的双四核、甚至更早之前的高通Scorpion,都是这类“弱而多”的设计。如果这样的设计得到的分数不能代表用户体验,那么兔子早在两年前就应该做出这样的改变。但实际上,兔子从多核时代一开始,就彻底而全面的拥抱了多核总性能,一直对弱而多不闻不问,即便是去年3.0到4.0的升级,双四核甚至八核Cortex A7的出现都没有让兔子做出这样的改变,这说明问题也许并不在“弱而多”跑高分代不代表用户体验,而在于是谁在这样做。

另一方面,虽然主流的声音一直是多核无用,但是随着Android的发展,多核,甚至是弱多核已经成为了不可否认的事实,在这样的事实状态下,软件开发策略不可能不做出对应的调整,程序员不可能在一个满是弱多核的世界里强行去编写需要强劲单线程才能运行的程序。可以说,这已经成为了了趋势,在未来也很难看到逆转的可能,兔子在此时高调引入单线程测试,趋势上有些说不过去。当然,站在山寨分析师的立场上,同样条件下,强劲的单线程当然是更好的,只是兔子在此时引入单线程测试,目的也许并不单纯。

  第二个大改变是3D测试。兔子表示,现有的3D测试压力过小,已经不足以体现顶级硬件之间的差距,因此在新版测试中加大了3D测试的复杂度和压力,让顶级显卡之间得分的差异得到了更为明显的放大。这在技术上是对的,实际上却是错的。

  为什么这么说?原因很简单,目前顶级GPU的最大功耗都已经超过了实际使用中能接受的极限,此时决定使用体验的并不是最大性能,而是在由发热、续航这样的因素决定的极限功耗下的性能。由于不论是Adreno、PowerVR、Mali还是GeForce,自去年一来各自的性能提升都远超极限功耗之外,实际运行中就是谁快谁降频,越快越降频,因此如果真正的从实际体验角度来说,各个产品的3D体验实际上是趋同的,感官差异正在变得越来越小而不是越来越大。这点相信大家也都有体会,即便不去考虑实际上绝大多数人会玩的游戏其实根本不需要多少3D性能,高端机跑得动而中端机跑不动的游戏也不多;即便有,高端机也没法一直以那个速度跑下去,一圈流比比皆是。此时,兔子加大3D测试的强度、拉大3D测试的差异,从技术角度上说没问题,但从体验角度说则是完完全全的背道而驰——事实上越来越接近的感受,跑分差距却在变得越来越大,这不是打脸嘛。

  聊到这里,山寨分析师一直在说具体的东西,一直在说用户体验。什么是用户体验?用户是体验不到整数性能的,日常使用中的体验更多是程序加载速度、网页渲染速度、触摸延迟、程序切换速度这些。但是兔子测的是什么呢?整数运算、浮点运算、2D绘图、3D绘图这些。即便是多任务和虚拟机,也只是API测试而不是应用测试,这些都是底层性能而不是使用体验,虽然的确决定了使用体验,但是太过间接,中间有无数个环节都可以影响这两者之间的相关性。但是兔子却说自己跑分代表用户体验,这无疑是非常明显的一个问题,明显到兔子自己也不可能不知道。要测试真正的用户体验很难吗?难,但是这不会超出兔子的技术能力之外,就好像要解决黄牛问题难吗?难,但是对于正规公司而言也不是问题一样。

  有一千种方法可以测试真正的用户体验,兔子却不测,这就好比有一千种方法可以解决黄牛问题,却不动手,这并不是能力问题,也不是态度问题,而是利益问题。这说明,让兔子不去测用户体验的,和让公司放任黄牛猖獗的,是同一个原因。

  为谁代言

  很明显,这次兔子修改得分标准并不是一次简单的升级,也不是简单的因为要“更好的反映使用体验”——即便现行体系有问题,新的体系也并没有解决问题,甚至放大了问题,那么为什么要在这个时候做这样的修改?理由自然有不少,你当然也可以说,我就是想改了,那又怎样?但商业公司不会做无缘无故的事情,最可能的理由是,现行体系不利于自己的商业利益,而需要用新的体系来取代。

  谁是兔子的商业利益?看看兔子属于谁吧,Cber们都知道。那现行体系为什么会影响商业利益?现在的产品格局并不存在这样的问题,改不改分都无所谓,但也许未来的某个产品在现行体系下的表现不好,所以才需要在这个时间节点发布新版本?下半年是厂商新品发布密集期,也会有很多新的平台走向市场:高通805、810,MTK的八核A53、三星的64bit Exynos、nVIDIA的Tegra K1 64bit版。如果看看这些平台,我们就能发现,兔子这次发布新的评分标准,似乎完全是在针对其中的某一个做定点“优化”,没错,那就是Tegra K1 64bit版。

  和其他所有产品不同,Tegra K164bit版的设计思路和苹果的A系列很像,放弃了大量弱核心的设计思路,转而实现了两个巨大而强劲的64bit单核心——代号丹佛。同时,nVIDIA为Tegra K1 Denver配备了迄今为止最强的Kepler GPU,其性能远超目前所有的竞争对手。看到这里,相信大家都明白了,谁在兔子的新标准中受益最大?自然是Tegra K1 Denver:多线程总性能的落后被强劲的单线程所弥补,新增的单线程项目完全针对这点;3D测试采用PC级的引擎,加大测试压力,提高分数差异,这也完全是迎合了Kepler 的口味。为什么兔子要在此时修改一个对Tegra K1 Denver如此有利的测试标准?这极为明显的暗示了Tegra K1 Denver和兔子的利益紧密契合,必须要修改测试标准,好让Tegra K1 Denver的表现足够好,也就是说,在下半年或许会有一台手机,搭载Tegra K1 Denver处理器,同时和兔子有明确的利益关系。这台手机是什么?说不定短短几天后就将揭晓,咱们拭目以待。

  光这么说感受还不够明显,我们可以模拟一下TegraK1 Denver在两个标准下的得分,直观地看一下这个优化到底有多强大。参考一下iPhone 5s的跑分,在现行版本下iPhone 5S的得分大约在30000分左右,并不算高。其中整数性能1900分左右,浮点性能1550分左右,RAM运算600分,RAM速度2200分,3D性能11000分左右。Tegra K1 Denver的频率远高于A7的1.3GHz,就当两倍吧,因此CPU得分也翻倍,总分+3500,RAM性能也按翻倍处理,+2800。Tegra K1 Denver Kepler的性能十分强大,相信在1080p下可以跑满60FPS,但是因为iPhone 5S也跑到了60FPS,垂直同步无法突破,得分无法增长。再考虑一下其他的杂项提升,Tegra K1 Denver在现有的兔子测试标准下的得分可能也就是40000左右。要知道,Tegra4的得分是36000,高通800AB的得分是37000,三星Exynos 5422的得分大约是38000,华为麒麟920已经突破了40000分,MTK甚至跑出了47000的恐怖数字,即将问世的805、810、Exynos 64bit、MTK的高频版,显然都将轻松突破40000甚至50000分大关,这样一来,新一代跑分天王居然连排行榜前十甚至前二十都进不了,被甩开20000分,这让人脸往哪儿搁啊。

  那么在新的评分体系下呢?由于增加了单线程性能,因此Tegra K1 Denver还能再得到一份CPU成绩,算+3500,外加3D测试压力的增大,预期至少可以多得到5000分,甚至可以多拿到10000分,这样一来,不论其他的产品在新版中能获得多大的提升,Tegra K1 Denver的总分几乎可以确保逼近甚至超越50000,成为顶级跑分俱乐部的一员。

  如果真是这样,什么叫产业配合?这就叫。在自己新品发布之前,针对性的修改跑分软件的测试标准,提升自己新产品的表现,从而把跑分天王这样的称号牢牢攥在手里。从商业上说,这样的安排是完美的,效果无疑也会相当理想,正所谓三流企业靠作弊,二流企业堆配置,一流企业玩标准,让基准测试为我的硬件优化,这必然是胜利的绝对保障。至于输家,自然是跑分软件自己了。

  消费者和厂商之间的信息不对称是不可能解决的问题,媒体、测试软件在这两者之中扮演的是桥梁的角色,帮助消费者获得更多信息,缓解信息不对称。这就要求媒体和测试软件不说做到客观,至少也需要做到公平,即便连公平都做不到,也要维持最基本的底线,那就是独立,而独立恰恰是媒体和测试软件最大的困境。传统媒体自然不必说,最近几年,自媒体热炒,各种独立评测者如雨后春笋,评测视频多如牛毛。他们说的对不对,好不好,这些其实都是次要的,最重要的问题是,这些自媒体、测试软件如何养活自己?做视频要钱,开发要钱,宣传也要钱,在中国你不可能指望你的用户和观众为你付费,那就只能靠投资,问题是拿谁的钱?拿了投资,就必须为投资人的利益说话,这是商业的根本,但是当一个手机测试软件团队拿了手机厂商当投资,就很难不成为投资人的营销和斗争工具,一个本该为用户利益代言的群体,却成为了厂家的傀儡,这无疑是悲哀的。评测软件如兔子,自媒体如Zealer,都很难洗脱这样的嫌疑,任何一点倾向性,都很难避免被放在聚光灯下,研究你的动机,而一旦被怀疑,甚至被打上标签,也就意味着你自媒体和测试软件生涯的结束。

  为消费者代言,你将成为太阳,燃烧自己照亮他人;然而人不可能成为太阳,因此这就成了自媒体和评测软件的死结。

  到底怎么跑分

  聊到这里跑题有些远了,还是回到兔子身上,如果兔子真的要测试用户体验,那么应该测试什么项目呢?山寨分析师认为首当其冲应该引入编译性能测试,因为随着Android L的发布,ART取代Dalvik已经是必然的趋势,因此未来所有Android手机在安装程序时都会经历一段编译过程,这个过程的速度会直接影响用户体验,完全有必要纳入测试范围内。其次是多程序切换速度。Android作为多任务系统,在多个App中切换是常有的事情,切换的速度直接影响用户体验,兔子完全可以虚拟几个App,然后在其中互相切换,测量切换时间。接下来是温度限定下的性能测试,给定一段时间,执行性能测试,当温度超过舒适温度,例如45度时测试暂停,跌落后继续,最后评价这段时间内执行的测试总量。以此类推,还可以引入定续航性能测试,进行测试的同时计算对应的电量消耗速度,通过控制性能,令电量消耗速度趋近于一个固定时间的续航,例如对CPU测试而言设定为保证续航5小时,对GPU测试而言设定为3小时这样。除此以外,诸如UI帧速与帧速稳定性、游戏与数据加载速度、浏览器渲染与HTML5性能、3G/4G/WiFi网络性能等也应当纳入到测试范围内。这些可以与理论测试结合起来,共同为用户展示一个全面,关键是,确实能反映使用体验的结果,这才是一个测试软件应当做到的东西。

  兔子有实力实现这些吗?当然有,问题只在兔子背后的利益是否允许兔子这么测。如果未来兔子继续维持这样的升级和开发思路,那兔子跑分变成娱乐兔也就是不可避免的了。

相关热词搜索:安兔兔