LINUX.ORG.RU
решено ФорумGames

Mesa3d vulkan непонятные подгрузки в играх

 , ,


1

3

Ребята всем привет, у меня проблема с непонятной подгрузкой в играх, железки :video r9 380 , cpu fx4100 = 4.2Ггц 8gb ddr 3, стоит убунту 18.04 с открытыми драйверами mesa 19 , начнем с дота 2, первые 2-3 игры лаги потом все хорошо ииграется без проблем, на форумах нарыл что это кешируются шейдеры, хотя на винде с тем же вулканом никаких лагов не было, ну дота это ладно, проблема с dxvk, как вы понимаете тут участвует вулкан и игры через этот вулкат тоже я так понимаю кешируют что то там, но это очень выбешивает потому как лаги сумашедшие, причем где я уже бывал игра плавно идет но как только появляется что то новенькое опять лаги, и когда игру перезапустить все начинаеться с начала и опять лаг. на драйверах от amd такого не было, но там установить их это нужно чуть ли не фазы лун соблюдать гемор тот еще. что не так с mesa почему такие подгрузки непонятные, как это исправить ??

Вердикт : в vulkan, fx4100 одновременно просчитать игру и компилировать шейдеры не способен отсюда и лаги.

16.03.2019 Вердикт 2 : все решилось когда перешел на вейланд и поставил ядро с этого сайта liquorix.net ) лаги исчезли, даже тиринга нет которы ранее мучал меня ) и еще в папке с игрой был файл archeage.dxvk-cache и он почему то был только на чтение, разрешил запись .



Последнее исправление: kep1990 (всего исправлений: 6)
Ответ на: комментарий от no-such-file

Анскильные уже засуетились.

По теме: затычка вместо процессора + транслятор, что ты ожидал?

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

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

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

Потому что слабый процессор занят во время твоей «подгрузки» рекомпиляцией шейдеров, пересозданием пайплайна и тд.

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

ок, тогда почему на проприетарных драйверах 18.50 все четко, но там нужна строго убунту 18.04.1, и никаких подгрузок ничего нету , как только перехожу на свободный драйвер так и лаги, почему ?

kep1990
() автор топика

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

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

можно по подробней если можно про «переменные окружения для управления компиляцией шейдеров»

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

Попробуй какую-нибудь mat_disable_dynamic_shader_compile там суть была в том что запускалась значительно дольше, но потом динамически не компилировала шейдеры. Отключала фризы на замесах, например.

добавь в стиме в опции запуска с +

anonymous
()

ЕМНИП нужно ждать когда поддержку прекомпиленных шэйдеров запилят или компиляцию ускорят..

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

вся суть, да, а потом ждать пока опять сломают (:

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

для проприетарного драйвера стим скачивает прекомпиленые шейдеры для игры что позволяет их не компилить, а для комбинации твоей карты и свободного драйвера у стима в наборе шейдеров не нашлось( они тип немного разные для каждой комбинации видяха+драйвер_версииХ)

Thero ★★★★★
()

fx4100=4.2Ггц

fx4100=3.6Ггц это fx4170=4.2 Ггц! совершенно безумный проц - температура только в биосе адекватнно показывается, а так что винда что линукс - 6 градусов по цельсию, в нагрузках до 20 доходит! сколько твой в 7z b попугаев набирает?

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

Дай угадаю, 6 это 60, 20 это 120? Предел у них около 60. Амд такой амд. Зачем вы их гоните, они же расплавляются нахрен?

anonymous
()

Не специалист но

1. шедеры кешируются где-то в домашней директории. Следовательно тормоза должны наблюдаться только при первом запуске игры. При последующих запусках уже откомпилированные шейдеры будут сразу загружаться в видеопамять.

2. шейдеры компилируются силами CPU, как компиляция программ. Так что посмотри по монитору, если причина в компиляции шейдеров то наверное, в момент лагов, должна наблюдаться 100% загрузка одного ядра, а FX не быстрый процессор.

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

как это исправить ??
cpu fx4100

Ну как минимум процессор поставить. 8 ядер уже за 3500 купить можно.

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

6 это 60, 20 это 120?

нет 6 это в биосе 35, а под нагрузкой как я в биос попаду - по этому 20 это неизвестно сколько и ничего я не гоню - 4.2 изначальных с лихвой хватает! могу сказать точно что охлаждение которое не справлялось на fx8350 - на fx4170 хватает с запасом и вентилятор не воет!

amd_amd ★★★★★
()

Опаньки, у меня в точности такая же проблема, но встречал только в играх под wine - quake championship и метро exodus. Если побегаю по карте или перезапущу игру, лаги пропадают, при первой попытке поиграть фпс падает до 0-3 кадров.Драйвер использую amdpgu, характеристики пк:
16 DDR4 RAM
Video: AMD RX580
CPU: Ryzen 7 2700x
Разве проприетарный драйвер amd не только для поддержки opencl?

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

Да, так и есть, в момент лага 2 ядра упираются в 100%, получается все таки нужно камень сменить на что то поприличней.

kep1990
() автор топика
Ответ на: комментарий от Landgraf

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

kep1990
() автор топика

Чтобы не было лагов, надо использовать современное железо и NVMe SSD. Как ты думаешь, для чего оно придумано и что для тебя значит такое понятие как технический прогресс?

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

Вроде дисковый кеш шейдеров должен быть в ~/.cache/mesa, почитай что-то про него, опции, может кеширование не работает. Просто если действительно все так медленно, то выходит на мощном CPU тоже такие лаги будут, пускай в 2х или 4х раза быстрее проходить, но это будет заметно.

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

нашел папку mesa_shader_cache но она весит 68 мегабайт, я даже не знаю это хорошо или плохо))

kep1990
() автор топика

Ты Dota 2 гоняешь через Wine, я правильно понял? Может начнешь с того, что запустишь нативный клиент?

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

Опаньки, у меня в точности такая же проблема, но встречал только в играх под wine - quake championship и метро exodus. Если побегаю по карте или перезапущу игру, лаги пропадают, при первой попытке поиграть фпс падает до 0-3 кадров.Драйвер использую amdpgu

У меня i7 3770/1050Ti, проблемы нет, фпс 40, но и до 3 не дропается.

Video: AMD RX580
CPU: Ryzen 7 2700x

Эй-Эм-Ди

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

Райзен теперь тоже кукуруза? Славная традиция со времен атлонов и FX.

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

32Gb DDR4 RAM AMD RX580 8Gb Ryzen 7 2700x

под протоном могу вспомнить разве что Prey где сразу после старта надо головой покрутить на 360 градусов (при этом там что то подгружается или компилируется) а потом всю игру уже без таких эффектов идет.

anonymous
()

Господи та же фигня, я не могу в Hitman 2 из за этих лагов играть, просто бешеные фризы.

А дота2 кстати начинает считать шейдеры после каждой обновы mesa, странно всё это и хз как сказать игре чтоб сначала всё посчитала у себя заранее.

eR ★★★★★
()

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

RADV_DEBUG=nothreadllvm

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

а есть команда для RADV чтоб при запуске игры сначала ВСЕ шейдеры скомпилились а потом уже играть?

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

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

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

Хреново очень хреново, даже при наличии свободных дров, даже рабочий steam play, и тут такая засада.

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

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

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

не страдаю

«Ноги не нужны, ногофаг не человек.» Целительная сила nного времени на лоре.

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

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

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.