酷勤网 – 程序员的那点事!

当前位置:首页 > 编程 > 移动开发 > 正文

Windows Phone的单核王道

浏览次数: 2011年11月26日 雷锋网 字号:

“你的手机是双核的吗?”这是一个令人哭笑不得的问题,但却是近来越来越多被提及的一个问题。尽管硬件技术的提升为更好的体验提供了基础,但对用户而言,硬件性能真的是值得关注的吗?或者说,在营销噱头之外,这些硬件数据指标对用户还意味着什么?

纵观现在主流的移动设备平台,风光无限的Android早已高举双核旗帜,甚至迫不及待的宣称要领衔进入手机的四核心时代。而相比Android的疯狂,Windows Phone平台的手机却一直固守高通的单核心处理器,甚至在最新发布的搭载Windows Phone 7 .5 Mango的第二代设备,以及Nokia全新旗舰Lumia 800上,也只是搭载最高1.4GHz的单核处理器。同样是流畅运行各自的操作系统和各类软件应用,Windows Phone的这种单核偏好与Android的多核主张相比,究竟是落伍还是冷静务实?

移动设备上的摩尔定律?

2001年3月上市的Nintendo Gameboy Advance掌上游戏机,划时代的采用主频16.7MHz的ARM7处理器,自此ARM架构的处理器逐渐成为移动设备的主流处理器。2002年,Nokia 7650作为第一部广泛为用户接受的智能手机,其ARM9处理器主频达到104MHz,与同年桌面电脑主流的Intel Pentium III (Pentium IV已经诞生并超过1GHz主频,但尚未成为主流)处理器一样,进入百兆赫兹俱乐部。

此后,如同桌面电脑处理器那著名的摩尔定律一样,移动设备的处理器主频也在不断攀升,Nokia N73(2006年)处理器主频达到220MHz,Nokia N95(2007年)处理器主频达到330MHz。随着Android等移动设备操作系统的不断发展,移动设备的处理器主频提升速度也是越来越快,2009年已经有大量采用800MHz主频处理器的Android智能手机。2010年,1GHz主频处理器开始应用于Android手机等移动设备。

阿达姆定律和功耗无底洞

桌面电脑处理器主频在达到4GHz后遇到了频率提升的瓶颈(阿达姆定律),继续提升主频对处理器的制程、功耗提出了巨大的考验,但由此带来的性能提升则不再明显,因此桌面电脑处理器从Pentium IV时代开启了多核心架构(最开始是单物理核心模拟多线程处理)之路,多核心架构使得处理器在性能、功耗和制造成本上找到了更高效率的平衡。目前低频多核已经成为桌面电脑处理器的主流架构。与之惊人的相似,2011年,越来越多的移动设备开始采用双核的处理器架构,而目前Android平台甚至已经有了双核1.5GHz处理器的市售机型,更有提出要把移动设备带入四核时代的疯狂口号。高频率、多核心的处理器,势必能够带来设备性能的提升,然而这一切是必须的吗?

图注:采用双核处理器的Android手机

移动设备的处理器除了要负责操作系统的运行,还承载了越来越多的诸如应用程序、游戏、视频/音频解码、网页解码等功能。这其中,操作系统、游戏(特别是3D游戏)、视频解码等,是最为考验处理器性能的应用。无论是提升处理器的频率,还是增加处理器的核心,其目的都是为了提升单位时间内处理器的运算性能。然而,提升频率和增加核心的同时,却也在提升处理器的功耗。对于移动设备来说,性能的提升往往是以牺牲待机时长为代价的。在电池技术尚未发生革命性提升的前提下,待机时间短充电频繁,成为Android设备最为人诟病的短板。

既然要牺牲移动设备最为宝贵的待机时长,为什么还要不断的提升处理器频率,增加处理器核心呢?首先,随着移动设备越来越成为互联网应用的重要入口,人们希望移动设备能做的事情越来越多,各种服务、各种应用程序应运而生。对于Android这样的开放架构操作系统,大量的开发者,要面对大量不同尺寸、不同分辨率屏幕甚至是不同版本定制操作系统的设备去开发应用程序,使得应用程序优先注重兼容性,往往提升难以运行效率。加之Android平台下大量游戏、视频解码工作没有很好的针对GPU(显示运算单元,内置于处理器芯片内部)的API,使得这类程序不得不通过调用系统API来进行处理器的软解码,也大大提升了处理器的负荷。

