LINUX.ORG.RU
ФорумGames

Вот почему нет смысла в нативных играх

 , ,


1

3

Решил тут провести эксперимент. Я всегда знал что OpenGL сильно сливает Vulkan-у. Но тут меня результат сильно удивил.

Superposition Benchmark запсутил с одинаковыми настройками нативную OpenGL версию и виндовую DirectX версию через proton ge 10.3

Железо написано на скринах, но продублирую: Ryzen 9 7900x, RX 7900GRE, 32 GB. Nobara 42, KDE, Wayland. Взял Uningine

И вот результаты

Натив OpenGL: https://postimg.cc/SnMHKtY7

Proton DXVK: https://postimg.cc/Y4BZLf1c

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

★★★

Последнее исправление: CrX (всего исправлений: 1)

Стоп.

Давай два скрина, один запущенный в натив другой через wine/proton. В обоих скринах graphics api должен быть одинаковым (по фигу opengl, vulkan и т.д.)

mx__ ★★★★★
()
Ответ на: комментарий от LongLiveUbuntu

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

Зависит. Иногда хотят делать следующую, но предыдущая так продаётся, что бросать глупо, а ресурсов на всё сразу нет.

anonymous
()
Ответ на: комментарий от LongLiveUbuntu

Почти верно, если не брать в расчет парную работу видеокарт, когда производительность запросто бывает удваивается. Бывают конечно и совсем конченые случаи как замедление работы в 10 раз как в The Isle Evrima год назад все сделали, а позднее игра на линуксе еще в протоне перестала запускаться. Вроде движок UE5, а разница просто лютая за один патч. Так что тормоза в играх это целиком заслуга разработчиков, которые перед выкатом таким обновлений нихрена не тестируют, а вместо этого обвиняют коммьнити в том что они недостаточно тестировали, хотя надо быть слепым, чтобы не заметить падение производительности в 10 раз.

anonymous
()
Ответ на: комментарий от Parthen

Статически собираешь и никаких проблем

С glibc нельзя статически линковаться. Во всяком случае это официально не поддерживается и делать так крайне не рекомендуется. Нужно динамически линковаться с системной glibc. В итоге сегодня игра у тебя работает, а завтра разрабы glibc что-нибудь сломали и досвидос. Такое уже неоднократно случалось. В оффтопике например ты прекрасно можешь статически линковаться с Visual Studio Redistributable или как там эта нахлобучка называется.

archie
()
Ответ на: комментарий от anonymous

ААА собирает под steam os

Под убунту. Там сборка идет с учетом рантайма от старой убунты, который таскает с собой стим, 12.04 если я помню правильно. Я тыкал например Undertale. В стиме линуксовая версия ссылается на этот рантайм, в а гоге просто не работает, потому что собрана с теми же библиотеками, а в гоге стимовские библиотеки не таскают с собой.

vbcnthfkmnth123 ★★★★★
()
Ответ на: комментарий от archie

Во всяком случае это официально не поддерживается

А какая тут нужна «официальная» поддержка?

Библиотека у меня лежит:

❯ gcc --print-file-name=libc.a
/usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu/libc.a

делать так крайне не рекомендуется

Кем? (inb4: мнение стандартизаторов меня не интересует)

Parthen ★★
()
Ответ на: комментарий от vbcnthfkmnth123

Нет, это для нативных игр. Выше приводил пример с Undertale, так почти со всеми играми.

Это полная чушь. Даже в случае с Undertale. Не очень понимаю, зачем надо так фантазировать, честно говоря.

anonymous
()
Ответ на: комментарий от archie

В итоге сегодня игра у тебя работает, а завтра разрабы glibc что-нибудь сломали и досвидос.

Там обратная совместимость. Ни разу не видел, чтобы игра перестала работать из-за libc. Более обычные варианты: libssl, libpng и т.п. Бывает, что используют приватные API, и, конечно же, в какой-то момент эти методы удаляются.

anonymous
()
Ответ на: комментарий от anonymous

Неа, это подтверждается практикой Удалось завести наконец-то GOG-версию Undertale

Для большего количества примеров глянь все игры которые имеют линукс версию в стиме, но не в гоге. Обычно это означает, что для адаптации под линукс были использованы стимовские библиотеки. Про тот же же Undertale: в гоге фактически была стимовская версия, и так как там нету стимовских библиотек, то фактически для линукса продается нерабочая версия.

vbcnthfkmnth123 ★★★★★
()
Последнее исправление: vbcnthfkmnth123 (всего исправлений: 1)
Ответ на: комментарий от goingUp

большинство игроделов ленятся сделать линукс билд даже если это юнити

Логично. Мало кому охота огребать кучу багов ради мизерного профита.

Играл в Wasteland 2. Там довольно быстро игра падала при заходе в какой-то город.

Надо было поднимать лимит на количество открытых файлов, что приводило уже к глюкам Systemd…

Короче мне надоело, да и игра так себе…

Или одних глюков по переходу с иксов на Wayland у нативных игрых тоже валом. Да, надо обновлять SDL для корректной работы. Но игру сделали, и уже никто не будет переделывать, команду распустили, а в линуксах всё постоянно меняется.

anonymous
()
Ответ на: комментарий от vbcnthfkmnth123

Ты ссылаешься на одну игру, которая у меня (GOG-версия) работала нормально. Почти всё из моей библиотеки запускается в рантайме на базе Debian 13, всего лишь с несколькими пакетами из более старых выпусков. Значительная часть этих игр уже просто не запустится в окружении типа Ubuntu 12.04.

Конкретно Undertale могу перепроверить, но придётся оживлять поддержку x86, эта игра не имеет 64-битной сборки. В принципе, можно поставить libc6:i386, этого хватит для запуска ldd.

в гоге фактически была стимовская версия, и так как там нету стимовских библиотек, то фактически для линукса продается нерабочая версия

Ну там часто такие версии, по крайней мере, многие ругаются на отсутствие Steam API (не мешает), но они не собраны с тем некроокружением, которое, видимо, было ещё и 32-битным, как сам Necrocoprosteam.

anonymous
()
Ответ на: комментарий от anonymous

Или одних глюков по переходу с иксов на Wayland у нативных игрых тоже валом.

Это преувеличение. У меня вроде одна не хотела запускаться, но оказалось, что теперь она живёт на гитхабе, и там всё починили (OpenSR). Хотя могу ошибаться, возможно, это не она. Работает даже что-то там на Java с дебилоидной библиотекой, которой в линуксе нужен xrandr (да, буквально утилита, не библиотека). Regions of Ruin, кажется.

anonymous
()