Почему игры на Linux работают хуже нежели на Windows

Пост опубликован в блогах iXBT.com, его автор не имеет отношения к редакции iXBT.com
| Мнение | Игры

Вопрос о переходе геймеров на Linux упирается в проблему, о которой в сообществе Open source не принято говорить: запуск игр, разработанных изначально под Windows, влечёт за собой потерю производительности. В этом материале мы разберём, почему игры на Linux часто работают хуже, нежели на Windows, и с чем это связано.

Автор: CD Projekt RED Источник: steamcommunity.com

Разные миры

Компания Microsoft десятилетиями развивала Windows как единую платформу, пытаясь охватить как можно больше направлений: домашний, бизнес и серверный сегменты. В то время как Linux стала незаменима в серверном сегменте. Основные силы крупных корпораций, которые в реальности и отвечают за поддержку и развитие Linux (Red Hat/IBM, Canonical, SUSE, Google, Intel), направлены на оптимизацию системы для корпоративных, серверных и облачных задач. Им практически нет никакого дела до Linux на домашнем компьютере. В отличие от Microsoft, заинтересованной в развитии Windows, в том числе и для игр. Конечно, компания Valve пытается как-то повлиять на ситуацию, поддерживая работу энтузиастов и выпуская новые продукты на базе SteamOS (Arch Linux), но это скорее попытка сделать «запасной аэродром», нежели навязать реальную конкуренцию Windows. Что отчётливо подтверждается статистикой Steam, где доля пользователей Linux из года в год не превышает 4%.

Автор: Valve и пользователи Steam Источник: store.steampowered.com

Поддержка и накладные расходы

Как я уже писал ранее в своей статье «Стоит ли геймерам переходить на Linux», существуют огромные проблемы с поддержкой устройств и внедрением новейших технологий в самую свободолюбивую ОС в мире. Драйверы для Linux значительно отстают от версий для Windows. Производители игровой периферии и GPU в первую очередь оптимизируют свои устройства под творение Билла Гейтса, где сосредоточено большинство игроков. Да, существуют решения от энтузиастов: Mesa, NVK, RADV и т. д. Но их состояние зависит от сообщества, которое, к огромному сожалению, в последние годы скорее подбирает остатки крошек со стола корпораций, нежели самостоятельно разрабатывает и внедряет новейшие технологии.

Кроме того, проблему усугубляет сама реализация запуска игр на Linux. Чтобы запустить игру, изначально разработанную для Windows, необходимо задействовать сторонние реализации Windows API (Proton/Wine), а также библиотеки ретрансляции кода (DXVK/VKD3D), переводящие графические вызовы DirectX в API Vulkan. Но в программировании, как и в жизни, ничего бесплатного не бывает.

Автор: Microsoft, Филипп Реболе, Khronos Group

Сначала Wine/Proton «эмулирует» Windows API: транслирует системные вызовы, имитирует управление памятью, синхронизирует потоки. Затем в дело вступает DXVK/VKD3D. Ретранслятор разбирает шейдеры, преобразуя их в промежуточный язык SPIR‑V; транслирует команды D3D11/D3D12 в Vulkan, который, в свою очередь, пересоздаёт (отрисовывает) игровые ресурсы. Наконец, ретранслируемый код исполняется на железе. Но всё это «великолепие» требует значительных ресурсов ПК, порождает задержки ввода и практически всегда обеспечивает более низкие значения FPS по сравнению с игрой, запущенной на Windows.

Тестирование игр

Проведём наглядное тестирование, где сравним Windows 11 Pro (22H2) и Kubuntu 24.04 LTS. Обе системы будут работать на бюджетном китайском ноутбуке на базе процессора Intel Celeron N5095, 16 ГБ RAM и встроенной графикой Intel UHD Graphics (Jasper Lake, 16 EU). Данная конфигурация звёзд с неба не хватает, но именно на подобные устройства чаще всего и устанавливают Linux в надежде заполучить заветную прибавку к FPS.

Counter Strike: Source (Native)

Компания Valve проделала выдающуюся работу по адаптации своих игр под Linux: разница производительности между двумя ОС составила менее 20 FPS. Что вполне ожидаемо, учитывая отсутствие необходимости в ретрансляции кода при запуске нативной игры и, как следствие, дополнительных накладных расходов. Игра взаимодействует с графическим API и железом ПК без лишних посредников.

Metro 2033 (DX9)

В случае с играми, транслируемыми через DXVK, ситуация уже не столь радужная. Ретрансляция кода создаёт повышенную нагрузку на ПК, что отчётливо видно по возросшим показателям потребления RAM и нагрузки на CPU. Каждый вызов DirectX должен быть в реальном времени интерпретирован и преобразован в эквивалентную команду API Vulkan, что заставляет CPU выполнять дополнительные просчёты и выделять больше памяти под данные. В конечном итоге игровой процесс превращается в «желе», появляются микрофризы и лаги. Играть, конечно, можно, но уже не так приятно, как на Windows. Тринадцать FPS в пользу творения Билла Гейтса.

