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

Bha*_*aju 39 unity interface desktop-environments

背景

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

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

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

Lui*_*ado 41

答案在很大程度上取决于导致“缓慢”或更好但 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 在7.x 系列中获得的好处和增强实际上非常令人印象深刻。

Phoronix 和我自己的一些测试表明,对于 Nvidia 卡(我实际上可以做的唯一测试是使用 Nvidia 卡),性能有所提高。不只是 3 或 4 FPS,而是大约 20 到 70 FPS,具体取决于显卡和驱动程序。

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

由于 Unity 需要 Compiz,这将是 FPS 计数低的最大原因,但没有以前那么多,或者至少是 2 个版本之前。在用 Wine 或开源游戏玩视频游戏时运行 Compiz 的 Benchmark 实用程序在 12.10 中为我提供了非常好的 FPS,在我使用最新的 313.xx 系列 Nvidia 测试 13.04 时甚至更高。

应该注意的是,视频性能是 13.04 将要处理的问题之一(并且在 12.10 和 12.04 中在很大程度上),因为 Ubuntu 对其用户和 Steam (Valve) 的承诺。不仅 Ubuntu 和 Valve 致力于此,英伟达和英特尔也加入了许多更新,这些更新一次又一次地提高了 FPS 的数量。如果您正在关注 3.7 和 3.8 内核的改进,您将看到其中的一些。

显卡和驱动版本

众所周知,在性能方面,Nvidia 位居榜首,其次是 Intel 和 Ati(不要将其与易用性混淆,因为 Intel 在这方面要好得多)。Nvidia 的最新驱动程序(例如306.64310.19313.09)都带来了专门针对 Unity 的 OpenGL 性能改进。特别是用于进一步改进 Compiz的 313.09 。

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

因此,总的来说,为每个驱动程序安装最新的驱动程序将提高性能,但拥有 Nvidia 卡将进一步增强性能,其次是 Intel 和 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 将带来总体视频改进

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

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

考虑到这一点,任何自 4.0 版本以来测试过 KDE 的人都知道它在最新的 4.9 版本之前获得了哪些巨大的改进。确实是巨大的。任何测试过 Gnome 3.0 到最新 3.8 版本的人都知道它的性能发生了巨大的变化,任何测试过 Unity 从 3.x 到 6.x(很快还有 7.x)的人都会知道业绩跃升。例如,我想念 gnome2,但有几种情况我不能使用 gnome2,因为 Unity 在帮助我实现其中一些情况方面更加友好和快捷。

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

安装Compiz Config Settings Manager (ccsm)

并使用 OpenGL 插件:

在此处输入图片说明

其中一些选项将提高性能,其他选项我需要避免视频问题。如果有人发现有关此问题的问题,如果他们编辑此答案以在此处包含指向它的链接,我会很高兴。我现在找不到它,但我知道有一个答案谈到了这个。

另一个是更新驱动程序,如果可能,使用 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 , HEREHERE

最后,Intel、Mesa 和 Opengl HEREHEREHERE