rpcs3 compiling shaders что делать
Shaders Compilation Issue #4126
Comments
AkagiShiroe commented Jan 29, 2018
I don’t know if this gonna help but here some testing and issue in old hardware
My Spec are an old Intel I3 CPU 3,0ghz (westmere, 2 physical core + 2 virtual) with 4GBx2 DDR3(8GB) and Geforce 9600 GT 512 (partial/half OpenGL 4.x support)
-somehow old GPU like mine which isn’t fully supporting 4.30 can run RPCS3 in 10-20fps but when Shader compilation start (particularly blur/distored image shader) the compiler just crash due too much instruction (limitation i think? or bug? issue? i don’t know) here some log
(just read the end line for shader compilation since i test some games like homebrew DOOM as well who give significant boost today compared to old build)
RPCS3.zip
using this build: rpcs3-v0.0.4-2018-01-22-4f017947
(keep the good work guys i even didn’t believe it anymore how RPCS3 will growth from now)
The text was updated successfully, but these errors were encountered:
sirdanielk commented Jan 29, 2018 •
Whatever kind of nvidia cheap but new card will be sufficient and you will get better results than with 9600
kd-11 commented Jan 30, 2018
This PR #4127 has work reducing amount of code generated by shader emitters. Maybe it helps your problem, maybe it doesnt, but trying to squeeze the emulator to work on really old hardware will not be viable long term.
kd-11 commented Jan 31, 2018
Please retest with current master
AkagiShiroe commented Feb 1, 2018 •
@kd-11 thank you, the performance getting better after that PR but still sadly.. shader compilation are crash when «reflection» stuff are requested (i recognize this after testing to change from Miku to Meiko or Rin since both have object that reflect image like metal), pushing old hardware wasn’t good but thanks
Серьезный (и, наверное, глупый, но я предпочитаю сказать это в случае) вопрос.
Разве RPCS3 не может скомпилировать все необходимые шейдеры перед запуском игры? (При втором запуске мы видим, что RPCS3 предварительно загружает скомпилированные шейдеры)
@torresmatt Спасибо, что откорректировали вопрос шестимесячной давности, на который здесь уже много раз ответили.
Все 18 Комментарий
Невозможно узнать, какие шейдеры будут использоваться в игре до того, как они будут использованы. Существуют миллионы возможных комбинаций, и вы также не можете использовать прошлые шаблоны использования, чтобы сузить выбор. Вам нужно будет выполнить AOT-анализ или прогнозирование ветвлений в коде, и оба эти метода слишком медленны для реализации.
Тем не менее, есть несколько способов уменьшить заикание, например пропустить некомпилированные шейдеры при рисовании или сохранении входных данных компиляции и позволить пользователям делиться ими, но эти решения также имеют свои недостатки.
Даже сделать это заранее невозможно, так как не учитывается состояние выполнения. В конце концов, шейдеры можно генерировать динамически во время выполнения.
Закрытие тикета не является решением AniLeo. Разве нельзя проанализировать все файлы игровых данных и узнать, какие шейдеры нужны?
В первый раз может потребоваться время, чтобы обнаружить и скомпилировать необходимые шейдеры, но это решение позволит избежать всех зависаний и заиканий при компиляции шейдеров во время первого запуска игры, поскольку RPCS3 будет «компилировать шейдеры».
Причина этого предложения заключается в том, что если вы посмотрите в Интернете, ваш проект RPCS3 имеет эту основную проблему, которая снижает основные улучшения, внесенные командой за последние месяцы.
GitHub должен добавить: man_facepalming: в качестве реакции, специально для таких проблем.
Подробный гайд по настройке и оптимизации эмулятора PlayStation 3
Для начала нам нужно удостовериться, что в нашей системе установлены библиотеки Microsoft Visual C++
Скачиваем версию, соответствующую разрядности вашей ОС (32 или 64 бита).
Далее нас ждёт процесс загрузки последней на момент написания статьи версии эмулятора.
Выбираем свою операционную систему – и вперёд! На всякий случай оставлю здесь информацию о системных требованиях.
После этого перемещаемся на официальный сайт Sony и загружаем прошивку для PlayStation 3.
Сам запуск RPCS3 обязательно выполняем от имени администратора!
Если всё прошло успешно, то мы увидим вот такое приветственное окошко. Здесь мы должны поставить галочку в пункте, который расположен по центру. Он говорит нам о том, что мы ознакомились с официальным гайдом по так скажем «быстрому» старту. Ставить галочку в пункте справа по вашему желанию, но если поставите её сразу, то в дальнейшем не будете каждый раз видеть это окошко.
Наконец-то перед нами некое ядро, сердце эмулятора, его основные и дополнительные элементы.
Нажимаем вкладку Configuration и переходим в любой из пунктов настроек. Снимаем галочку с любого пункта в какой-либо вкладке и моментально возвращаем как было. Жмём Apply и пока выходим из программы. Это нужно для того, чтобы эмулятор создал файл настроек. Сделали, теперь немного пошаманем в этом файле.
Переходим в папку с эмулятором 🠖 GuiConfigs. Находим файлик под именем CurrentSettings.ini и открываем с помощью текстового редактора.
В этом файле ищем вкладку [Meta], а затем изменяем параметр у файла showDebugTab с false на true. Закрываем ваш текстовый редактор, обязательно сохранив все сделанные изменения!
Прежде чем мы продолжим, сделаем парочку несложных оптимизаций в системе специально под эмулятор. В качестве подопытного будет выступать 64-разрядная Windows 10.
Теперь жмём на Параметры 🠖 Высокая производительность 🠖 Сохранить.
Эта процедура позволит выжать несколько драгоценных капелек сока из вашей видеокарты в пользу улучшенной производительности эмулятора.
Обладателем видеокарт от NVIDIA рекомендую сделать ещё несколько полезных шагов:
В появившемся окне мы проделаем целый ряд действий, а именно:
Жмём Применить и закрываем окно.
Если же вы обладатель карточки от AMD, то принцип действий схож, но к сожалению, у меня под рукой только карта от NVIDIA.
Но не будем грустить, а лучше вернёмся непосредственно к эмулятору. При его запуске он автоматически соединяется с серверами обновлений, так что не придётся каждый раз вручную заходить в соответствующее меню и проверять, вышла ли свежая версия.
Сейчас мы с вами установим прошивку от PlayStation 3. Для этого нажимаем вкладку File 🠖 Install Frimware. Выбираем скаченный файл с прошивкой. Жмём ОК и дожидаемся окончания процесса установки прошивки.
Далее щёлкаем по вкладке Config. Пройдёмся по всем подпунктам, начнём с настроек, связанных с центральным процессором — CPU. За основу я взял игру Demon’s Souls.
В разделе CPU сделаем такую вещь: уже в подразделе ADDITIONAL SETTINGS включим опцию Enable thread scheduler. НО! Только если у вас процессор AMD Ryzen, если же у вас процессор от Intel, то эту опцию отключаем, а включаем ту, которая идёт ниже Lower SPU thread priority. Ещё хотелось бы добавить, что в некоторых случаях, именно на старых CPU, первого, второго и третьего поколения процессоров Intel Core, слегка поднять производительность можно методом отключения технологии Hyper Threading (многопоточность) в BIOS материнской платы.
Например, в случае Demon’s Souls, процессоры с поддержкой инструкций TSX (Intel Core 5000 (Broadwell), так же, в теории подойдут и чипы Xeon E5-2600 v4 (Broadwell)) действительно необходимы для более-менее комфортной игры.
В настройках GPU смените тип рендера с OpenGL на Vulkan, и, если ваша видеокарта такая же, или лучше NVIDIA GeForce GTX 1050 Ti, или AMD Radeon RX 560, то повысьте уровень разрешения (Resolution Scale) до 150% (разрешение 1920×1080), или выше.
Если ваша видеокарта не поддерживает Vulkan, то, скорее всего, приемлемого FPS вы получить не сможете.
Так же, если ваша видеокарта относительно слабая (GeForce GTX 1030 или Radeon RX 550), попробуйте снизить параметр Resolution Scale до 75% (разрешение 960×540).
Помимо всего вышеперечисленного, обязательно поставьте галочку в столбце «Additional Settings» на параметре «Write Color Buffers», иначе вы получите чёрный экран в момент самого геймплея.
Со звуком ситуация такая: на моём процессоре (AMD Ryzen 7 1800X), отключение звука в игре не даёт ничего, да и на таком мощном камне это совершенно ненужная роскошь, я считаю. Так что в целом, если ваш процессор поддерживает технологию TSX и обладает количеством ядер от 6 и выше, то вам отключать звук не стоит.
Единственное, что нужно сделать в обязательном порядке, так это активировать опцию Enable Time Stretching.
В случае старого CPU, попробуйте выставить настройку «Audio Out» в режим «Disable Audio»
Но в целом, звук в DeS иногда может «лагать» даже на мощных чипах, так что, попробуйте поиграться с параметром «Audio Buffer Duration» если вас что-то не устраивает.
В этом разделе из полезных опций можно отметить смену языка на великий и могучий. Как и на множество других языков.
В этом разделе нас интересует опция Debug Console Mode, активируем её.
Этот раздел позволит нам сменить стандартную скучную тему оформления эмулятора на что-то повеселее. Кроме того, вы сможете разукрасить иконки с играми, трофеи и т.д. Здесь же у нас есть возможность сбросить все проделанные изменения к настройкам по умолчанию.
В данном разделе нас интересуют два пункта:
Активируем их, жмём Apply и Save.
Хочу затронуть тему «Unlock FPS Patch» — патче, открывающем возможность запуска Demon’s Souls с 60-тью кадрами в секунду без неприятного ускорения самого геймплея игры.
Переходим на этот сайт и скачиваем патч. Для его установки делаем следующее:
Но это ещё не всё. Далее заходим на этот сайт, раскрываем вкладку Patches, копируем абсолютно весь текст, который скрывался за этой вкладкой.
Затем перемещаемся по такому адресу:
Теперь активируем сам патч, а так же взглянем на ставшие нам доступными приятные мелочи. Для этого:
В появившемся окне выбираем нашу версию игры и её серийный номер (в моём случае первый вариант, эти данные вы можете найти в главном меню эмулятора).
Какие же вкусности открылись нам с этими патчами, кроме возможности снять лок на 30 кадров? Например, очень полезная фишка, позволяющая отключить вступительные ролики. Или же мы можем теоретически увеличить производительность на 20 %, путём отключения графической опции Write Color Buffers. Помимо этого, включение данной опции может избавить нас от мерцания изображения, если у вас будет такая проблема.
Так же есть возможность включить поддержку мониторов, у которых соотношение сторон 21 и 32:9.
Чтобы настроить управление, жмём на вкладку PADS.
Как вы можете видеть, принимать активное участие в баталиях на одном экране может до 7 человек! Для каждого из них можно выбрать тип управления: клавиатура, геймпад (дуалшок 3 и 4) или какие-либо другие варианты геймпадов.
Я использую Дуалшок 4 и фирменный беспроводной usb-адаптер от Сони для связи с компьютером. Эмулятор без проблем обнаружил такое устройство.
Вы можете создавать свои настройки для каждой отдельной игры, для этого кликаем правой кнопкой на иконке с игрой и выбираем CREATE CUSTOM GAMEPAD CONFIGURATION. Аналогичным образом работает трюк и с другими настройками. Нажимаем правой кнопкой всё по той же иконке с игрой и выбираем CREATE CUSTOM CONFIGURATION.
Давайте ещё раз отвлечёмся от основной темы разговора. Посмотрим на общий список, а так же я расскажу, какие хитовые игры в частности можно уже пройти без особых проблем. Так сказать, на что вы в принципе можете рассчитывать, запуская этот эмулятор.
Как вы можете видеть, чуть больше половины из протестированных сообществом и самими разработчиками эмулятора игр находятся в «зелёной» зоне. Это значит, что их можно пройти от А до Я. С приемлемым уровнем производительности и без фатальных зависаний. Из этого «зелёного» списка я например могу выделить Army of TWO, Asura’s Wrath (эдакий японский Бог Войны).
Dante’s Inferno, множество игр из серии God of War (пока, к сожалению, без номерной третьей части, но прогресс в ней огромный), Heavenly Sword, ICO и Shadow of the Colossus, Killzone, LittleBigPlanet, LocoRoco, Lollipop Chainsaw, Metal Gear Solid HD Collection, Mortal Kombat vs. DC Universe, NieR, Ninja Gaiden Sigma, Silent Hill HD Collection, Soul Calibur IV и V, ну и конечно же, Demon’s Souls.
Я буду рассказывать на примере Demon’s Souls, но вообще игры для PlayStation 3 существуют в двух вариациях:
Это первая вариация. Для запуска игры с такой структурой нам понадобится сделать вот что:
Самое время показать, что в итоге у нас получилось. Чуть ниже я приложу своё видео, в котором будет показан реальный игровой опыт в разрешении 4К.
Ютуб конечно в своём стиле. На самом деле этот участок не такой тёмный, поверьте мне.
Но и это ещё не всё. После первого (я надеюсь, удачного) запуска игры сделаем самую финальную правку. Щёлкаем правой кнопкой на иконке с игрой, затем выбираем OPEN CUSTOM CONFIG FOLDER.
Открываем имеющийся здесь файл текстовым редактором. Спускаемся в конец документа и в поле Log: в фигурных скобках прописываем следующее:
sceNp: Fatal. Закрываем файл и сохраняем внесённые изменения.
На этом совершенно точно всё. Я искренне надеюсь, что данный гайд окажется хоть кому-нибудь полезным и интересным. Ещё больше я надеюсь, что Шериф не станет удалять этот материал, т.к. никаких ссылок на бесплатное скачивание образов с играми я не привёл, а мог бы.
Новое обновление эмулятора RPCS3 сильно ускорило компиляцию шейдеров на многоядерных системах
А Ratchet & Clank Nexus как работал через ж..пу, так и работает через ж..пу. Жаль, одна из любимых игр PS3.
Даже еще не начинал, хотя купил еще лет 5 назад.
Тоже одна из любимых игр, в которой давно выбита платина, хоть ка то работает на пс5 вообще ни как, притом что у них все козыря на руках исходники, если на пк смогли то и на пс5 можно был реализовать как майки, выходит сони просто не хочет давать денег на обратку морально устаревшей консоли, теперь сижу думаю не зря в цифре взята игра, вдруг сони закроет сервера пс3, у меня там игр не так много но всё же.
Ты так сильно переживаешь за сервера? Это же не мультиплеер, скачка игр по другому работает.
Просто, для примера, тестовая бета версия первой Destiny все ещё скачивается на консоль, 6 лет прошло, а бесполезная не рабочая бета всё ещё качается и лежит где то там. К слову, бету всего на неделю тогда открывали.
На psp уже ничего не скачаешь, сони закрыла сервера, если ps3 закроют псн уже не откуда будет скачать.
И да и нет, есть страница c RPCS4 на гитхаб, но она 4 года в АФК, но есть как минимум 3 эмулятора Spine, GPCS4 и Orbital, все они в очень ранней стадии, Orbital и Spine пока что с закрытым исходным кодом.
Ждем эмуль четвертой плойки
А что там с Xenia? стоят пока на месте?
На xenia-canary прощел diablo 3 и Gears of War Judgment сейчас играю в Gears of War 3
Меня больше Fable 2 интересует. Там до сих пор текстур земли нету, не стабильный FPS и отсутствует музыка.
Остались только старые сборки которые тянули Diablo 3 BLES01922 со скрипом.
вот эту тестил с Diablo 3 rpcs3-v0.0.6-8192-9dc03680_win64
Доверяю только этому чудокаватому Вьетнамцу ))
На его видео настройках и старой сборке я прошел D3 до 3 главы.
Последнюю которую он залил это не 13 а 12 версия с God of War: Ascension
Можете посмотреть в новых видео ))
kd-11 как бы один из основных разрабов эмулятора, он работает в основном над графикой и производительностью, и по возможности реализовывает новые функции, и есть как бы официальная стабильная ветка которую можно скачать с офф сайта эмулятора и тестовые ветки понятное дело для теста и чуть позже заливают на стабильную, и могут не совпадать версии основной и тестовых сборок.
P.S. да и Diablo 3 со статусом ingame это значит что играть можно, но эмуляция может быть не стабильна и эмулятор и игра могут вылетать и зависать.
P.S.2 в настройках эмулятора вообще ничего сложного нет.
kd-11 как бы один из основных разрабов эмулятора, он работает в основном над графикой и производительностью, и по возможности реализовывает новые функции,
И сколько я тестил, все его найденые решения играбельны.
эх ремастер бы первой bad company на пк
как же у косольщиков бомбит от этих новостей
Очень хорошая новость, радует что эмулятор не стоит на месте и его развивают. Но есть один вопрос.
Почему разработчики RPCS3 до сих пор не сделали возможность скачивать готовые пакеты шейдеров как это сделали разработчики эмуляторов Cemu (Nintendo Wii U) и Yuzu (Nintendo Switch)? Или тут какие-то возникают сложности с этим?
Как по мне, лучше добавить такую возможность. Сразу скачал готовый пакет шейдеров и не паришься с постоянными/новыми загрузками шейдеров.
то та у меня новая версия перестала запускаться(
на пс3 игорь тонет, а те что не тонет уже слили на пуку.
ну если сравнить с каким-нибудь помойным CEMU, то тут компиляция шейдеров просто молниеносная.
да и вообще, после версии 0.0.12 rpcs3 выглядит топчиком по быстродействию. недавно перепроходил говносоулс – так там компиляция шейдеров незаметна даже на HDD. вот в версиях 0.0.5-0.0.6 было действительно печально с этим процессом, как и в целом с производительностью.
А что не так с Cemu?, щас на Cemu компиляция вполне нормальная, не такая быстра как на видео Rpcs3, но вполне стабильная.
На Cemu один из самых быстрых компиляций, что ты несёшь? Да и кто мешает скачать эти шейдеры (я не шучу)?
в cemu на вулкане с асинхронными шейдерами все довольно быстро компилируется и не лагает почти.
Vulkan и async compile не согласны с вашим коментарием.