web-dev-qa-db-fra.com

Pourquoi Unity est-il un environnement de bureau "lent"?

Contexte

Tout d’abord, ce n’est pas une question d’opinions. Je suppose que nous parlons d’Unity 3D et d’un ordinateur doté d’une configuration graphique correcte. Par "environnement de bureau", je suppose la définition la plus généralement acceptée de ce que signifie un DE.

J'ai vu beaucoup de comparaisons et beaucoup de gens affirmer qu'Unity est l'environnement de bureau le plus lent sur Ubuntu (comparé à d'autres tels que Gnome, XFCE, LXDE, etc.). Je ne sais pas si les gens ont pris KDE en considération ou non.

Question

  • Pourquoi Unity est-il lent par rapport aux autres environnements de bureau? Est-ce juste à cause des graphiques de haut niveau utilisés dans Unity ou de quelque chose d'autre? (Je ne sais pas ce qui dans l'unité le ralentit.).
  • Quels changements peuvent/sont apportés à Unity pour le rendre plus rapide/améliorer ses performances?
39
Forbidden Overseer

La réponse dépend fortement de 3 facteurs principaux contribuant au sentiment de "lent" ou mieux encore, moins de FPS:

  • Version d'Ubuntu (mise à jour et non pas laissée telle quelle lorsqu'elle est sortie)
  • Carte vidéo (ATI, Intel, Nvidia)
  • Version du pilote (propriétaire, Open Source, version actuelle)

Je vais expliquer chaque point:

Version d'Ubuntu

Pour la version d'Ubuntu, il est connu qu'utiliser 11.10 avec Unity sera nul. Rendre le PC vraiment nul à ouvrir même Gedit ou Nautilus dans la plupart des cas. Tenter de jouer à un jeu sous OpenGL ou via Wine avec DirectX ou OpenGL générera moins de FPS que la normale, même par rapport à tout autre DE. Cela change radicalement dans 12.04 puis à nouveau dans 12.10 où le nombre de FPS commence à augmenter.

La dernière en date étant la 12.10, je dois mentionner que pour certains, utiliser 12.10 sans mises à niveau ne résout pas plusieurs problèmes clés résolus dans Compiz et Unity environ un mois après la publication. Ainsi, tout utilisateur 12.10 doit effectuer une mise à niveau pour bénéficier de ces avantages. Cela tient au fait que les deux parties les plus importantes dont on parle quand on pense aux performances FPS et OpenGL sont Unity et Compiz (Compiz étant le plus important en termes d’impact sur les performances).

Les avantages et les améliorations que le projet Compiz obtient dans les séries 0.9.8 et série 0.9.9 et que Unity obtient dans le série 7.x sont en réalité très impressionnant.

Des tests à Phoronix et certains des miens ont montré que pour les cartes Nvidia (les seuls tests que je pouvais réellement faire étaient avec des cartes Nvidia), les performances ont augmenté. Et pas seulement 3 ou 4 FPS, mais environ 20 à 70 FPS en fonction de la carte vidéo et du pilote.

Ceci est important car, en fonction de la version Ubuntu utilisée par l'utilisateur, cela dépendra également de la version Compiz et Unity disponible, ainsi que du coût en performances associé.

Comme Unity a besoin de Compiz, ce sera la principale cause du faible nombre de FPS, mais pas autant qu'avant, ou au moins deux versions antérieures. Exécuter l’utilitaire Benchmark de Compiz en jouant à des jeux vidéo sous Wine ou Open Source m’a donné un très bon FPS en 12.10 et même plus pendant que je testais 13.04 avec la dernière série Nvidia 313.xx.

Il convient de noter que la performance vidéo est l’un des points abordés en 13.04 (et dans une large mesure en 12.10 et 12.04) en raison d’un engagement d’Ubuntu envers ses utilisateurs et Steam (Valve). Non seulement Ubuntu et Valve travaillent-ils sur ce sujet, mais Nvidia et Intel ont également adhéré à de nombreuses mises à jour qui ont dépassé le nombre de FPS à maintes reprises. Si vous suivez les améliorations apportées aux noyaux 3.7 et 3.8, vous en verrez certaines.

Version carte vidéo et pilote

Il est connu que, du point de vue des performances, Nvidia est au top, suivi par Intel et ATI (à ne pas confondre avec la facilité d’utilisation, car Intel est bien meilleur à cet égard). Les derniers pilotes pour Nvidia (Par exemple, 6.64 , 10.19 et 13.09 ) ont tous apporté des améliorations de performances OpenGL spécifiquement pour Unity. Spécialement le 313.09 qui est utilisé pour améliorer encore Compiz .

