主页 英特尔® 软件网络

创建高能效软件(第三部分)

作者: Bob Steigerwald, Rajshree Chabukswar, Karthik Krishnan, Jun De Vega
发布日期: 2007年9月13日 | 最后修改日期: 2008年8月27日
应用内容感知

为利用软件实现能源节省,我们已在前几篇文章中为您)介绍了提高计算效率和数据效率的方法。第三个范例主要用来说明应用内容感知。应用内容感知由 Schilit 于 1994 年首次提出[Ref18],旨在创建可以对环境做出响应或适应环境变化的应用。它要求物理环境必须具备传感器并能够产生引发应用反应的事件或状态变化。例如,许多笔记本电脑以显示屏自动变暗的方式,对从交流电到电池供电的变换做出响应。某些笔记本电脑会在传感器探测到设备故障时使硬盘磁头停靠,以免磁头碰撞。一些应用可以在电池电量极低的情况下,将缓存数据写入闪存中。

上下文感知也同样适用于用户情境。例如,软件应用若根据您所处的位置(堵车中),判断出您显然已经错过计划出发时间,那么它就会自动扮演智能旅行助理的角色,为您找到并提供其它出行路线。

在电源方面,应用应对系统变化做出响应,并采取保存能源的行动——至少为用户提供选择的余地。这些事件包括交流电与电池的转换、电池剩余电量以及各种能耗设备(如 WiFi 和蓝牙射频)的状态。

下一节将详细说明创建更多高能效游戏的技巧。随后一节则会为您介绍支持上下文感知应用开发的各种工具。

打造节能型游戏

由于游戏应用对性能的要求较高,电脑游戏过去一直是台式机的天下。但随着技术的日益演进,如今笔记本电脑的性能足可与台式机匹敌,一些游戏玩家也因此开始考虑将笔记本电脑作为游戏平台。系统可用性的一个关键因素是电池的使用时间。为确定最佳的能效配置,本部分将通过改变游戏应用设置(例如显卡、分辨率、FPS 等等)来分析笔记本电脑的功耗情况。此项研究的焦点是:不同的游戏设置如何为使用电池供电的笔记本电脑带来能效更高的配置,并可提供哪些优化游戏、节省能源的建议。[9]

此处所有测试均采用下列两种配置之一:

  • 一个采用 nVidia 7800 显卡的 2.0 GHz 双核英特尔® 双核工程系统。采用 Fluke NetDAQ® 进行能耗测量——见附录 A
  • 一台索尼* VAIO,采用迅驰平台,英特尔® 酷睿™ 双核处理器 2.0GHz、nVidia 7400 显卡。采用 Extech 功率分析器进行能耗测量[10]

测量使用了三个商业游戏,包括 2 个第一人称射击游戏和 1 个实时战略游戏)。第一人称射击游戏通常以高帧速率运行,而实时战略游戏不会提高帧速率。

测试观察与结果

LCD 亮度

基准观察(有助于我们了解测试)以 LCD 亮度为基础。如图 17 所示,与高亮度(8/8 档)相比,索尼笔记本电脑在采用低亮度(0/8 档)时功率降低了大约 5W(32%)。该数据表明,降低屏幕的亮度有助于节能。节能百分比可能会在系统忙于运行工作负荷时有所改变。

图 17:闲置系统 LCD 亮度

游戏分辨率设置

根据系统配置和游戏设计,所选游戏可支持各种分辨率。图 18 说明了在带有 nVidia 7400 显卡的索尼笔记本电脑上分辨率对功耗的影响。图中,数据条渐高的趋势代表功率上升,因此数据条越低越好。例如,蓝条(对于游戏 A 和 B)表示基准/默认功耗数据,该值调整为 1.0。其它条按比例相应调整。对于游戏 A,分辨率为 800x600 时,与基准相比,功耗降低大约 5%;分辨率为 640x480 时,与基准相比,功耗降低大约 8%。工程系统上也可观察到类似结果(设置 1。)

图 18:基于索尼笔记本电脑的游戏分辨率和平均功率比较

游戏质量设置

所选游戏具有调节游戏质量的设置选项,其中包括“纹理”、“着色器”、“阴影效果”、“烟雾效果”、“水特效”等。 “着色器”通常用来决定三维物体的最终表面属性,它提供了高、中和低三种设置级别。它包含光效、阴影、反射等方面的细节,以及这些属性影响游戏中物体的方式。我们可以通过选择高、中、低质量的着色器来调整需要预先处理的细节(精细度更高的细节)。