TES V: Skyrim Special Edition (DX11)

Ситуация повторяется. Задействование DXVK повышает нагрузку на ПК, что неизбежно ведёт к отставанию и более худшему игровому опыту, нежели с игрой на Windows.

Resident Evil 6 (Benchmark)

Итоговый тест производительности, задействующий равномерно все компоненты ПК, успешно подтверждает полученные ранее результаты: трансляция кода не берётся из воздуха, её выполнение требует дополнительных системных расходов. Так что столь любимый поклонников Linux аргумент о меньшем потреблении их самой свободной и независимой ОС ресурсов ПК в играх имеет место быть только в том случаи, когда речь заходит о нативных проектов. Что в эпоху Steam Deck и Proton звучит довольно нелепо. Разница в производительности между Windows и Linux составила 20%.

Заключение

Миф о том, что игры на Linux работают даже лучше, чем на Windows, относительно справедлив лишь для узкой категории нативных проектов, изначально разработанных с учётом особенностей ОС. В таких исключительных случаях, благодаря отсутствию слоя ретрансляции кода и меньшим накладным расходам на обслуживание работы системы, действительно можно наблюдать паритет или небольшой прирост FPS, особенно на слабом ПК. Однако проблема в том, что крупные разработчики игр не спешат выпускать свои хиты на Linux, вынуждая пользователей самой свободной ОС, а также владельцев Steam Deck задействовать для запуска игр Wine/Proton и DXVK, реализация которых всё ещё далека от идеала и требует дополнительных системных ресурсов, которые при запуске игры на Windows могли быть направлены на более высокие настройки графики или FPS. Таким образом, все горячие споры о производительности Linux в играх зачастую подменяют вопрос «насколько хорошо они работают» вопросом «насколько терпимо», что в корне противоречит самой сути гейминга, где каждый FPS имеет значение.

Изображение в превью:
Автор: CD Projekt RED
Источник: steamcommunity.com
PCДругойДругая
Автор не входит в состав редакции iXBT.com (подробнее »)
Об авторе
Связь: https://t.me/Pavel_Priluckiy

30 комментариев

