Почему игры на Linux работают хуже нежели на Windows
Вопрос о переходе геймеров на Linux упирается в проблему, о которой в сообществе Open source не принято говорить: запуск игр, разработанных изначально под Windows, влечёт за собой потерю производительности. В этом материале мы разберём, почему игры на Linux часто работают хуже, нежели на Windows, и с чем это связано.
Содержание
Разные миры
Компания Microsoft десятилетиями развивала Windows как единую платформу, пытаясь охватить как можно больше направлений: домашний, бизнес и серверный сегменты. В то время как Linux стала незаменима в серверном сегменте. Основные силы крупных корпораций, которые в реальности и отвечают за поддержку и развитие Linux (Red Hat/IBM, Canonical, SUSE, Google, Intel), направлены на оптимизацию системы для корпоративных, серверных и облачных задач. Им практически нет никакого дела до Linux на домашнем компьютере. В отличие от Microsoft, заинтересованной в развитии Windows, в том числе и для игр. Конечно, компания Valve пытается как-то повлиять на ситуацию, поддерживая работу энтузиастов и выпуская новые продукты на базе SteamOS (Arch Linux), но это скорее попытка сделать «запасной аэродром», нежели навязать реальную конкуренцию Windows. Что отчётливо подтверждается статистикой Steam, где доля пользователей Linux из года в год не превышает 4%.
Поддержка и накладные расходы
Как я уже писал ранее в своей
статье «Стоит ли геймерам переходить на Linux», существуют огромные
проблемы с поддержкой устройств и внедрением новейших технологий в самую
свободолюбивую ОС в мире. Драйверы для Linux значительно отстают от
версий для Windows. Производители игровой периферии и GPU в первую
очередь оптимизируют свои устройства под творение Билла Гейтса, где
сосредоточено большинство игроков. Да, существуют решения от
энтузиастов: Mesa, NVK, RADV
Кроме того, проблему усугубляет сама реализация запуска игр на Linux. Чтобы запустить игру, изначально разработанную для Windows, необходимо задействовать сторонние реализации Windows API (Proton/Wine), а также библиотеки ретрансляции кода (DXVK/VKD3D), переводящие графические вызовы DirectX в API Vulkan. Но в программировании, как и в жизни, ничего бесплатного не бывает.
Сначала 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 имеет значение.
Источник: steamcommunity.com













30 комментариев
Добавить комментарий
Wizer, я разработчик CachyOS)
Но если вы про Aru гайд для оптимизации арча, то это сомнительная затея относить себя к команде конкретного дистрибутива…
Сравнивал производительность в некоторых играх на Винде 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…
Это просто факт — на определённом железе винда в плане фпс догоняющая, конечно, на тех играх, которые я тестил, за все утверждать не могу...
Да и в состоянии покоя винда грузит проц на 5-10 % и охлад, слабо, но шумит
На Линукс — 0-1% в состоянии покоя, и комплектации совсем не шумит
В том же a plague tale комп пытался взлететь, а на линуксе был значительно тише…
Добавить комментарий