/ Статьи / Производи­тель­ность / Сравнение 2D-производительности видеодрайверов для карт NVIDIA в Linux /

Сравнение 2D-производительности видеодрайверов для карт NVIDIA в Linux

Дата публикации: July 17, 2011, 7:44 p.m.
Теги: 2d, видео, nvidia, драйвер,
Автор: Brainsburn

тест 2d производительности

Наконец-то я нашел время для тестирования 2D-производительности видеодрайверов. В этой статье вы найдете сравнение 2D-производительности драйверов для видеокарт NVIDIA: nvidia-drivers, nouveau и xf86-video-nv (или просто nv). Никаких гарантий по точности нижеприведенной информации не даю, тест проводился с помощью скрипта и утилиты x11perf.

lala

lala Если немного отвлечься на 3D, то тут, без сомнения, проприетарные драйвера nvidia-drivers занимают лидирующее положение. Кое-как можно запускать игры на nouveau-gallium драйверах, но их производительность в разы ниже, да и глюков - куча. Ради сравнения покажу вывод glxgears на разных драйверах.

Видеокарта NVIDIA 9600GT,
xf86-video-nv (2d only):
1083 frames in 5.0 seconds = 216.512 FPS
1085 frames in 5.0 seconds = 216.958 FPS
1081 frames in 5.0 seconds = 216.195 FPS
1085 frames in 5.0 seconds = 216.831 FPS
nouveau-gallium:
9512 frames in 5.0 seconds = 1902.365 FPS
9544 frames in 5.0 seconds = 1908.679 FPS
9542 frames in 5.0 seconds = 1908.379 FPS
9538 frames in 5.0 seconds = 1907.548 FPS
nvidia-drivers (проприетарные):
54039 frames in 5.0 seconds = 10807.664 FPS
53386 frames in 5.0 seconds = 10677.081 FPS
53895 frames in 5.0 seconds = 10778.885 FPS
53910 frames in 5.0 seconds = 10781.903 FPS
Разница, как видите, налицо. Пользуюясь случаем, расскажу, как установить и настроить nouveau-gallium.

Если вы используете Gentoo, перед установкой драйверов добавьте в файл /etc/make.conf USE-флаг "gallium" и строку VIDEO_CARDS="nouveau". После этого можно установить сами драйвера командой emerge xf86-video-nouveau и пересобрать mesa с поддержкой gallium. Затем включите поддержку NOUVEAU_DRM в ядре: в разделе "Device Drivers" активируйте "Staging drivers", далее в разделе "Device Drivers -> Staging drivers" деактивируйте "Exclude Staging drivers from being built" и после этого в появившемся списке драйверов вы сможете найти желанные "Nouveau (nVidia) cards (NEW)". Надо понимать, что не просто так их запрятали в ядро так далеко :) Пересоберите ядро и перезагрузитесь. Теперь можно запустить иксы с новыми драйверами.

Если все настроено нормально, в логе иксов можно будет обнаружить что-то вроде этого:

grep DRI /var/log/Xorg.0.log
[    30.823] (II) Loading extension XFree86-DRI
[    30.852] (II) Loading extension DRI2
[    30.905] (II) NOUVEAU(0): Loaded DRI module
[    31.350] (II) NOUVEAU(0): [DRI2] Setup complete
[    31.350] (II) NOUVEAU(0): [DRI2]   DRI driver: nouveau
Для проверки можно посмотреть на вывод glxinfo:
glxinfo | grep -i opengl
OpenGL vendor string: nouveau
OpenGL renderer string: Gallium 0.4 on NV94
OpenGL version string: 2.1 Mesa 7.11-rc1
OpenGL shading language version string: 1.20
Ну а теперь перейдем к тесту.


Сравнение 2D производительности драйверов для видеокарт NVIDIA в Linux

