LINUX.ORG.RU
ФорумGames

Оптимизация игор

 , ,


1

2

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

Через wine запускаю с такими параметрами. Скопировал из скрипта запуска какой-то игры на рутрекере. Актуальны ли сейчас эти параметры? Или может добавить какие? Использую proton и dxvk

export script="$(readlink -f "${BASH_SOURCE[0]}")"
export scriptdir="$(dirname "$script")"
export WINEESYNC=1
export WINEFSYNC=1
export XDG_CACHE_HOME="${scriptdir}"/cache
export __GL_SHADER_DISK_CACHE_SKIP_CLEANUP=1
export __GL_SHADER_DISK_CACHE_PATH="${XDG_CACHE_HOME}"
export DXVK_LOG_PATH="${XDG_CACHE_HOME}"/dxvk
export DXVK_STATE_CACHE_PATH="${XDG_CACHE_HOME}"/dxvk
export DXVK_CONFIG_FILE="${scriptdir}"/dxvk.conf
export DXVK_LOG_LEVEL=none
export DXVK_HUD="fps"
export DXVK_ASYNC=1
export VKD3D_DEBUG=none
export VKD3D_SHADER_DEBUG=none
export STAGING_SHARED_MEMORY=1
export ULIMIT_SIZE=1000000
export WINEDLLOVERRIDES="winemenubuilder.exe="
export WINE_LARGE_ADDRESS_AWARE=1
export WINE_FULLSCREEN_FSR=1
export WINE_FULLSCREEN_FSR_STRENGTH=2

Gamemode что-то полезное делает? Я разницы не заметил, но может на каких-то играх она есть.

Steam жрёт довольно много памяти. Можно как-то это исправить, может альтернативные клиенты какие есть? Или может как-то можно без steam запускать.

Как простым способом выключать композитор для xfwm4 при запуске игр? Или может менять его на openbox при запуске игр для экономии памяти? Сейчас добавляю в скрипт запуска для каждой игры xfconf-query -c xfwm4 -p /general/use_compositing -s false, но может можно проще. Ещё не получается поправить ярлык для steam, чтоб эта команда срабатывала до запуска. В терминале работает, в ярлыке нет.

★★

Как простым способом выключать композитор для xfwm4 при запуске игр? Или может менять его на openbox при запуске игр для экономии памяти?

Есть такая, давно подзабытая ‘фишка’, Запуск игр на отдельном X-сервере.

Запуск второго X-сервера имеет множество преимуществ, таких как более высокая производительность, возможность выхода из игры с помощью табуляции Ctrl+Alt+F7/Ctrl+Alt+F8, отсутствие сбоя основного сеанса X (в котором может быть запущена работа) в случае конфликта игры с графическим драйвером.

p.s. Но да, к экономии памяти это не имеет отношение, похоже. )

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

Если у тебя игры в интегрированную графику упираются, то с этим ничего особо не сделаешь, никакие переменные окружения не помогут. Если упираются в процессор или в объем памяти, то с этим можно что-нибудь попробовать сделать.

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

Насчет переменных, некоторые неактуальны. STAGING_SHARED_MEMORY и ULIMIT_SIZE; WINE_FULLSCREEN_FSR не работает с обычным Proton (но работает с Proton-GE); переменные __GL_SHADER* влияют только на проприетарный драйвер Nvidia. DXVK_ASYNC работает только с, собственно, dxvk-async. Но можно их все оставить, вреда от них не будет.

Gamemode что-то полезное делает? Я разницы не заметил, но может на каких-то играх она есть.

Он может помочь, если игра упирается в мощность процессора. Но у тебя, скорее всего, упор идет в мощность интеграшки или в скорость памяти, в таком случае от gamemode толку не будет.

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

Через wine запускаю с такими параметрами

Зачем? Не знаешь чего натыкал - страдай.

Или может как-то можно без steam запускать.

У некоторых нет защиты, можно напрямую запустить.

Как простым способом выключать композитор для xfwm4 при запуске игр?

Никак и не нужно

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

Если у тебя игры в интегрированную графику упираются

Ну она тянет игры на движке source. И даже в bioshock infinite на низком разрешении и на минималках можно играть.

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

Частота же должна совпадать для этого?

Proton-GE какие-то преимущества даёт?

С dxvk-async, я так понял, dxvk самому собирать нужно?

el-d ★★
() автор топика
Ответ на: комментарий от mittorn

Чтобы тени у окошек и менюшек рисовать, лол. Для игр - не нужен, лишняя пересылка из буфера в буфер, лишняя задержка. Поэтому и стим, и лутрис умеют композитор отключать перед тем как, и включать после того как. Главное чтобы WM\DE это тоже умело и понимало о чём её просят. KDE умеет, остальным не пользуюсь.

Jameson ★★★★★
()

У меня 4 гб озу и встроенная видеокарта. Апгрейдить не планирую, для работы хватает, а играю редко.

Встроенная видеокарта использует для работы ОЗУ, и наверняка эта встройка - не Vega, а какое-то барахло вроде старого Intel. Советую купить дискретную видюху со своей памятью и адекватной производительнстью.

Steam жрёт довольно много памяти. Можно как-то это исправить, может альтернативные клиенты какие есть? Или может как-то можно без steam запускать.

У меня есть два скрипта для запуска steam:

$ cat /usr/local/bin/steam-min 
#!/bin/sh
exec steam -no-browser +open steam://open/minigameslist

$ cat /usr/local/bin/steam-max 
#!/bin/sh
exec steam +open steam://open/largegameslist

Когда мне не нужен весь интерфейс стима, а достаточно списка игр, я запускаю steam-min, в противном случае steam-max

annulen ★★★★★
()
Ответ на: комментарий от el-d

