我问这个问题是因为 Unity Desktop 正在运行,当我尝试使用 Ubuntu 12.04.1 玩任何游戏时,Unity 和 Compiz 的帧速率下降严重。如果我切换到使用 mutter 的 Gnome-Classic,我的性能会得到很大的提升。
我的系统是 8 核 AMD,配有 Nvidia 460 SE,可以播放我在 Windows 中输入的任何内容,而且我使用的是最新 Nvidia 驱动程序,但即使是像 Humble Bundle 这样简单的游戏,在使用 Unity 时也会出现严重的滞后,而造成这种情况的唯一原因可能是 compiz(我猜是这样的)。
什么时候Steam 登陆 Ubuntu那么,如何解决这一性能损失呢?
答案1
尝试 Unity 2D 或 Lubuntu。两者都在这里我怎样才能减少 GUI/GPU 带来的滞后——让 Unity 运行得更小、更快、更快?。Lubuntu 不是 Unity 但是是一个轻量级的替代品。
答案2
这可能更像是一条评论而不是答案,但它太大了。我的错。:-(
Unity 曾经基于 Mutter,通过切换到 Compiz 获得了性能提升。看看那里快乐的评论。:-) 所以我认为事情没那么简单;事实证明情况比你所说的更棘手。
当您说“我能想到的一定是 Compiz”时,这听起来有点像是先入为主。Phoronix 和其他人已经写过文章,指出 Compiz 在没有 Unity 的情况下性能会好得多。无论后端是什么,Unity 的要求都很高。这似乎是最大的问题。
独立重写可能需要数年的努力,然后进行优化。(并且肯定会因 NIH 综合症而受到批评。)如果您有实现这一点的具体想法,最好用代码演示,因为想象中的重写通常是空想。“开始清洁”不足以成为创建不同、更好的 OpenGL 合成器和 WM 的规范。:-/ 有一个很好的Joel 关于软件的文章关于从头开始的危险,这可能也适用于此。
对于游戏,我认为 Unity 开发人员仍在研究取消重定向窗口,即不通过 Compiz 传递窗口,而是绕过该层。您可以在 Launchpad 和 Planet Ubuntu 上搜索“取消重定向”。我不知道不久的将来会怎样,但这似乎是他们目前的重点领域之一。
更新,2014年,因为我碰巧回顾了这一点:
自 2013 年以来,整个图形堆栈又重新开始运转。Unity是在没有 Compiz 的情况下进行重写,并且使用一个全新的显示服务器 Mir。