Warum ist Unity eine "langsame" Desktop-Umgebung?

39

Hintergrund

Zunächst einmal geht es hier nicht um Meinungen. Ich gehe davon aus, dass wir über Unity 3D sprechen und auf einem Computer mit anständiger Grafikkonfiguration. Unter "Desktop-Umgebung" gehe ich von der allgemein anerkannten Definition einer DE aus.

Ich habe viele Vergleiche gesehen und viele Leute sagten, dass Unity die langsamste Desktop-Umgebung auf Ubuntu ist (verglichen mit anderen wie Gnome, XFCE, LXDE usw.). Ich weiß nicht, ob Leute KDE in Betracht gezogen haben oder nicht.

Frage

  • Warum ist Unity im Vergleich zu anderen Desktop-Umgebungen langsam? Liegt es nur an der hohen Grafik, die in Unity verwendet wird, oder an etwas anderem? (Ich weiß nicht, was in der Einheit dazu führt, dass es langsam läuft.)
  • Welche Änderungen können / werden an Unity vorgenommen, um es schneller zu machen / seine Leistung zu verbessern?
Bharadwaj Srigiriraju
quelle
Aufgrund der aktuellen Benchmarks glaube ich nicht, dass Ihre Prämisse korrekt ist.
Belacqua
Ich denke, dieser Kommentar wäre hilfreicher gewesen, wenn Sie Links zu den aktuellen Benchmarks angegeben hätten, über die Sie sprechen. Es muss auch berücksichtigt werden, dass diese Frage vor mehr als einem halben Jahr gestellt wurde.
Bharadwaj Srigiriraju
Benchmarks für Pre-Release 13.04 in der Antwort von Luis Alvarado. Siehe auch die gleiche Phoronix-Site / verwandte Artikel für neuere. Die Tatsache, dass dies jetzt eine ältere Frage ist, ist genau der Grund, warum ich hier den Vorbehalt zu "aktuellen" Benchmarks einlege.
Belacqua
Wird Ihr Home-Verzeichnis von NIS gesteuert? Ich bin kürzlich auf sehr schlechte Unity gestoßen, aber nur für meine NIS-Anmeldung, deren Ausgangsverzeichnis sich auf einer Netzwerkfreigabe befindet. Für einen lokalen Benutzer schien die Leistung besser zu sein.
Stephen Quan

Antworten:

41

Die Antwort hängt stark von drei Hauptfaktoren ab, die zum Gefühl von "langsam" oder besser, weniger FPS beitragen:

  • Ubuntu-Version (aktualisiert, nicht nur beim Erscheinen belassen)
  • Grafikkarte (Ati, Intel, Nvidia)
  • Treiberversion (proprietär, Open Source, aktuelle Version)

Ich werde jeden Punkt erklären:

Version von Ubuntu

Für die Version von Ubuntu ist bekannt, dass die Verwendung von 11.10 mit Unity nicht funktioniert. In den meisten Fällen wird der PC sogar dazu gebracht, Gedit oder Nautilus zu öffnen. Der Versuch, ein Spiel in OpenGL oder über Wine mit DirectX oder OpenGL zu spielen, führt zu weniger FPS als normal, selbst im Vergleich zu anderen DEs. Dies ändert sich drastisch in 12.04 und dann wieder in 12.10, wo die FPS-Anzahl zu steigen beginnt.

Da es sich bei der neuesten Version um die Version 12.10 handelt, sollte erwähnt werden, dass die Verwendung von 12.10 ohne Upgrades für einige wenige wichtige Probleme, die etwa einen Monat nach der Veröffentlichung in Compiz und Unity behoben wurden, keine Lösung darstellt. Daher muss jeder 12.10-Benutzer ein Upgrade durchführen, um diese Vorteile zu erhalten. Dies liegt daran, dass die beiden wichtigsten Elemente, über die gesprochen wird, wenn es um die Leistung von FPS und OpenGL geht, Unity und Compiz sind (Compiz ist das wichtigste Element, wenn es um Leistungseinbußen geht).

Die Vorteile und Verbesserungen, die das Compiz-Projekt sowohl in der 0.9.8-Serie als auch in der 0.9.9-Serie und Unity in der 7.x-Serie erzielt, sind tatsächlich sehr beeindruckend.

