Смог ли Wayland приблизить крах Windows?
Мне было крайне любопытно провести сравнение производительности 3D графики под Wayland и X11, а заодно и сравнить результаты с тем же железом под Windows.
В повседневных задачах Wayland демонстрирует неоспоримые преимущества по сравнению с X11. Однако, когда речь идет о производительности полноэкранных приложений, ситуация остается неоднозначной. В отличие от X11, где использование композитора является необязательным, в Wayland по умолчанию всегда используется вертикальная синхронизация (VSync) для полноэкранных приложений.
В конце 2022 года в Wayland была добавлена возможность отключения VSync, однако, в моём случае, я не смогла сделать это. Поэтому было принято решение провести сравнительное исследование производительности 3D-графики при использовании протокола Wayland, сервера X11 и сравнить результаты с производительностью в Windows.
Тестовые стенды
Для проведения сравнительного анализа производительности 3D-графики были выбраны три видеокарты:
- NVIDIA GeForce GTX 1080 Ti;
- AMD Radeon RX 580;
- AMD Radeon PRO Vega 7 — интегрированная в процессор AMD Ryzen 7 PRO 4750U.
В качестве тестируемого программного обеспечения были выбраны игра Counter-Strike: Global Offensive и бенчмарк Unigine Heaven.
Следует отметить, что тестирование на различных устройствах проводилось в разные временные промежутки, поэтому сравнивать их результаты напрямую будет не совсем корректно. Однако это позволяет выявить определенные закономерности и корреляции.
Особенности при тестировании
Для запуска игры CS:GO под Wayland потребовалось использовать следующие параметры запуска:
-novid -high -fullscreen env SDL_VIDEODRIVER=wayland -vulkan

Аналогично, для X11 использовались следующие параметры:
-novid -high -fullscreen env SDL_VIDEODRIVER=x11 -vulkan
Без явного указания SDL-видеодрайвера игра запускалась через XWayland, что оказывало негативное воздействие на производительность. Параметр -vulkan
также позволял повысить производительность, благодаря использованию более современного API. Без опции -fullscreen
игра в графической оболочке GNOME работала только в оконном режиме.
Кроме того, параметры -novid
и -high
применялись также и при запуске игры под Windows. Первый параметр позволял пропустить заставку, а второй приоритизировал процесс игры.
Результаты тестирования в бенчмарке
Рассмотрим результаты бенчмарка Unigine Heaven, так как у нас есть наиболее полные данные по нему. Для каждой видеокарты было проведено по 4 измерения производительности:
- В Linux под Wayland с использованием OpenGL;
- В Linux по X11 с использованием OpenGL;
- В Windows с использованием OpenGL;
- В Windows с использованием DirectX 11.
Тестирование AMD Radeon RX 580




По итогам анализа различий в производительности между наилучшим и наихудшим результатом для каждой видеокарты выявлено, что разница составила всего лишь 16%. Интересно, что данная видеокарта проявила себя лучше с использованием OpenGL, чем с DirectX 11.
Тестирование AMD Radeon PRO Vega 7
Теперь проведем тестирование на ноутбуке ThinkPad P14s Gen.1 c процессором AMD Ryzen PRO 4750U и видеокарте AMD Radeon PRO Vega 7.




Результаты для данной видеокарты оказались впечатляющими! Прирост производительности на Windows с DirectX 11.0 по сравнению с Linux на Wayland с OpenGL составил целых 39,14%!
Для владельцев подобных видеокарт, на мой взгляд, стоит предпочесть Windows, если им важна производительность в 3D-приложениях. Это особенно удивительно, учитывая, что данный ноутбук относится к категории мобильных рабочих станций и в некоторых конфигурациях поставляется с предустановленной Red Hat Enterprise Linux.
Тестирование NVIDIA GeForce GTX 1080 Ti
Теперь проведем тестирование на видеокарте NVIDIA GeForce GTX 1080 Ti с использованием проприетарного драйвера.




В отличие от AMD, NVIDIA продемонстрировала лучший результат на Wayland, а не на X11. Тем не менее, этому факту я бы не уделяла много внимания, поскольку работать с NVIDIA под Wayland — это довольно неприятное занятие. Несмотря на то, что официальная поддержка Wayland началась с версии 515 драйвера, даже на последней доступной на момент написания этой статьи версии 537 ситуация не улучшилась. По-прежнему использовать NVIDIA под Wayland остается практически невозможным.
Сравнение в Counter-Strike
Заодно, сравним производительность Windows и Linux в реальной игре.




Заметно, что в данной игре Windows демонстрирует определенное, хоть и не слишком значительное, преимущество в производительности. Даже использование современного API Vulkan не позволяет полностью компенсировать это преимущество.
Преимущество Windows на видеокарте RX 580 составляет 6,27%, а на Vega 7 — 14,49%.
Подведение итогов
Несмотря на различные условия, в которых проводились сравнения на разных устройствах — разные операционные системы, разные версии программного обеспечения, разрешения экрана и настройки графики, мы можем вывести некоторые общие закономерности.
Из полученных результатов, ни в коем случае не следует делать никаких выводов о сравнительной производительности различных видов оборудования между собой.


Сведя все полученные результаты в единую диаграмму, можно сделать следующие выводы:
- Производительность графики в Windows всё равно остается выше, чем в Linux;
- Производительность графики в полноэкранных приложениях под X11 на видеокартах AMD немного выше, чем на Wayland;
- На некоторых устройствах разница в производительности между различными операционными системами и программным обеспечением может быть существенной.