Maintenant, Nvidia fait beaucoup de travail pour améliorer la route de Compiz/Unity. Intel travaille aussi très fort (très fort) sur plusieurs fonctionnalités clés de Mesa, ce qui devrait améliorer les performances en général pour toutes les cartes vidéo Intel, en particulier les séries 965, 2000 HD, 3000 HD et 4000 HD. Enfin, ATI/AMD propose également plusieurs mises à jour qui résoudront de nombreux bogues et problèmes avec Compiz.

Donc, en général, avoir le dernier pilote pour chacun va améliorer les performances, mais avoir une carte Nvidia l’améliorera davantage, suivi par Intel et ATI.

Après avoir lu tout cela, quels sont les changements apportés pour améliorer les performances en général, en voici quelques-uns:

  • Nvidia travaille depuis plusieurs versions sur l'amélioration des performances d'Unity avec une amélioration de plus de 50% en général par rapport aux anciennes versions.

  • Intel travaille avec Mesa pour améliorer les performances de Unity

  • Ubuntu et Valve travaillent sur l'amélioration des performances pour Compiz et Unity

  • Comme vu dans Launchpad, plusieurs corrections ont été apportées à Compiz pour améliorer la réactivité et les performances en général (y compris l'utilisation de la mémoire et du processeur).

  • Comme dans Launchpad, Unity a reçu de nombreuses corrections concernant la plupart des problèmes rencontrés par les utilisateurs finaux.

  • Compiz a réduit de plus de 50% la quantité de mémoire utilisée il y a un an.

  • Unity se sent plus rapide et plus léger par rapport à la version utilisée il y a un an.

  • Sams Spilsbury effectue les derniers travaux Compiz et Unity pour résoudre certains problèmes courants connus avec Unity.

  • Les versions 3.7 et 3.8 du noyau apporteront des améliorations vidéo en général

Comme vous pouvez le constater, beaucoup de travail est fait pour améliorer Unity et Compiz. Pour être juste, comparer Unity à Xfce ou à Lxde n’est pas juste. C'est comme comparer un vélo à une voiture. Les deux peuvent mieux faire certaines choses. Compiz offre par exemple des effets très soignés que Xfce ou Lxde ne font pas et même si la plupart d'entre nous ne les utilisons pas, ils sont une option (comme l'allume-cigare à l'intérieur de la voiture).

Il en va de même pour comparer KDE, Gnome3 et tout autre DE au DE bas de gamme. Ils sont bas de gamme pour une raison. Ils ont tendance à éviter d’énormes modifications qui auront une incidence sur les performances, tandis que l’ED haut de gamme essaiera d’ajouter des fonctionnalités susceptibles de nécessiter plus de ressources au début. Par exemple, avec des widgets, possibilité de faire pivoter une fenêtre dans la mesure du possible, effet de flou masquant l’arrière-plan ou animation d’un arrière-plan animé. Il existe des options dont bénéficient certaines utilisations proposées par certains postes de travail que d'autres n'ont pas besoin d'utiliser ou utilisent car ils sont plus orientés vers un système bas de gamme.

Dans cet esprit, quiconque teste KDE depuis la version 4.0 sait quelles améliorations majeures il a reçues jusqu'à la dernière version 4.9. Les énormes en effet. Quiconque a testé Gnome 3.0 jusqu’à la dernière version 3.8 connaît les énormes changements de performances qu’il a subis et quiconque a testé Unity de la 3.x à la 6.x (et bientôt 7.x) saura comment le la performance a fait un bond. Par exemple, je manque de gnome2, mais il y a plusieurs cas où je ne peux pas utiliser gnome2 car Unity est beaucoup plus convivial et rapide pour m'aider à résoudre certains de ces cas.

Quels conseils puis-je donner pour améliorer les performances?

Bien installer le Gestionnaire de paramètres Compiz Config (ccsm)

et jouez avec le plugin OpenGL:

enter image description here

Certaines de ces options amélioreront les performances, d’autres auront besoin d’éviter les problèmes de vidéo. Si quelqu'un trouve la question à ce sujet, je serai heureux s'il édite cette réponse pour y inclure un lien. Je ne le trouve pas pour le moment mais je sais qu’une réponse a été donnée à ce sujet.

Autre consiste à mettre à jour les pilotes et, si possible, à l’aide de Nvidia. Sinon, attendre 13.04 en vaut la peine.

Pour certaines revues, voici des points de repère de Phoronix qui vérifient les performances de Unity les 11.04, 12.04, 13.04 et 13.10:

Desktop Benchmark 11.04

Desktop Benchmark 12.04

Desktop Benchmark 13.04

Desktop Benchmark 13.1

Et voici ce qui s’est passé avec Nvidia ces derniers mois

Quelques articles sur ATI/AMD ICI , ICI , ICI et ICI

Enfin, Intel, Mesa et Opengl ICI , ICI et ICI

41
Luis Alvarado