a
Не настолько линукс и свободолюбивый. Развивают его прежде всего корпорации типа ибм и оракла. И, как показывает опыт, корпорация легко может перевести проект «на коммерческую основу» и закрыть исходники и патчи. А жить в вечной «бете» — так себе удовольствие.
Pavel_Priluckiy
Вы абсолютно правы. Пример Red Hat тому доказательство.
wholeman
Тем не менее, с Windows не сравнить. Мне приходилось добавлять поддержку парочки устройств в ядро. Ничего сложного — я не бывший хакер, просто надо было прописать параметры в модулях для соответствующих ID PCI и USB, чтобы ОС их опознавала и правильно настраивала, но в Windows это невозможно, и приходится полагаться на производителей.
Pavel_Priluckiy
Так и представляю, как обычный геймер этим занимается).
wholeman
Обычному геймеру, конечно, умений не хватит. Но «свободолюбия» это не отменяет.
Pavel_Priluckiy
Свобода? Одну уздечку променяли на другую.
wholeman
В Windows «уздечка» — это отсутствие исходного кода, ограничение на использование, запрет распространения, изучения и изменения. В что за «уздечка» в Linux?
a
Наличие исходного кода не означает, что его пользователи поймут и смогут модифицировать. Не думаю, что можно спокойно добавить в ядро свою систему управления памятью или дисками.
a
А сами модули вы и писали?
W
Тестировать на древнем железе, такое себе, тем более на встройке Интела, ведь всем известно, что видеодрайвер Интел под линукс самый худший по производительности из всех, тем более вы тестируете на LTS релизах, где уже драйвера устарели, советую CachyOS имеющий форму выпуска Rolling release все самое свежее, многие тестят именно на нем. Эталон по производительности на линуксе драйвер RADV ничем не уступающий винде, нвидиа на втором месте. Тем более скоро будет внедрена новая версия Vulkan 1.4.340 с расширением VK_EXT_descriptor_heap, призванное упростить сопоставление DirectX и Vulkan и сократить потери производительности в Linux-играх. Ваши выводы не объективны на мой взгляд, смотрите тесты на ютубе их много.
Pavel_Priluckiy
Драйвер встройки интел давно входит в Mesa.
Wizer, я разработчик CachyOS)
G
Разработчик, который не входит в список команды разработки cachy os, интересненько)
Pavel_Priluckiy
Ха, вы слишком мало знаете. Почитайте, что такое ARU, кто его составлял и кто им воспользовался).
wholeman
Гугель по запросу ARU выдаёт некое «руководство», начинающееся фразой: «Привет, неизвестный мне чувак из интернета, раз ты тут, то возможно жаждешь настроить свою систему на максимальный выхлоп, но прежде чем начать — знай: Все манипуляции на вашей совести и авторы не несут никакой ответственности, но если вам нужна помощь или что-то не понятно — создайте тему на Codeberg.» Оно?
G
Я и не утверждаю, что знаю многое)
Но если вы про Aru гайд для оптимизации арча, то это сомнительная затея относить себя к команде конкретного дистрибутива…
Pavel_Priluckiy
Передам пээлу.
G
Я пробовал cachy os — хороший дистрибутив. Сейчас остановился на Федоре и пике ос.
Сравнивал производительность в некоторых играх на Винде 11 и fedora/cachy os — не знаю почему, но фпс на Винде всегда был ниже на 10-20% — это тестил в risen 1-3. A Plague Tale, Fallout 76, Greedfall, Dragon age Veilguard, duet night abyss. World of Warcraft Dragonflight вообще выдал на 50-70% больше фпс — хз с чем это связано. Железо относительно новое — 5600 райзен и 6700 xt…
Pavel_Priluckiy
11 винда на старте была полна багов.
G
Я ее установил вместо 10 где-то месяца 2 назад, когда начитался статей в интернете, что она с обновлением 23h2, стала производительнее десятки) интерфейс мне конечно понравился обновлённый, но количество фпс не очень.
Pavel_Priluckiy
Шифрование диска нужно отключать, сжирает 40% проихводительности.
G
А оно и не было включено
Pavel_Priluckiy
Значит что-то вы намудрили.
G
Интересно, что можно намудрить в установке винды — если она сама работает из коробки, проста и понятная для любого пользователя, в отличие от Линукс?)
Это просто факт — на определённом железе винда в плане фпс догоняющая, конечно, на тех играх, которые я тестил, за все утверждать не могу...
Да и в состоянии покоя винда грузит проц на 5-10 % и охлад, слабо, но шумит
На Линукс — 0-1% в состоянии покоя, и комплектации совсем не шумит
В том же a plague tale комп пытался взлететь, а на линуксе был значительно тише…
114139800521459673838@google
Почему тестируеют не на CachyOS? Установил месяц назад и радуюсь, до этого стоял чистый Арч и рядом Вин10. Затем решил перейти полносью на линух и отказаться от лиги легенд, целый месяц дистрохопинга и нашел для себя идеальную систему с kde — CachyOS
Pavel_Priluckiy
Потому, что был выбран один из наиболее популярных среди масс (а не гиков) дистрибутивов.
DuxSolusig
Прикол, ну холиварно вышло да. Список игр улыбнул)
Pavel_Priluckiy
Что было под рукой, на том и тестил.
Л
Бывший хакер не понимает, что слово «эмуляция» применительно к вайну нельзя применять даже в кавычках, потому что имплементация — это не эмуляция даже примерно. Это собственная реализация Windows API и нет никаких причин, почему она никогда не может быть быстрее реализации от Микрософт. А глядя как микрософт заменила 30% индусов на ИИ и у них багов добавляется в каждом обновлении (то кнопка пуск отвалится, то комп потеряет возможность выключаться) переход на линукс не развлечение для энтузиастов, а необходимость. Ну а то что редакция ixbt не борется с нейрослопами на своём сайте, осуждает подобное в роликах, выглядит как лицемерие. Позор. Предлагаю бойкот сайту, пока нетоварищ Pavel_Priluckiy не будет изгнан.
1
Зато Linux не тянет за собой 10 гиг говна в оперативке, как Windows 11

Добавить комментарий

Сейчас на главной

Новости

Публикации

Как лишний градус тепла в океане превращает обычные штормы в разрушительные ураганы высших категорий

+1.2°C тепла в океане = +30 км/ч к скорости урагана. Это не прогноз, а итог разбора 38 реальных штормов (2019-2023). В статье — разбор физики процесса и методологии расчетов из отчета Gilford et al.

Почему в Африке готовят еду днём, в самую жару, а не вечером в прохладе

В сельских районах многих стран Африки часто готовят еду на открытом огне, для чего обустраивается специальное место. При этом приготовление чаще всего происходит в дневные часы, в самую жаркую...

Обзор накладных беспроводных наушников Whizzer 1969NC: работа до 75 часов при отключенном ANC

Whizzer 1969NC — это накладные наушники с беспроводным подключением. Конструкция выполнена в ретро-стиле с вставками из металла и заменителя кожи. Наушники весят всего 135 грамм, при...

3D-сканер нового поколения для инженеров и дизайнеров: обзор Revopoint MetroY Pro

Модель MetroY стирает грань между «доступным» и «профессиональным». Формально он относится к бюджетному сегменту, но по сути это мощный многоцелевой инструмент из профессиональной линейки...

VR, AR, MR: Фундаментальная разница и перспективы технологий

В повседневной жизни мы всё чаще встречаемся с понятием виртуальной реальности. Технологические гиганты инвестируют миллионы долларов в данную индустрию и радуют аудиторию новыми устройствами....