图 19 说明在设置 1 中改变游戏质量设置对功耗的影响。蓝条表示基准/默认功耗数据,该值调整为 1.0。基准质量设置会随着系统配置和显卡的变化而改变。第二个数据条表示当所有质量设置均为“低”时的测量结果。如图所示,在 3 个游戏中,将质量选项设置为“低”可节省功耗。在设置 2 中也可得到类似结果。

图 19:基于工程样机的视频选项和平均功耗

游戏帧速率设置

所选游戏的另外一个可用选项是可调节帧速率。降低帧速率可减少必要的处理操作,实现功耗节省。图 20 说明在设置 2 中通过变化的帧速率所得到的测量结果。游戏 A 以每秒 20 帧的速率运行,并将此速率设为基准(蓝条),褐红色条表示以 15 FPS 运行,米黄色条表示以 10 FPS 运行。同样,对于游戏 B,基准为 60 FPS(蓝条),褐红色条表示以 30 FPS 运行,米黄色条表示以 20 FPS 运行。如图 20 所示,降低帧速率时,平台功耗也随之降低。工程系统上也可观察到类似结果(设置 1。)

图 20:基于索尼笔记本电脑的帧速率和平均功耗

建议

上述实验清楚地表明,各种游戏和平台设置均可影响功耗的数值,且恰当的设置能延长电池使用时间。当采用电池供电时,您可以通过以下方式来延长游戏时间:

  • 降低显示器亮度
  • 将游戏分辨率设置为较低的值
  • 将帧速率限制为较低值,以降低帧速率
  • 将游戏质量选项设置为较低的值

此外,如果不需要 WiFi 和/或蓝牙射频设备,可关闭它们以节省能源。这些建议仅供最终用户参考,但游戏选项必须首先由游戏开发人员来安装。这与提供一个选择——“为性能而优化”或“为节能而优化”——一样简单。

当游戏能够适时(如在用户从交流电转换为电池供电时)为玩家提供选择时,它们就将更加富于人性化。应用内容感知工具可帮助开发人员创建了解现有系统状态,并可根据系统事件采取响应行为的应用。请查看工具部分的文章,获取关于上下文感知工具的详细信息。

 


[1] 您可能会注意到,它并非总是正确的,这点非常有趣。由于处理器状态与电压之间呈平方关系,我们可以得出:相比以更高的 P 状态运行更短时间相比,流程以更低的 P 状态运行更长时间实际上消耗的能量更少。这有待于我们做进一步研究。

[2] 如欲了解这一主题的更多详细信息,请访问:http://www.intel.com/technology/magazine/computing/mobile-power-saving-0506.pdf 

[3] http://us.fluke.com/usen/products/NetDAQ.htm?catalog_name=FlukeUnitedStates 

[4] GV3 是微软提供的一个补丁程序(KB896256),可更改内核功率管理器,使其跟踪整个封装(而非独立内核上)的 CPU 利用率。当一个内核的工作负载远远少于另一个内核时,它可解决功率管理器因不正确计算处理器的优化目标性能状态而产生的问题。在自适应模式中,性能状态设置过低,性能受到负面影响。

[5] 如欲了解有关该研究的更多详细信息,请访问:http://softwarecommunity-zho.intel.com/articles/zho/1089.htm 

[6] 如欲了解有关 MobileMark 2005 的详细信息,请访问:http://www.bapco.com/ 

[7] 如欲了解有关该分析的更多详细信息,请访问:http://softwarecommunity.intel.com/articles/eng/1091.htm 

[8] 如欲了解本主题的更多详细信息,请访问:http://www.intel.com/cd/ids/developer/asmo-na/eng/333927.htm 

[9] 如欲了解有关本研究的全部详细信息,请访问:http://www.intel.com/cd/ids/developer/asmo-na/eng/dc/mobile/333574.htm 

[10]如欲了解有关 Extech 功耗分析器的详细信息,请访问:http://www.extech.com/instrument/products/310_399/380803Power.html 

[11] 请访问:http://LinuxPowerTOP.org 



上一页 1  2  3  4  下一页

第 3 页,共 4 页
我们邀请您在本页 发表评论 (不受客服控制),或直接向我们的支持中心 提问.