打印

[lesswatts.org]Graphics & Displays(Linux节能技巧)

[lesswatts.org]Graphics & Displays(Linux节能技巧)

原文地址:http://www.lesswatts.org/tips/graphics.php
译者:zy_sunshine
Graphics & Displays

LCD backlight
LCD 背光,到现在为止,对大多数用户来说,都是最大的电能消耗。随着新的基于LED的背光在高端笔记本电脑上出现,这种电能消耗会随着时间的推移而改善。但是,即使在这些高端笔记本电脑上,LCD背光仍然是一个重要的电能消耗。通过减少背光亮度,你可以节省大量的电能(省电5瓦特不是一个稀奇的事情)。

Reducing blacklight brightness
所有的笔记本电脑均有热键,旨在增减液晶面板的亮度。不幸的是,这些经常使用的典型模块驱动只在一些特定的操作系统上可用。虽然Linux支持不少笔记本电脑模块,但是他不支持所有的模块。
在X.org7.3中包括了一个名为xbacklight的程序。他允许用户使用软件直接控制集成的Intel显卡的机器背光等。此外,不少笔记本电脑,内核提供了一个sysfs接口来控制屏幕亮度。
有趣的是,在我们的测量中我们发现,至少在新的笔记本电脑上,使用内核sysfs文件更改屏幕亮度的方法,似乎不是实际的控制背光,而是在屏幕上改变了像素的颜色使显示变暗。使用深色像素显然不会比直接减少屏幕亮度更省电。
你可以像这样来使用xbacklight程序,来设置你的背为50%亮度:
xbacklight -set 50
各种Linux桌面系统也有各种亮度控制的应用程序,可以替代xbacklight程序。

Screensavers(屏保)
花式屏保可以很漂亮,不过,从节能使用的角度来看这不是一个好主意。
首先,屏保应该花费很少的CPU运算时间(在3D屏保的情况下是GPU时间),而CPU运算是消耗能量的(移动某一部分会唤醒CPU全部的运算时间来做繁重的图形绘制工作)。随着这些绚丽的屏幕保护程序的显示,很可能会使你的机器比平时的普通操作更加消耗电能。
一种更节能的方法是直接把屏幕完全关闭(无论是笔记本电脑的屏幕还是外接屏幕,也无论是应用在桌面系统还是服务器系统)。
一个被称为是"DPMS"(显示器电源管理)的常见技术,可以使X关闭屏幕。你可以使用下面的命令来打开DPMS:
xset +dpms
您还可以通过屏幕超时来控制显示器的关闭:
xset dpms 0 0 120
上面的命令将在显示器空闲120秒后关闭显示器。

Framebuffer compression(图片帧缓存压缩?)
如在图形项目页面描述的那样,现代Intel集成图形控制器支持一个被称为“Framebuffer compression”的特性。屏幕上的图片在内存中是压缩的,以便在更新屏幕(刷新)的时候消耗更少的内存带宽(与能源消耗相关)。在实像素屏幕背景的测试中(with a solid background),我们测量到使用此功能可以节省大约0.6瓦特电能。
Framebuffer compression特性被添加到Intel图形驱动程序的最新版本中。如果你使用的是旧的发行版本驱动,你可以考虑更新到一个新的驱动版本。
虽然数据压缩在实像素屏幕背景中工作的非常好,很多人喜欢使用一个图片作为背景。Intel工程师编写了一个软件来帮助优化这样的背景图片,使压缩功能更好的发挥作用。
你可以从这个页面下载这个程序。

Disabling TV, VGA or DVI out
在笔记本电脑上,图形硬件可以驱动多个并行输出。除了内置的LCD显示屏,你还可以使用一个外接的显示器,有时也可能是一个TV。在那些类似的逻辑驱动中,每一个额外的显示器一般都会消耗1瓦特左右的电量。现在,如果你的笔记本电脑没有和外接的显示器相连,这些额外的输出端口应该断电。如果一个设备真的连接到了这个输出端口上图形硬件应该可以检测的到,但不幸的是,这些显示机制既不完善,也不会万无一失,所以值得检查这些,看看图形硬件和驱动是否检测到了正确的配置。
xrandr命令可以用来查看哪些输出端口现在是活动的
# xrandr
Screen 0: minimum 320 x 200, current 1400 x 1050, maximum 1400 x 1400
VGA disconnected (normal left inverted right)
LVDS connected 1400x1050+0+0 (normal left inverted right) 304mm x 228mm
1400x1050      60.0*+
1360x768       59.8     60.0
1280x800       60.0
1152x864       60.0
1280x768       60.0
1280x720       60.0
1024x768       60.0
800x600        60.3
640x480        59.9
TMDS connected 720x480+0+0 (normal left inverted right)
1360x768       59.8     60.0
1280x800       60.0
1152x864       60.0
1280x768       60.0
1280x720       60.0
1024x768       60.0
800x600        60.3
720x480        66.3*
640x480        59.9
在上面的例子中,有两个输出端口检测为连接状态(LVDS,这是你的液晶面板,TMDS,这是你的TV输出)。它还显示(*)表示两个输出的当前的显示模式,LCD面板当前的分辨率是1400x1050,而TV输出当前分辨率是720x480。
xrandr程序还可以控制哪一个输出是活动的,由于在这种情况下TV输出(TMDS)实际上是没有连接的,因此我们可以使用下面的命令来关闭TV输出:
xrandr --output TMDS --off

[ 本帖最后由 zy_sunshine 于 2010-1-6 13:37 编辑 ]

TOP