Unity、Compiz、GNOME Shell和KWin对性能的影响评测

心之所在 | 2011/06/04

心之所在:前几日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)的情况。

http://public.bay.livefilestore.com/y1pYXetd-I8sgJ2a4zyBQfCBanebH6FYr6NEOmujSDg-OHGBIF4ELQikWeHMJyEaaSIH6pAkLCqBJ-qcH1sE8jkbA/d.jpg?psid=1

开源驱动主要是社区维护管理,但就算用官方ATI/AMD Catalyst Linux 驱动还是有问题。在Unity和GNOME Shell(v3.0.2)一起用时,图标经常丢失,其它情况的图形模糊花掉(corruption)发生。

http://public.bay.livefilestore.com/y1plh13PHr-EUvyhzH7tvNR03OlB4kal2FgSadTfaHmTvk0-GLQ-SXTaCwSWJt4vizmgAj-w6Y67FDulBK4Eaw9Lg/f.jpg?psid=1

这个问题在用Ubuntu 11.04的GNOME3 PPA源,和Natty源中的官方fglrx驱动时发生。但就算是Phoronix能拿到的最新保密协定(NDA)的Catalyst驱动,这问题还是存在。此时的GNOME Shell比起桌面更像是俄罗斯方块。

http://public.bay.livefilestore.com/y1plh13PHr-EUvBESZ2SbicZJRdNT0RNV3upXQmhFnswDQK-bjpZb7o7Rq8VO_EobUHpI8LzKd9pQlZneFYT6Hj8w/s.jpg?psid=1

跑遍测试,唯一没遇到明显问题的是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

http://public.bay.livefilestore.com/y1pWpjQbZ_i2h3ogvTFt7hClvHuIRKqfclXTCJCxFZJnnytqKuw2Wvy04-VYDUAY182x_SAv37Y8dSB6Y3pWIjnAA/1.png?psid=1

从 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

http://public.bay.livefilestore.com/y1phRaC0-I8uzlK_EAFoKFGyAh4nUUaJ2vTLq5HZvhPvDeyantQ03Dw-xFTHzZWOHefnMHkoiPk8xmZnTNU-Mix2A/2.png?psid=1

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

http://ow9msq.bay.livefilestore.com/y1p4Tv0wSnSqYO4uyAS5KX_OTaa6XaP13BqeLRCM4ov411myZdQy7KvrIldIFVMGgZw7KjcWOQZnyl1KyBUo4AHSnYtpwTu1Qrw/3.png?psid=1

很有意思,Warsow游戏是Qfusion引擎开发的,测试结果反馈Unity在AMD显卡上跑这游戏帧数急剧降低,追不上GNOME2/KDE的速度。GNOME Shell继续悲情。

NVIDIA的情况跟之前差不多,KDE依然是最快的,但帧数也相差不大。

World of Padman v1.2

http://ow9msq.bay.livefilestore.com/y1pNWXZLoB08UgSa3tbtfG1_HeIeQ9p-lh9f8_zfzmQlB2jUQXrFr9_4ivrkfvDcYYihmcok068K8mQNEfQUplvtUp8Mkm8aNj5/4.png?psid=1

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

http://ow9msq.bay.livefilestore.com/y1pCmbbLfrGRoI0cqCMO88E0jZsjC_LlrwluVPgfIU5KZXAWbgMw9jGLIsk9NehUu_EHJiUIJ6OpFA7t32mvS22bOW0PtNWnges/5.png?psid=1

GNOME Shell的21帧完全可以忽略掉,除非用NVIDIA闭源驱动,不然GNOME Shell完全没法跑这游戏。闭源AMD和NVIDIA驱动的测试数据都差不多。R600g驱动下,GNOME 2.32+Metacity的速度要比KDE快1倍。Nouveau Gallium3D驱动+GeForce9显卡,KDE比GNOME2快一点点。

Lightsmark v2008

http://ow9msq.bay.livefilestore.com/y1p898_6LIye-9uTGs21IbwzVXHqpE2cB1bjiWNy9rK8BVToaWxJf3bhZTYHGeAfIFueCF-nxe32Gz9itbEIalCe-lHkZGE5YSd/6.png?psid=1

最近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

http://ow9msq.bay.livefilestore.com/y1pf41l4v5PrqknJD_dFPHZK7lyxu3gi19lUPKhVhXU6XkpD7R-CS48_1aEH77bhC-cC1K_73i3xVlftaqGvRXbXjhG6ECR92gf/7.png?psid=1

虽然最新的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

    泰达希尔-德鲁伊
    Tags: , , , ,

    21 FEEDBACKS

    Leave a Reply to zhangyou Cancel reply

    Your email address will not be published. Required fields are marked *

    Note: Commenter is allowed to use '@User+blank' to automatically notify your reply to other commenter. e.g, if ABC is one of commenter of this post, then write '@ABC '(exclude ') will automatically send your comment to ABC. Using '@all ' to notify all previous commenters. Be sure that the value of User should exactly match with commenter's name (case sensitive).

    This site uses Akismet to reduce spam. Learn how your comment data is processed.