Специфичный Linux. Тестирование Esync vs Fsync в играх

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

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

В альтернативной системе реализации запуска кода Windows-программ — Wine, существует так называемый Wineserver, отвечающий за выполнение синхронизации объектов в игре (программе), но выполняющий их в однопоточном режиме. Для обхода этого ограничения и были созданы Esync и Fsync.

Esync — это ранняя система выноса задач многопоточной синхронизации за пределы Wineserver, которая следит за процессами ввода и вывода при работе с файловыми дескрипторами, что позволяет уменьшить нагрузку на центральный процессор и вместе с тем повысить производительность в играх. Требованиями технологии выступает ручное редактирование лимитов вашего дистрибутива, т.к. по умолчанию необходимые значения могут быть слишком малы.

Fsync — это более новая технология выноса задач многопоточной синхронизации за пределы Wineserver, разработанная компанией Valve, и которая работает уже с системными вызовами. Используется для обработки ожидания изменений в памяти, а не файловой системе. Такой принцип работы аналогичен Esync, но потенциально вызывает меньшие задержки и также способен увеличить производительность. Требованиями технологии выступает наличие пропатченного ядра Linux или базовой поддержки самим ядром.

Надеюсь вы не устали от этого скучного бреда, потому как вся разница заключается лишь в том, что одна штука отслеживает изменения в файловой системе, а другая в оперативной памяти и каждая следит за дерганьем процессора. Конечно, автор представил всё очень упрощенно и может ошибаться, но надеюсь суть вы уловили. Переходим к тестам (P.S. характеристики тестового стенда можно увидеть в превью к статье).

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

Прежде чем начать тестирование, стоит отметить, что данные тесты не несут в себе идеи показать максимальную производительности Linux в играх и не являются лабораторными, а осуществляются лишь для прямого сравнения технологий Esync vs Fsync.

Genshin Impact

Отличная анимешная игра с обширным количеством сетевых функций. И несмотря на свою мобильную ориентированность, способна хорошо нагрузить центральный процессор.

Тестовый отрезок в самом оживленном городе игры отчетливо показывает, что новое — не всегда лучшее. Технология Fsync наглядно проигрывает Esync, график загруженности процессора просто сходит с ума, а фризы (зависания) следуют один за другим. Возможно, дело в том, что технология Fsync рассчитана на многоядерные процессоры.

S.T.A.L.K.E.R.: Зов Припяти

Cтарая игрушка с большим открытом Миром, которая должна показать, есть ли смысл задействовать новые методы синхронизации в однопоточных задачах.

 

И вновь ничего удивительного, производительность игры уперлась в процессор, конечно, DXVK пытается раскидать задачи по свободным ядрам, но это не снимает нагрузки с основного ядра. Применение каких-либо способов расширенной синхронизации не имеет смысла в однопоточных приложениях. Впрочем, если чуток углубиться, то Esync способен отрезать некоторые лишние запросы, но эффект в однопоточных задачах так же будет мизерным.

Grand Theft Auto IV

Всё ещё лучший бенчмарк 4 поточных процессоров, т.к. кривизна игры при работе с ресурсами позволяет отчетливо увидеть нагрузку на процессор.

Показатель загруженности процессора при технологии синхронизации Fsync вновь выше на ~20%, что подтверждает первичный тест с Genshin Impact.

Вывод

Применение расширенной технологии синхронизации Fsync на малоядерных процессорах лишена какого-либо смысла, и только дополнительно нагружает ядра и без того маломощного процессора. Смысл же Fsync обретает только при наличие многоядерного процессора, что заставляет распределять запросы по потокам более планомерно. Также нужно иметь в виду, что технология способна вдохнуть новую жизнь низкочастотным-многоядерным процессорам, которые не могут в нормальном режиме заготовить нужное число кадров для видеокарты. В иных случаях, используйте Esync, ибо он и вправду способен снять лишние запросы с вашего процессора и обеспечить плавность в играх под Linux (Wine) не требуя возни с дополнительными патчами

Видеоверсия
Автор не входит в состав редакции iXBT.com (подробнее »)
Об авторе
Связь: https://vk.com/kerfaers или t.me/Pavel_Priluckiy

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

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

w
интересно. а геншин запускался на голом вайн или через лютрис?
Pavel_Priluckiy
Запуск производился на cкомпилированном Wine-tkg 6.2 и async dxvk 1.9 c ручной настройкой lutris.
110374447650420763375@google
Как решили проблему античита?
Pavel_Priluckiy
Есть способ обхода, что не желательно распространять.
w
так собственно наличие античита и вызвало вопрос, как его удалось обойти) скиньте в личку плиз. мне для личных нужд: в обозримом будущем собираюсь переезжать на линукс, собираю информацию

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

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

Новости

Публикации

Повербанк, который не боится воды. Карбоновый корпус и магниевые радиаторы. Обзор Nitecore Carbo 20

65Вт мощности и 20000mah ёмкости, влагозащищённый корпус из карбонового волокна, магниевые радиаторы для защиты от перегрева и 65Вт мощности. Топовый повербанк в линейке Nitecore предназначен для...

Тирамису: история происхождения, особенности названия и способы приготовления в разных странах

Среди итальянских десертов трудно найти другой рецепт, который за столь короткое время получил бы мировую известность. Сегодня тирамису можно заказать практически в любой стране —...

Одна книга — десятки сценариев: обзор Оникс Букс Элегия с умным помощником

В какой-то момент в жизни хочется взять в руки хорошую книгу, и провести пару часов за превосходным чтивом. Особенно, если очередь за бензином встала колом на ближайшие два часа. Главное, чтобы это...

В некоторых новых ноутбуках больше нет HDMI — обычного переходника будет недостаточно

Новый ноутбук оказался без HDMI, но не каждый USB-C умеет выводить изображение. Разбираемся, какой адаптер нужен для 4K/60 и 4K/120 Гц и почему надписи «поддерживает 4K» недостаточно.

Haylou Flowbuds N55 — обзор TWS наушников с шумоподавлением и хорошей автономностью

Что для вас важнее в беспроводных наушниках: мощный звук, эффективное шумоподавление или автономность, которой хватит на весь день? А если бы можно было получить всё это сразу и при этом не...

Что на самом деле значит «квантовый»? Физика запутанности и «жуткое действие на расстоянии» простыми словами

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