Тем, кто не играет в игры, важна 2D производительность. Я не нашел готовых тестов, поэтому решил провести сравнение собственнолично, используя утилиту x11perf. Сразу оговорюсь, что тест может быть не очень верным. x11perf содержит в себе большой список маленьких тестов, каждый из которых затрагивает только один аспект. Т.к. этих минитестов слишком много, я попытался отсеять лишнее, но не смог сделать одного - отсортировать их по степени важности. На следующих графиках много тестов расположены в рандомном порядке и если один драйвер значительно шустрее показал себя в каком-то одном тесте, то надо понимать, что возможно этот показатель практически не влияет на реальную производительность.

В виду большого разброса по шкале (от 200 до 900000 операций в секунду) я разделил результаты на несколько частей. По вертикали - количество операций в секунду, по горизонтали идут названия тестов. Больше = лучше.

тест 2d производительности
Если я правильно посчитал, то nvidia-drivers лидирует по 1-й позиции; nouveau - по 2-м;
xf86-video-nv - по 3-м.
Nouveau заметно быстрее работает в одном тесте. Выглядит это странно, но я все перепроверял.

тест 2d производительности
nvidia-drivers лидирует в 7-ми тестах;
nouveau - ни в одном;
xf86-video-nv - в 2-х.
В нескольких последних тестах xf86-video-nv заметно проигрывает всем остальным.

тест 2d производительности
nvidia-drivers лидирует в 4-х тестах;
nouveau - ни в одном;
xf86-video-nv - в 3-х.

сравнение 2d производительности

А вообще - считайте сами ;) На первый взгляд кажется, что nvidia-drivers работают заметно быстрее в большинстве тестов, а в остальных - по-крайней мере не сильно отстают. Nouveau работает заметно быстрее лишь в одном тесте и, если честно, я не знаю, насколько он важен. Довольно в большом количестве тестов у nouveau далеко не лучшие результаты. 2D-only драйвер xf86-video-nv с одной стороны работает лучше nouveau, но у него тоже есть очень плохие результаты в нескольких тестах.

Если полагать, что все тесты равнозначны по важности (но мы знаем, что это не так), то на мой взгляд nvidia-drivers является оптимальным вариантом, если вы не питаете ненависти к бинарным блобам. В ином случае ставьте xf86-video-nv. Но если честно, я ожидал немного большего разрыва в производительности, а получилось так, что в одном месте один драйвер лучше, в другом - другой, а в остальных - все одинаково. Как вариант, можно считать, что для 2D работы все драйвера подходят одинаково хорошо :)



Решение проблем с ПК читайте на блоге о компьютерах




Возможно, эти материалы Вас заинтересуют:


Рекомендовать эту страницу:

Комментарии:(2)

# ZZZ July 25, 2017, 4:25 a.m.
“Написание в 1-й” подразумевает “в первой”, а не в одной. Наращения у числительных используются только с порядковыми числительными, не с количественными.

# Brainsburn_ July 30, 2017, 1:14 a.m.
“Написание в 1-й” подразумевает “в первой”, а не в одной. Наращения у числительных используются только с порядковыми числительными, не с количественными.
Спасибо, не знал :)

Комментировать:

Гость, Вы можете оставить свой комментарий.

Стиль кода:
Имя
Сайт * не обязательное поле
Поставьте галку, если вы - бот
Поставьте галку, если вы - человек

Друзья! Убедительная просьба воздержаться от нецензурной лексики!



Справка:
Если вы хотите использовать в тексте комментария специальные символы, например, [ и ], используйте их внутри тега [code] [/code]
Вы можете использовать теги BBcode. Для оформления кода и подсветки синтаксиса используйте тег [code] или [code=название_языка], например, [code=python]
Ссылки вставляйте так: [url]zenux.ru[/url] или так: http://zenux.ru, но не так: zenux.ru
Текст сообщения должен быть в пределах 3000 символов.




Последние комментарии:

xx: > “Не стоит сильно ругать и проклинать По... >>>
Eugene: Галка, внешний вид изменить совершенно не сложно.... >>>
Галка: А сильно сложно Убунту переделывать?... >>>
Brainsburn_: “Написание в 1-й” подразумевает “в первой”, а не в... >>>
ZZZ: “Написание в 1-й” подразумевает &ldquo... >>>