心之所在:前几日Phoronix.com放了一篇评测文《How Unity, Compiz, GNOME Shell & KWin Affect Performance》,KWin因为在全屏时会临时关掉特效,而GNOME-Shell是关不掉特效的(不想用特效就不用GNOME-Shell,用那个fallback模式开个新桌面),如果同时跑全屏游戏,这差距是少不了的。
正文(有精简):
Twitter关注我的人应该知道上个周末我跑了各种开源、闭源显卡驱动的测试,跟以前的Phoronix测试不一样,这次我是测不同桌面/窗口管理器下各种驱动的表现情况。测试用的包括了Unity(Compiz)、GNOME2(Metacity,无3D特效)、GNOME2(Compiz)、GNOME3(GNOME Shell、Mutter)和KDE(KWin),测试用了开源/闭源的NVIDIA、ATI/AMD Linux 驱动。
测试中遇到了各种图形驱动的bug,像是 Meta Git 主干、来自Linux 3.0/2.6.40最新的Linux 内核 DRM、Ubuntu Natty源中的Compiz,这样是跑不起来的(所以后面开源驱动的评测中没Compiz的份)。
不管是GNOME classic桌面还是Unity上跑Compiz,开源的AMD(R600g和R300g)或Nouveau驱动,结果都是一样悲情。我不是唯一一个遇到这个情况的。这还不是唯一的问题,其它的测试GNOME classic情况下,偶然会出现文本花掉(text corruption)的情况。
开源驱动主要是社区维护管理,但就算用官方ATI/AMD Catalyst Linux 驱动还是有问题。在Unity和GNOME Shell(v3.0.2)一起用时,图标经常丢失,其它情况的图形模糊花掉(corruption)发生。
这个问题在用Ubuntu 11.04的GNOME3 PPA源,和Natty源中的官方fglrx驱动时发生。但就算是Phoronix能拿到的最新保密协定(NDA)的Catalyst驱动,这问题还是存在。此时的GNOME Shell比起桌面更像是俄罗斯方块。
跑遍测试,唯一没遇到明显问题的是NVIDIA的闭源驱动。
测试用的硬件环境:Intel Core i5 2500K “Sandy Bridge” 、 Sapphire Pure Black P67 Hydra 主板, 4GB 内存, 250GB Seagate SATA HDD, 各种显卡。测试显卡是 ATI Radeon HD 5750 和NVIDIA GeForce 9800GT ,为了验证、重现桌面bug还用到了 ATI Radeon X1800XL 和NVIDIA GeForce GT 240 显卡。
软件环境:GNOME 2.32.1, Unity 3.8.10, KDE 4.6.2, GNOME Shell 3.0.2. 基础系统是 Ubuntu 11.04 x86_64 的 X.Org Server 1.10.1 release, GCC 4.5.2, 以及 EXT4 文件系统。测试闭源驱动,用的是Natty源中的NVIDIA 270.41.06 、 Catalyst 11.4,默认 Linux 2.6.38 内核。测试开源驱动,用的是最新版本,包括5月28号最新的Linux 2.6.40/3.0 内核、Mesa 7.11-devel、 libdrm 、xf86-video-ati 、 xf86-video-nouveau的Git主干版本。
测试用的OpenGL游戏包括Nexuiz, OpenArena, Warsow, World of Padman, Urban Terror, Lightsmark, 和 Unigine Tropics。
Nexuiz v2.5.2
从 Radeon HD 5750 显卡、Catalyst 驱动的数据来看,GNOME Shell(Mutter)是所有测试对象中最慢的。跟我们以前的测试结果一样,Catalyst驱动下,有Compiz的GNOME2.3.2桌面跑的要比没混成效果的Metacity要快。 用了Compiz的GNOME2表现跟用了Compiz的Unity和用了KWin的KDE 4.6桌面差不多。使用Mutter的GNOME Shell少了快一半的帧数。
换用NVIDIA 闭源驱动,GNOME2+Metacity、GNOME2+Compiz、Unity、GNOME Shell+Mutter在全屏Nexuiz游戏的OpenGL中表现近乎一致。而使用KWin的KDE桌面表现则更好,估算超过大概12%这个数值。
开源的R600 驱动,使用Gallium3D,表现最好的是GNOME2+Metacity,KDE的表现降低了大概33%左右,GNOME Shell的表现对比KDE再降低35%。如之前所述,Compiz跑不了开源驱动……
Nouveau驱动的结果,GNOME2+Metacity(好像图没画出来)和KDE的表现一致,GNOME Shell是最慢的桌面,帧数下降10FPS,大概是23%。
OpenArena v0.8.5
OpenArena的图形精细程度要比之前的Nexuiz低,结果显示Catalyst下面,Metacity和Compiz的表现一模一样。该驱动下面,唯一的变化是GNOME Shell的帧数降低近乎一半。
NVIDIA的闭源驱动,KDE 4.6又是最快的桌面。GNOME Shell+Mutter表现与其它桌面相同。
R600 Gallium3D驱动,GNOME 2.3.2+Metacity依然是最快的,同时Nouveau Gallium3D驱动,KDE是最快的。
Warsow v0.5
很有意思,Warsow游戏是Qfusion引擎开发的,测试结果反馈Unity在AMD显卡上跑这游戏帧数急剧降低,追不上GNOME2/KDE的速度。GNOME Shell继续悲情。
NVIDIA的情况跟之前差不多,KDE依然是最快的,但帧数也相差不大。
World of Padman v1.2
AMD Catalyst驱动下Compiz / Metacity / KWin表现近乎一致,GNOME Shell+Mutter就比较烦,也有图标问题等。
NVIDIA闭源驱动跑这游戏,测试结果KDE不再是跑的最快,是该游戏中跑的最慢的。但是5个对象的帧数都有400+FPS,所以说也不是什么大问题(心之所在:囧……)
开源驱动的表现,有趣的是GNOME Shell+Mutter这次要比KDE+KWin要高。2个开源驱动最快的都是GNOME2.32+Metacity(无混成效果)
需要注意的一点是这次测试的分辨率是1280×1024(普屏分辨率),非面板原生的1920×1080(宽屏分辨率)
Urban Terror v4.1
GNOME Shell的21帧完全可以忽略掉,除非用NVIDIA闭源驱动,不然GNOME Shell完全没法跑这游戏。闭源AMD和NVIDIA驱动的测试数据都差不多。R600g驱动下,GNOME 2.32+Metacity的速度要比KDE快1倍。Nouveau Gallium3D驱动+GeForce9显卡,KDE比GNOME2快一点点。
Lightsmark v2008
最近Lightsmark跟Mesa悲剧了。Nouveau Gallium3D完全没法跑,R600g下,还能在GNOME2+Metacity和KDE下跑。你或许注意到R600g下Lightsmark的帧数要比以前在Phoronix文章出现的要高很多(心之所在:我没法注意到啊,图里只有KDE的38帧,没画出来GNOME2的帧数啊,混蛋),原因不是OpenGL驱动的微调。实际上是很多文本直接在游戏里没渲染,黑的一片。闭源Catalyst表现4个都一样,GNOME Shell跑不起来。
闭源NVIDIA驱动,KDE是最快的,GNOME+Metacity成为最慢的。
Unigine Tropics v1.3
虽然最新的Mesa“能跑起来”Unigine引擎,但在支持必要的OpenGL扩展提供基本的支持上,它的表现离可用还有很长一段路,其还不支持所有AMD、NVIDIA闭源驱动提供的特性。
在Radeon HD 5750上跑吃资源的Unigine Tropics demo,GNOME Shell的表现落后,其它差不多。NVIDIA驱动下,KDE的表现稍微领先,但也不太大。
GNOME Shell 3.0就其在各种开源、闭源驱动上的bug和引起的图形性能倒退来说相当糟。因为Ubuntu依赖主要的Compiz作为窗口管理器,所以Unity表现也不意外,但是最近有些倒退导致开源驱动都没法用。另一件有意思的事情是闭源NVIDIA驱动怎么在KDE+KWin下表现最突出,我们之后还会关注KDE 4.7发布后对比其它驱动的表现(KWin 4.7的变动),包括临时关闭/禁用混成特效的情况。
via phoronix.com
21 FEEDBACKS