Tests in Phoronix und einige meiner eigenen haben gezeigt, dass die Leistung bei Nvidia-Karten (die einzigen Tests, die ich tatsächlich durchführen konnte, waren bei Nvidia-Karten) gestiegen ist. Und nicht nur 3 oder 4 FPS, sondern ungefähr 20 bis 70 FPS, abhängig von der Grafikkarte und dem Treiber.

Dies ist wichtig, da es abhängig von der vom Benutzer verwendeten Ubuntu-Version auch von der dafür verfügbaren Compiz- und Unity-Version und den damit verbundenen Leistungskosten abhängt.

Da Unity Compiz benötigt, ist dies die häufigste Ursache für eine geringe FPS-Anzahl, jedoch nicht mehr so ​​häufig wie zuvor oder vor mindestens zwei Versionen. Das Ausführen des Benchmark-Dienstprogramms von Compiz beim Spielen von Videospielen in Wine oder Open Source brachte mir in 12.10 sehr gute FPS und noch mehr, während ich 13.04 mit der neuesten Nvidia-Serie 313.xx teste.

Es sollte beachtet werden, dass die Videoleistung einer der Punkte ist, die in 13.04 (und zu einem großen Teil in 12.10 und 12.04) behandelt werden, weil Ubuntu sich für seine Benutzer und Steam (Valve) einsetzt. Ubuntu und Valve arbeiten nicht nur daran, sondern Nvidia und Intel haben sich auch mit vielen Updates zusammengetan, die die FPS-Zahl immer wieder erhöht haben. Wenn Sie den Verbesserungen des 3.7- und 3.8-Kernels folgen, werden Sie einige davon sehen.

Grafikkarte & Treiberversion

Es ist bekannt, dass Nvidia in puncto Leistung die Nase vorn hat, gefolgt von Intel und Ati (nicht zu verwechseln mit der Benutzerfreundlichkeit, da Intel darin viel besser ist). Die neuesten Treiber für Nvidia (z. B. 306.64 , 310.19 und 313.09 ) haben alle OpenGL-Leistungsverbesserungen speziell für Unity gebracht. Speziell der 313.09, mit dem Compiz noch weiter verbessert wird .

Nun arbeitet Nvidia nicht nur intensiv an der Verbesserung von Compiz / Unity. Intel arbeitet auch hart (sehr hart) an mehreren Schlüsselfunktionen für Mesa, die die Leistung im Allgemeinen für alle Intel-Grafikkarten verbessern sollten, insbesondere für die Serien 965, 2000 HD, 3000 HD und 4000 HD. Zu guter Letzt hat Ati / AMD auch einige Updates gemacht, die viele Fehler und Probleme mit Compiz beheben.

Im Allgemeinen wird die Leistung verbessert, wenn Sie für jeden Treiber den neuesten Treiber haben. Wenn Sie jedoch eine Nvidia-Karte verwenden, wird die Leistung weiter verbessert, gefolgt von Intel und Ati.

Nachdem Sie all dies gelesen haben, werden folgende Änderungen vorgenommen, um die Leistung im Allgemeinen zu verbessern:

  • Nvidia arbeitet seit mehreren Versionen an der Verbesserung der Unity-Leistung mit einer generellen Verbesserung von über 50% gegenüber älteren Versionen

  • Intel arbeitet mit Mesa zusammen, um die Leistung von Unity zu verbessern

  • Ubuntu und Valve arbeiten daran, die Leistung von Compiz und Unity zu verbessern

  • Wie in Launchpad zu sehen, gibt es mehrere Fehlerbehebungen für Compiz, um die Reaktionszeit und die Leistung im Allgemeinen zu verbessern (einschließlich Speicher- und CPU-Auslastung).

  • Wie in Launchpad zu sehen ist, hat Unity viele Korrekturen in Bezug auf die meisten Probleme erhalten, auf die Endbenutzer gestoßen sind

  • Compiz hat den vor einem Jahr verbrauchten Speicher um mehr als 50% reduziert.

  • Die Einheit fühlt sich schneller und leichter an als vor einem Jahr.

  • Es gibt einige Arbeiten von Sams Spilsbury für das neueste Compiz und Unity, die sich mit einigen bei Unity bekannten Problemen befassen.

  • Die Kernel-Versionen 3.7 und 3.8 werden im Allgemeinen Videoverbesserungen bringen

