Специфичный 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 (подробнее »)
Об авторе
Сисадмин и любитель эльфиек.

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

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

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

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

Новости

Публикации

Что в квартире больше всего мотает свет и как уменьшить счета за электроэнергию

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

Обзор динамических наушников Whizzer Kylin HE01B

Обзор
Несколько лет назад компания Whizzer Audio презентовала внутриканальную модель наушников HE01. Модель выделялась необычным дизайном и аналитичным звуком. Спустя некоторое время производитель решил...

Обзор наушников с квадратным планарным излучателем Kinera Celest Pandamon: дайте всё-таки две пары

Обзор
Наушники Pandamon - вторые из серии квадратных изодинамических излучателей от Kinera (версия SPD 2.0). В обозреваемых используется исключительно магнеплананый драйвер. Обновление получилось...

Обзор комбинированных ключей Deko RW02: полезный инструмент с трещоткой и шарниром

Обзор
Что должно быть всегда в автомобиле? Какие инструменты наиболее востребованные при эксплуатации транспортного средства? Ответ простой - комплект рожковых и накидных ключей. Универсальный...

Обзор Rombica Humi: компактный УЗ-увлажнитель воздуха

Обзор
Rombica Humi — это ультразвуковой увлажнитель воздуха, который не займет много места и будет поддерживать влажность на установленном уровне. Конечно, прежде чем поддерживать этот уровень, нужно...

Обзор смарт-часов BQ Watch 1.4

Обзор
Выбор смарт- часов на сегодняшний день огромен, как по функционалу, так и по внешнему виду. В этом обзоре речь пойдет о смарт- часах от компании BQ с названием Watch 1.4. Данная модель вместила в...