反过来,设备厂商只能通过不断提升设备的处理器性能来尽可能迁就足够多的应用程序,满足人们的需求。但同时,本就岌岌可危的待机时间在高性能处理器的高功耗前成了彻底的短板。其次,Android操作系统本身也消耗着大量的处理器性能:Android支持桌面Widget,而这些Widget都必须占用处理器的运算资源。Android支持多任务,但除非你手动关掉后台任务,否则每一个后台任务都在拼命争抢消耗着系统内存,以及管理这些系统内存的处理器运算资源。而大量设备厂商的定制系统UI界面,尽管漂亮,但几乎都依赖处理器软件解码来运行。所有这些都无疑增加了处理器的负载。而设备厂商们为了给用户更顺畅的体验,只得开始一场移动设备处理器性能的军备竞赛。此外,“双核、多核”、“高主频”也正逐渐变成设备厂商、芯片提供商们进行市场营销的一个重要噱头,尽管很多时候人们往往忽视了这些噱头都是以牺牲移动设备最为宝贵的待机时间为代价的。

Windows Phone的单核血统

与Android军团的“处理器军备竞赛”不同的是,微软的Windows Phone系统,对手机硬件的配置选择处处体现出其冷静和严格,而这些都是源于微软的软件基因,即一切以软件的用户体验为出发点,而非一味追求硬件性能的提升。所有的Windows Phone手机厂商均采用高通的Snapdragon单核心处理器。在Windows Phone 7.5 Mango更新之前上市的Windows Phone手机上,均使用1GHz主频的Snapdragon QSD8250单核处理器,而Mango更新之后上市的Windows Phone手机上,均使用Snapdragon MSM8255单核处理器,哪怕是Nokia的旗舰机型Lumia 800,也只是使用一个频率稍高的1.4GHz版本而已。缘何微软的Windows Phone要恪守单核思路呢?

图注:HTC HD7采用Snapdragon QSD8250单核处理器

除了使用统一的处理器,Windows Phone还规定了统一的显示分辨率(800×480像素),这意味着无论是操作系统本身,还是开发者们的应用程序、游戏都可以使用一个统一的API来处理显示部分的运算,而这个API就是Direct 3D 11。这样,Windows Phone系统下的所有显示部分运算,都能通过Direct 3D接口,由Snapdragon内置的GPU来完成,从而彻底释放处理器的运算资源。Windows Phone通过对设备硬件的严格限制,从而提供统一的API接口和设备驱动程序,使得成千上万的应用程序能在这种统一编制的体制下与操作系统本身一样保持最高的运行效率,节省处理器资源。

Windows Phone操作系统基于Windows CE 6 .0内核平台,该平台与微软桌面端操作系统使用的Windows NTk内核平台相比十分精简,以针对单核处理器为主,非常适合目前阶段手持设备的硬件水平,并寻求性能和待机能力之间的平衡。Windows CE 6.0平台支持“抢先式多任务”,允许多个程序进程平均共享处理器资源,但高优先级进程(如重绘界面等操作系统级进程)会优先使用处理器资源。也就是说操作系统的进程会把应用程序进程往后挤,不会出现因为打开应用程序过多而导致系统变慢的情况,时刻保持操作系统的流畅运行。

对于移动设备的用户来说,操作系统的流畅体验才是第一位的,毕竟系统级应用才是用户最常用的,而对于很久之前打开的应用程序,用户往往会选择重新启动它。此外,Windows Phone特有的Live Tiles界面,使得开始界面下的应用程序在提供Widget式的实时传递信息功能的同时,又保持对处理器性能最克制的消耗,至于与传递必要信息无关的运算,随又在乎呢?毕竟Live Tiles搭配Metro UI已经足够漂亮,不是吗?

图注:Windows Phone的Live Tiles传递足够多的实时信息,同时节省资源

Windows Phone正是通过一套严格而统一的运行机制,使得对处理器性能的依赖保持在一个合理水平,并在用户体验和性能消耗之间找到了一个不错的平衡,用更成熟和更低成本的硬件设备为用户提供了恰到好处的应用体验。同时,这也使得用户能够专注在移动设备本身带来的丰富体验上,从而忘记本不应该由用户来关注的各种无聊透顶的硬件指标和数据。谁会真的在意自己的手机能有多强悍的科学计算性能呢?Windows Phone目前向我们展示出单核才是王道。

本文来源:原文链接

无觅相关文章插件,快速提升流量