Wie Sie sehen, wird viel daran gearbeitet, Unity und Compiz zu verbessern. Um fair zu sein, ist es nicht fair, Unity mit Xfce oder Lxde zu vergleichen. Das ist wie ein Fahrrad mit einem Auto zu vergleichen. Beide können einige Dinge besser machen. Compiz bietet zum Beispiel einige sehr nette Effekte, die Xfce oder Lxde nicht bieten, und obwohl die meisten von uns sie nicht verwenden, sind sie eine Option (wie der Zigarettenanzünder im Auto).

Gleiches gilt für den Vergleich von KDE, Gnome3 und anderen DEs mit Low-End-DEs. Sie sind aus einem Grund Low-End. Sie neigen dazu, große Änderungen zu vermeiden, die sich auf die Leistung auswirken, während High-End-DE zu Beginn versucht, Funktionen hinzuzufügen, die möglicherweise mehr Ressourcen in Anspruch nehmen. Zum Beispiel mit Widgets, der Möglichkeit, ein Fenster in einem beliebigen Grad zu drehen, mit einem Unschärfeeffekt, der den Hintergrund verbirgt, oder mit einem animierten Hintergrund. Es gibt Optionen, die einige Benutzer bevorzugen und die von einigen Desktops angeboten werden, die andere DE nicht benötigen oder verwenden, da sie eher auf ein Low-End-System ausgerichtet sind.

Vor diesem Hintergrund weiß jeder, der KDE seit der Version 4.0 getestet hat, welche enormen Verbesserungen es bis zur neuesten Version 4.9 erhalten hat. Riesige in der Tat. Jeder, der Gnome 3.0 bis zur neuesten Version 3.8 getestet hat, weiß um die enormen Leistungsänderungen, die es erfahren hat, und jeder, der Unity von 3.x bis 6.x (und bald 7.x) getestet hat, weiß, wie die Leistung ist gesprungen. Ich vermisse zum Beispiel gnome2, aber es gibt einige Fälle, in denen ich gnome2 nicht verwenden kann, da Unity mir viel freundlicher und schneller dabei hilft, einige dieser Fälle zu erreichen.

Welche Tipps könnte ich geben, um die Leistung zu verbessern?

Installieren Sie nun den Compiz Config Settings Manager (ccsm)

und spiele mit dem OpenGL Plugin:

Bildbeschreibung hier eingeben

Einige dieser Optionen verbessern die Leistung, andere brauchte ich, um Videoprobleme zu vermeiden. Wenn jemand die Frage dazu findet, würde ich mich freuen, wenn er diese Antwort bearbeitet und hier einen Link dazu hinzufügt. Ich kann es momentan nicht finden, aber ich weiß, dass es eine Antwort gab, die darüber sprach.

Andere aktualisiert die Treiber und verwendet, wenn möglich, Nvidia. Ansonsten lohnt es sich, auf den 13.04 zu warten.

Hier einige Benchmarks von Phoronix, die die Leistung von Unity am 11.04., 12.04., 13.04. Und 13.10. Überprüfen:

Desktop Benchmark 11.04

Desktop Benchmark 12.04

Desktop Benchmark 13.04

Desktop Benchmark 13.10

Und genau das ist bei Nvidia in den letzten Monaten passiert

Auch einige Artikel über Ati / AMD HIER , HIER , HIER und HIER

Zuletzt Intel, Mesa und Opengl HIER , HIER und HIER

Luis Alvarado
quelle
1
Gerne helfen @ BullfrogBlues ^^. Ich empfehle immer, alle Varianten von Ubuntu auszuprobieren, damit Sie die einzelnen Desktops kennenlernen und wissen, wie sie gedacht wurden.
Luis Alvarado
Wenn ich 13.04 von Gnom 3 in 12.04 zur Einheit zurückkehre, kann ich sagen, dass die Einheit jetzt schneller ist. Außerdem gnome-shellsteckt es voller Fehler, die die CPU auch im Leerlauf voll ausnutzen. Mein einziger Kritikpunkt an Unity ist die Symbolleiste.
user117