Почему Linux не для игр на примере игры 7 Days to Die
Первым дело следует упомянуть прошлую статью по теме, ранее я проверяю игру Control, и она работала в среде Linux хуже, чем в Windows:
реклама
Почему Linux не для игр, на примере игры Control
Ну а сейчас возьмёмся за игру 7 Days to Die версии 20.6 b9:
реклама
Да, это далеко не самая последняя версия игры, причём отвязанная от DRM костылей, такая уж была под рукой, качать более новую, и уж тем более устанавливать DRM платформу Steam ради самой последней версии я не собираюсь, в этом нет смысла.
Конфигурация ПК у меня не изменялась, потому использую старую таблицу:
Тестирование будет происходить в следующих операционных системах:
реклама
1) Chimbalix 23.1 Alphachi (в процессе разработки).
2) Windows 7 SP1
Для запуска игры в дистрибутиве Chimbalix 23.1 Alphachi будет использован встроенный Wine Staging версии 8.12, префикс кастомный, собирается автоматически после установки дистрибутива, состоит из частей следующих компонентов:
Так как "Альфа" версия дистрибутива находится в активной разработке, некоторый новый функционал отсутствует в оригинальном образе системы "из коробки".
реклама
На этом приступим к сравнительному тестированию
Я уже некоторое время играл из под Linux, потому игра не в состоянии "самого начала процесса", но так даже лучше, чем реалистичнее условия, тем лучше, тем более как раз нашлось сложное в плане производительности место.
Первым делом игра будет работать в режиме OpenGL, потому что с этим API меньше всего проблем в игре под линуксом по совокупности факторов (фризы, производительность, стабильность):
Настройки подобраны вручную, можно сказать "низкие настройки качества", ведь под линуксом более высокие настройки роняют FPS до значений, при которых играть очень тяжело, даже несмотря на вполне неплохую начинку ПК:
Запускаю игровой мир, и имею около 43 FPS если смотреть на машину, а так же около 35 FPS если смотреть в окно, да, вот с такой производительностью мне приходится мириться под линуксом в данной игре:
Далее запускаю игру в DX11 режиме, само собой включаю оверлей производительности DXVK, это наверное единственный адекватный оверлей под Linux в целом, если нужно проверить производительность игр, всякие кривые поделки вроде MangoHud я не использую, как можно заметить на фотографиях выше.
Итак, в DirectX 11 режиме игра показывает производительность на уровне ~44 FPS (машина), и ~32 FPS если смотреть в окно, что слегка меньше, чем в OpenGL режиме:
Конечно проверяем и Vulkan API:
Тут не сказать что всё кардинально изменилось, около 45 FPS машина, и около 35 FPS окно:
Собственно всё, переходим к Windows 7... Хотя нет, я забыл скопировать игру на диск с "православной" NTFS:
Короче начинаем с OpenGL, настраиваю точно так же, как и было в среде Linux, а так же запускаю MSI Afterburner с отличным информативным оверлеем:
Игра одна и та же, мир один и тот же, настройки одни и те же, но под управлением Windows 7 уровень производительности получился около 79 FPS (машина), и ~61 FPS в окне, а так же можно заметить, что видеокарта GeForce GTX 1070 нагружена не полностью, уровень энергопотребления всего 70-80 Вт:
Сразу перейдём к Vulkan API, в среде Windows 7, в отличие от Linux, производительность поднялась до ~100 и ~87 FPS соответственно:
DirectX 11 режим работы, машина ~99 FPS, окно ~83 FPS, совсем чуточку меньше, чем в режиме Vulkan:
На этом этапе было решено протестировать игру с пресетом настроек "Ультра", разумеется полностью перезапустил для чистоты эксперимента.
Не обошлось без косяков, почему-то изменение пресета затрагивает параметр угла обзора, так что вручную пришлось поправить немного:
А ещё повылазили назойливые зомби, так усердно старались помешать тестированию, даже в заколоченное окно стучались, собственно реальные игровые условия как они есть:
Короче, с настройками "Ультра" в среде Windows 7 при DirectX 11 API имеем ~80 FPS (машина), и ~65 FPS в окне:
OpenGL режим, производительность ожидаемо стала ещё ниже, ~55 FPS машина, ~43 FPS окно, однако это всё ещё больше, чем было в среде Linux при низких настройках качества...
Ну а зомби так и прут, никак не угомоняться, чем-то напоминают некоторых, особо упорных адептов Linux:
Последний тест в среде Windows 7, "Ультра" настройки с Vulkan API, имеем ~91 FPS с машиной, ну и ~75 FPS в окне:
На этом переходим к Linux, настраиваем игру на такие же настройки, как были в Windows 7, и продолжаем:
Начали с Vulkan API, получили ~38 FPS с машиной, и ~23 FPS в окне, причём отмечу, FPS довольно нестабильный, так что беру примерное среднее что видел:
OpenGL дал ~34 и ~28 FPS соответственно:
Наконец пришло время DirectX 11 с мониторингом через DXVK, обратите внимание на едва заметную надпись "Compiling shaders...", собственно это одна из причин, почему Linux не для игр, ведь костыли воде DXVK постоянно компилируют шейдеры прямо во время игры, а это приводит к фризам, часто они не мешают, но иногда приводят к таким жёстким лагам, что в некоторых играх просто невозможно становится играть из-за постоянной компиляции шейдеров...
Собственно, ничего нового, примерно 36 FPS машина, и ~26 FPS окно:
А ещё обратим внимание на производительность в главном меню, Linux вытягивает всего 700-900 FPS, когда Windows 7 выжимала около 1700-2000 FPS в этом же меню...
-
--
---
Итоги
На этом подведём итоги.
Вот собственно результаты, боюсь мне нечего тут комментировать, числа говорят всё сами за себя:
Увы, если в игре Control Linux не сильно отстаёт от Windows в производительности, то в случае 7 Days to Die ситуация совсем печальная.
Благодарю за внимание, больше интересных статей в блоге Hard-Workshop.
Лента материалов
Соблюдение Правил конференции строго обязательно!
Флуд, флейм и оффтоп преследуются по всей строгости закона!
Комментарии, содержащие оскорбления, нецензурные выражения (в т.ч. замаскированный мат), экстремистские высказывания, рекламу и спам, удаляются независимо от содержимого, а к их авторам могут применяться меры вплоть до запрета написания комментариев и, в случае написания комментария через социальные сети, жалобы в администрацию данной сети.
Комментарии Правила