4 votes

Pourquoi Unity n'est-il pas aussi fluide avec le pilote propriétaire Nvidia qu'avec le pilote ouvert Intel ?

J'ai un Thinkpad W520 avec une carte graphique Intel HD3000 embarquée ainsi qu'une puce graphique Nvidia 1000M, et j'utilise Ubuntu 13.04. Je constate une différence assez importante dans la fluidité d'Unity avec Intel et Nvidia.

Bien que les jeux fonctionnent beaucoup mieux avec la carte Nvidia dédiée, Unity semble préférer la carte graphique Intel. Cela est particulièrement visible lors de la minimisation/maximisation de Windows et de l'utilisation de la fonction d'exposition, ainsi que d'autres effets. Comment cela se fait-il ? On pourrait penser qu'une meilleure carte graphique entraîne de meilleures performances de Compiz, mais cela ne semble pas être le cas.

Je ne parle pas vraiment de la lenteur d'Unity, mais plutôt d'une certaine lenteur, car je perds des images, avec Nvidia.

Ce n'est pas un problème d'Optimus car j'ai la chance d'avoir un BIOS qui me permet de choisir ce que je préfère.

Y a-t-il des corrections ou des améliorations que je peux apporter pour améliorer l'apparence et les performances de mon Unity avec les graphiques Nvidia ?

1voto

JoaoHornburg Points 2013

La réponse courte est que les pilotes propriétaires sont optimisés pour exécuter des logiciels propriétaires (c'est-à-dire des jeux), et les pilotes open source sont optimisés pour exécuter des logiciels open source comme Unity et Gnome Shell, et l'optimisation pour une chose tend à rendre tout le reste plus lent.

Unity fonctionne en fait de manière plus fluide avec Nouveau (le pilote Nvidia open source) qu'avec le pilote restreint. Malheureusement, ce n'est pas le cas des jeux (s'ils fonctionnent). La raison en est complexe. Les optimisations utilisées pour les systèmes de fenêtrage sont différentes de celles utilisées pour les jeux, et les développeurs doivent donc souvent choisir l'une ou l'autre.

Unity, et les systèmes de fenêtres en général, n'ont pas besoin d'une carte graphique particulièrement puissante. Ils n'ont pas besoin de centaines de shaders comme les jeux. Ils ont plutôt besoin d'un sous-ensemble très spécifique d'opérations pour être aussi rapides que possible.

Les jeux sont généralement propriétaires et écrits pour Windows où seul le pilote propriétaire est disponible. Les développeurs de jeux ciblent donc ce pilote. Par conséquent, le pilote propriétaire est couramment utilisé par les joueurs, et Nvidia l'optimise pour que les jeux soient rapides.

D'autre part, Unity et Nouveau et Intel sont des logiciels libres. Unity privilégie les pilotes open source parce qu'il est plus facile d'obtenir la correction de leurs bogues et parce qu'ils n'ont pas besoin de fonctionner sur d'autres systèmes d'exploitation. Les pilotes open source ne sont pas beaucoup utilisés par les joueurs et ne sont donc pas optimisés pour les jeux (et donc les joueurs ne les utilisent pas... et ainsi de suite).

Quant à ce que vous pouvez faire pour le réparer : Pas grand chose malheureusement. Ne pas utiliser Compiz est la seule chose qui semble faire une différence, mais cela signifie aussi ne pas utiliser Unity, et la différence n'est pas si grande.

(Si vous constatez vraiment un ÉNORME décalage, et pas seulement une gêne mineure, alors vous avez un réel problème avec votre système).

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X