Частота же должна совпадать для этого?

Нет, это не обязательно. Если у планок будет разная частота, система выставит для всех частоту самой медленной из них. У меня одна планка 2133 MHz, а вторая 2666 - работают вместе нормально, двухканальный режим работает.

Proton-GE какие-то преимущества даёт?

Там есть патчи, которых нет в обычном Proton. Даже тот же FidelityFX Super Resolution (для которого и есть переменная WINE_FULLSCREEN_FSR).

С dxvk-async, я так понял, dxvk самому собирать нужно?

Есть готовые сборки на странице releases.

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

dxvk-async как-то значительно производительность повышает?

Там есть патчи, которых нет в обычном Proton.

А насколько они полезные?) Стоит попробовать? И почему их в обычный протон не примут?)

el-d ★★
() автор топика
Ответ на: комментарий от mrjaggers

почитай его описание и узнаешь

читал, вопрос в том, помогает или нет)

хинт: нет. говернор можно в один клик самому поменять.

не понял, можно подробнее?

el-d ★★
() автор топика
Ответ на: комментарий от el-d

dxvk-async как-то значительно производительность повышает?

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

А насколько они полезные?) Стоит попробовать? И почему их в обычный протон не примут?)

Не знаю. Могу только сказать, что некоторые игры не работают с обычным Proton (например, LEGO The Lord of the Rings), приходится Proton-GE использовать. Насчет FSR, он полезет тем, что делает изображение четче при использовании в играх разрешений ниже родного разрешения экрана (при этом в игре должен быть включен полноэкранный режим).

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

Главное чтобы WM\DE это тоже умело и понимало о чём её просят. KDE умеет, остальным не пользуюсь.

Пробовал недавно кеды, плазма течёт) Процесс plasma со временем жрёт всё больше и больше оперативки

el-d ★★
() автор топика
Ответ на: комментарий от eternal_sorrow

Значит ты не умеешь его готовить.

Ну а как готовить?) В glxgears ещё и артефакты. Я так понимаю он на вяленом? Пробовал какое-то de с ним запустить, тормозит

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

Сборок Proton? Я их компилирую специально для использования вне Steam, в том числе использую для своих раздач на рутрекере.

Kron4ek ★★★★★
()
Последнее исправление: Kron4ek (всего исправлений: 1)
Ответ на: комментарий от el-d

Должен работать, у него нет конкретных требований к видеокарте. Помимо Vulkan, конечно, если мы говорим об FSR, который в Proton-GE используется.

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

А для чего тебе тени у окошек и меню?

В прошлом веке иметь тени и полупрозрачности считалось признаком статуса и прямых рук, не всем это было «дано» программно и аппаратно. Я до сих пор живу прошлым, да. Но я их никому не показываю!

Jameson ★★★★★
()
Ответ на: комментарий от el-d

Какое DE? не надо его использовать как композитор всего рабочего стола. она предназначен для очень узкой задачи - работать как обёртка для игры запускаемой в нём.

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

Насчет FSR, он полезет тем, что делает изображение четче при использовании в играх разрешений ниже родного разрешения экрана (при этом в игре должен быть включен полноэкранный режим).

Протестил на Proton-GE, FSR чёткость повышает, но и fps уменьшает. Так что смысла не вижу)

Сборок Proton? Я их компилирую специально для использования вне Steam, в том числе использую для своих раздач на рутрекере.

так ведь есть сборки proton-ge, которые без стима работают. https://github.com/GloriousEggroll/wine-ge-custom

el-d ★★
() автор топика
Ответ на: комментарий от el-d

так ведь есть сборки proton-ge, которые без стима работают. https://github.com/GloriousEggroll/wine-ge-custom

Да, но одно не обязательно должно отменять другое. Мне нужен обычный Proton, а не GE. К тому же для своих сборок я имею контроль над сборочным окружением и параметрами компиляции, и это для меня важно. Если кому нужен именно GE, ну что ж, пусть использует GE.

На самом деле, даже официальный стимовский Proton вполне себе работает без Steam, но у него требования к glibc выше чем мне нужно.

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

хинт: нет. говернор можно в один клик самому поменять.

а что его смена даст?

кстати, протон ругается что не удаётся nice level в -20 выставить. есть смысл с этим разбираться?

el-d ★★
() автор топика
Ответ на: комментарий от el-d

а что его смена даст?

В режиме «ondemand» процессор изменяет свою частоту в зависимости от нагрузки. Если нагрузка неравномерная, то в момент повышения нагрузки могут возникать тормоза, особенно если эти пики короткие

annulen ★★★★★
()
Ответ на: комментарий от el-d

ну ты понимаешь что такое говренор? на перформанс постоянно макс частота. ондеманд - смотря по загрузке (скедутил тоже, но другой способ понимания что надо задрать частоту).

его (перформанс) можно в один клик выставить самому перед игрой, в каком-нибудь апплете. Но имхо большого смысла нет, на игре ондеманд и так норм отработает.

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

Ну да, для игр это не сильно актуально, игра либо грузит проц (ядро) на максимум, либо упирается в GPU и тогда частота CPU вооьще не важна.

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

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

ну я надеюсь современные игори парочку яиц^Wядер то грузят. Надо глянуть, как раз в одну на UE4 гоняю. Жаль на Exodus не проверил.

но в любом случае этот gamemod просто пример васянского вендузятничества пока. Волшебная штука которая делает ЗБС для ИГОРЕЙ.

mrjaggers
()
Ответ на: комментарий от el-d

протон ругается что не удаётся nice level в -20 выставить

man nice

хинт: тоже пофиг. Если ты не архивируешь гигабайты параллельно с игрой в последний крузис через этот говновайн (еще и на пылесосе).

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