为什么Unity是一个“慢”的桌面环境?

背景

首先,这不是一个关于意见的问题。 我假设我们正在讨论Unity 3D和具有良好图形配置的计算机。 通过“桌面环境”,我假设DE的意思是最普遍接受的定义。

我已经看到很多比较,很多人说Unity是Ubuntu上最慢的桌面环境(与其他像Gnome,XFCE,LXDE等相比)。 我不知道人们是否考虑了KDE。

  • 与其他桌面环境相比,为什么Unity会变慢? 是仅仅因为Unity中使用的高图形或其他东西? (我不知道统一是什么让它运行缓慢。)
  • 可以/正在对Unity进行哪些更改以使其更快/改善其性能?

答案很大程度上取决于导致“缓慢”或更好,FPS更少的3个主要因素:

  • Ubuntu的版本(已更新,不仅仅是在它发布时保留)
  • 显卡(Ati,Intel,Nvidia)
  • 驱动程序版本(专有,开源,实际版)

我会解释每一点:

Ubuntu的版本

对于Ubuntu的版本,众所周知,使用11.10与Unity会很糟糕。 在大多数情况下,即使打开Gedit或Nautilus,也会使PC瘫痪。 尝试使用OpenGL或通过Wine与DirectX或OpenGL玩游戏将导致FPS低于正常情况,即使与任何其他DE相比也是如此。 这在12.04急剧变化,然后在12.10再次变化,其中FPS计数开始上升。

由于最新的是12.10,我应该提到,对于一些人来说,使用12.10而不升级并不能解决在发布后一个月内在Compiz和Unity中修复的几个关键问题。 因此任何12.10用户都必须升级才能获得此优惠。 这是因为在考虑FPS和OpenGL性能时,最常见的两个部分是Unity和Compiz(Compiz是性能影响最重要的部分)。

Compiz项目在整个0.9.8系列和0.9.9系列以及Unity中获得的优势和增强function实际上非常令人印象深刻。

Phoronix和我自己的一些测试显示,对于Nvidia卡(我实际上只能使用Nvidia卡进行测试),性能上升了。 不仅仅是3或4 FPS,而是大约20到70 FPS,具体取决于video卡和驱动程序。

这很重要,因为根据用户使用的Ubuntu版本,它还将取决于可用的Compiz和Unity版本,以及随之而来的性能成本。

由于Unity需要Compiz,这将是FPS计数较低的最大原因,但不像以前那么多,或者至少有2个版本。 在使用Wine或Open Source的video游戏时运行Compiz的Benchmark实用程序在12.10中给了我非常好的FPS,而在我使用最新的313.xx系列Nvidia测试13.04时更是如此。

应该注意的是,由于Ubuntu对其用户和Steam(Valve)的承诺,video性能是将在13.04(以及12.10和12.04中的某个程度)处理的要点之一。 Ubuntu和Valve不仅在此工作,而且Nvidia和英特尔也加入了许多更新,这些更新一次又一次地突破了FPS计数。 如果您正在关注3.7和3.8内核的改进,您将看到其中的一些内容。

video卡和驱动程序版本

众所周知,性能方面,Nvidia是最重要的,其次是英特尔和Ati(这不要与易用性相混淆,因为英特尔要好得多)。 Nvidia的最新驱动程序(例如306.64,310.19和313.09 )都为Unity带来了OpenGL性能改进。 特别是313.09,用于进一步改善Compiz 。

现在,不仅Nvidia做了很多工作来改善Compiz / Unity的道路。 英特尔在Mesa的几个关键function上也很努力(非常努力),这应该可以提高所有英特尔显卡的性能,特别是965,2000 HD,3000 HD和4000 HD系列。 最后,Ati / AMD还进行了一些更新,这些更新将修复Compiz的许多错误和问题。

因此,一般来说,拥有最新的驱动程序将提高性能,但拥有Nvidia卡将增强它,其次是英特尔和Ati。

在阅读了所有这些之后,正在进行哪些改进以改善整体性能,这里有一些:

  • 自几个版本以来,Nvidia一直致力于提高Unity性能,与旧版本相比,其性能提升了50%以上

  • 英特尔正在与Mesa合作以提高Unity性能

  • Ubuntu和Valve正致力于提高Compiz和Unity的性能

  • 正如在Launchpad中看到的那样,对Compiz进行了一些修复,以提高响应速度和更好的性能(包括内存和CPU使用)

  • 正如Launchpad中所见,Unity已经收到许多关于最终用户遇到的大多数问题的修复

  • Compiz将一年前使用的内存量降低了50%以上。

  • 与一年前使用的版本相比,Unity感觉更快更轻。

  • Sams Spilsbury为最新的Compiz和Unity做了一些工作,它将解决Unity已知的一些常见问题。

  • 内核版本3.7和3.8将带来一般的video改进

正如您所看到的,正在做很多工作来改进Unity和Compiz。 公平地说,将Unity与Xfce或Lxde进行比较是不公平的。 这就像比较自行车和汽车。 两者都可以做得更好。 Compiz提供了一些Xfce或Lxde没有的非常整洁的效果,即使我们大多数人不使用它们,它们也是一种选择(就像车内的点烟器一样)。

将KDE,Gnome3和任何其他DE与低端DE进行比较也是如此。 他们是低端的原因。 他们倾向于避免做出会影响性能的巨大变化,而高端DE会尝试添加可能在开始时需要更多资源的function。 例如,拥有小部件,能够将窗口旋转到任何可能的程度,具有隐藏背景或具有动画背景的模糊效果。 有些用户喜欢的选项是由其他人不需要或使用的某些桌面提供的,因为它们更倾向于低端系统。

考虑到这一点,任何自4.0发布以来测试过KDE的人都知道在最新的4.9版本之前它已经获得了巨大的改进。 确实是巨大的。 任何已经测试过Gnome 3.0到最新的3.8版本的人都知道它已经收到的性能发生了巨大的变化,而且从3.x到6.x(很快就是7.x)测试Unity的任何人都会知道表现有所提升。 我有一个想念gnome2例如,但有几种情况我不能使用gnome2,因为Unity更友好,更快速地帮助我实现了一些这样的情况。

那么我可以提供哪些提示以提高性能?

好吧安装Compiz配置设置管理器 (ccsm)

并使用OpenGL插件:

在此处输入图像描述

其中一些选项可以提高性能,还有一些我需要避免video问题。 如果有人发现了这个问题,我会很高兴,如果他们编辑这个答案,在这里包含一个链接。 我现在找不到,但我知道有一个答案谈到这一点。

其他是更新驱动程序,如果可能,使用Nvidia。 除此之外,等待13.04将是值得的。

对于一些评论,这里是Phoronix的基准测试,检查Unity在11.04,12.04,13.04和13.10上的表现:

桌面基准测试11.04

桌面基准测试12.04

桌面基准测试13.04

桌面基准测试13.10

这就是Nvidia过去几个月发生的事情

还有一些关于Ati / AMD HERE , HERE , HERE和HERE的文章

最后,Intel,Mesa和Opengl在这里 , 这里和这里