Автор Тема: rpcs3 - Эмулятор PS3  (Прочитано 850625 раз)

0 Пользователей и 2 Гостей просматривают эту тему.

Оффлайн Йобан Матич

  • Emu-Land Team
  • Сообщений: 2593
  • Пол: Мужской
    • Просмотр профиля
rpcs3 - Эмулятор PS3
« : 29 Июнь 2012, 00:42:01 »



Вся необходимая информация находится под спойлером ниже:
« Последнее редактирование: 12 Июль 2022, 02:19:10 от ALEX_230_VOLT »

Оффлайн Ogr

  • Пользователь
  • Сообщений: 7342
    • Просмотр профиля
rpcs3 - Эмулятор PS3
« Ответ #2010 : 20 Сентябрь 2017, 06:46:41 »
То есть, вмешательство, со стороны "пользователя", то бишь чайника. Как по вашему, это бы не навредило, явному для профи, святому граалю, таковому как - совместимость, она же точность?
пока что скорости современных топовых ЦП до точной эмуляции в реальном времени доросли лишь до 4го (и частично 5го) поколения... так что, не переживай, точной эмуляции 7го поколения не будет ещё ооооооооооооооооооооооооооооооооооооооооочень долго. :lol:

Оффлайн Слэйер Мун

  • Пользователь
  • Сообщений: 1022
  • Пол: Мужской
  • The Legend
    • Просмотр профиля
rpcs3 - Эмулятор PS3
« Ответ #2011 : 20 Сентябрь 2017, 07:22:46 »
Слэйер Мун
О какой кастле речь?
Harmony of Despair.

Оффлайн ElkTheSenior

  • Пользователь
  • Сообщений: 827
    • Просмотр профиля
rpcs3 - Эмулятор PS3
« Ответ #2012 : 20 Сентябрь 2017, 07:42:57 »
Пока что скорости современных топовых ЦП до точной эмуляции в реальном времени доросли лишь до 4го (и частично 5го) поколения.

Исходишь мнением из скорости камней, или рук тех, кто пишет программы, под те самые "топовые" камни? Слыхал, специалисты/писатели, способны на МНОГО более, чем позволено железу. Разве нет? Вспомни тех маэстро, что писали код на чистом ассемблере, и где они сейчас.

Нынче практически всецело полагаются на вычислительные мощности, нежели на прямые руки. Ты так не считаешь?


« Последнее редактирование: 20 Сентябрь 2017, 07:49:38 от ElkTheSenior »

Оффлайн Softer

  • Пользователь
  • Сообщений: 4187
  • Пол: Мужской
    • Steam
    • Просмотр профиля
rpcs3 - Эмулятор PS3
« Ответ #2013 : 20 Сентябрь 2017, 12:17:32 »
Раньше пахала Кастлевания (2Дшная), теперь не пашет. Только у меня? 
Нет, не только.

О да, теперь мне наверняка известна причина сих симптомов. Благодарю  ... Ибо многие demo отказывались стартовать, сообщая в логе о некоих проблемах со SPU, будь он любой масти. Null при это не спасал, выдавая blackscreen с практически нулевым значением счётчика FPS на OGL и Vulkan.

Учитывая то, что нынешний мой кремниевый товарищ, способен, максимум, лишь на AVX из поддерживаемых эмулятором инструкций из SSSE3, AVX и AVX2 (2.0), можно предположить, что проблема была в последнем.

Не совсем въезжаю, как это может соотноситься с Q6600 (SSSE3), когда речь идёт о итерациях AVX?
Речь не шла о "итерациях" AVX (я просто перечислил их для желающих поискать), речь шла о AVX в принципе. Если тебя интересуют именно "итерации" AVX, то в коде замечены только указания на векторы 128-битной длинны. 256-битные AVX2 в коде не встречаются.
Из этого следует, что твои проблемы с демками имеют другие причины возникновения. Эмуль пока очень сырой и в нём постоянно что-то то заводится, то не заводится, по множеству причин. Куда эффективнее для поиска причины будет указание игры, билда, железа, дров GPU, для коллективного поиска причины или подтверждения того, что не работает у всех.
« Последнее редактирование: 20 Сентябрь 2017, 12:59:57 от Softer »

Оффлайн nonamezerox

  • Пользователь
  • Сообщений: 322
    • Просмотр профиля
rpcs3 - Эмулятор PS3
« Ответ #2014 : 20 Сентябрь 2017, 12:41:54 »
Вспомни тех маэстро, что писали код на чистом ассемблере, и где они сейчас.

Там же где и раньше, последние 20 лет - микроконтроллеры, встраиваемые системы и прочий эмбед.

Слыхал, специалисты/писатели, способны на МНОГО более, чем позволено железу. Разве нет?

Конечно нет. Опитимизировать можно только неэффективные алгоритмы и, затем, неэффективные реализации, если модификация самих алгоритмов не помогает.  В любом случае, скорость железа тут предел, если не брать в расчет разномастный оверклокинг. И  в случае эмулятора правило "1 такт эмулируемой машины =  N тактов той, где запущен эмулятор" не обойти никак, можно лишь уменьшать это самое N, как правило путем различных упрощений вроде HLE, JIT-рекомпилятора, замены геморного по производительности функционала хаками на каждую конкретную игру.

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

Добавлено позже:
Нынче практически всецело полагаются на вычислительные мощности, нежели на прямые руки. Ты так не считаешь?

Естественно. Индустрия IT с тех пор выросла и теперь главное - выпустить продукт раньше всех, о качестве и производительности уже мало кто думает - важна исключительно скорость разработки и гонка за модными средствами разработки.
« Последнее редактирование: 20 Сентябрь 2017, 12:55:06 от nonamezerox »

Оффлайн Psycho-A

  • Пользователь
  • Сообщений: 384
    • Просмотр профиля
rpcs3 - Эмулятор PS3
« Ответ #2015 : 24 Сентябрь 2017, 00:52:28 »
Я может, открою многим здесь Америку, но я нашел причину медленной загрузки кэша при повторных запусках (когда может грузиться по полчаса). Дело в том, что это, по сути, уже не загрузка, а повторная компиляция. Эмулятор кэширует на диск не откомпилированный код, а фрагменты кода самой консоли, а компиляцией потом занимается видеокарта. Код сохраняется драйвером в %AppData%/NVidia/GLCache/... (для Нвидии, для Радеонов не знаю). Так вот, либо при запуске новой игры или новой версии эмулятора, либо при каких-то системных процессах, видеодрайвер этот кэш компиляции очищает либо обнуляет. Что дальше - вполне очевидно. В общем необходим пересмотр всей этой системы, чтобы компилированные данные сохранялись эмулятором локально и могли быть повторно использованы.
« Последнее редактирование: 24 Сентябрь 2017, 10:54:45 от Psycho-A »

Оффлайн stalker4

  • Пользователь
  • Сообщений: 1041
    • Просмотр профиля
rpcs3 - Эмулятор PS3
« Ответ #2016 : 24 Сентябрь 2017, 07:54:08 »
В общем необходим пересмотр всей этой системы, чтобы кэш сохранялся локально.
А мне кажется, необходимо переписать снова этот обработчик вершин, чтоб была реалтайм-компиляция как раньше.

Оффлайн Skay

  • Пользователь
  • Сообщений: 4109
  • Пол: Мужской
    • Просмотр профиля
rpcs3 - Эмулятор PS3
« Ответ #2017 : 24 Сентябрь 2017, 10:26:01 »
stalker4, возьми да сделай, на гите код открыт. Делаешь форк,  откати нужные места до момента где была старая реализация, и потом новые версии мерджи с этой. И радуйся своей риалтайм-компиляции.))
« Последнее редактирование: 24 Сентябрь 2017, 10:57:49 от Skay »

Оффлайн Leprikon

  • Пользователь
  • Сообщений: 844
  • Пол: Мужской
    • Просмотр профиля
rpcs3 - Эмулятор PS3
« Ответ #2018 : 24 Сентябрь 2017, 10:52:22 »
А мне кажется, необходимо переписать снова этот обработчик вершин, чтоб была реалтайм-компиляция как раньше.
А ты умеешь кодить? Знаешь как работает приставка? Если нет, то  у тебя нет особого права что-то говорить на эту тему.

Оффлайн ElkTheSenior

  • Пользователь
  • Сообщений: 827
    • Просмотр профиля
rpcs3 - Эмулятор PS3
« Ответ #2019 : 24 Сентябрь 2017, 21:40:31 »
Так вот, либо при запуске новой игры или новой версии эмулятора, либо при каких-то системных процессах, видеодрайвер этот кэш компиляции очищает либо обнуляет.

GLCache, скорее всего, - переписывается, как и в случае с NVCache, после переполнения. В случае с NVCache, этот лимит не должен превышать 256 мегабайт, со слов разработчика дров.


Оффлайн stalker4

  • Пользователь
  • Сообщений: 1041
    • Просмотр профиля
rpcs3 - Эмулятор PS3
« Ответ #2020 : 25 Сентябрь 2017, 03:09:23 »
stalker4, возьми да сделай, на гите код открыт. Делаешь форк,  откати нужные места до момента где была старая реализация, и потом новые версии мерджи с этой. И радуйся своей риалтайм-компиляции.))
Не, я не про то что бы вернуть старую функцию, ее ж переписали так как разработчиков она явно не устраивала. Я про то чтоб переписать ее еще раз, дабы исправить недостатки, на которые многие жалуются, в том числе долгий лод кэша при перезапуске игры, его повторная компиляция и прочее. Но это всего лишь бред нытика сталкера и наивные мечты.....
Я все еще держусь и не качаю новые ревизии, скачаю как и планировал в начале октября, аж не терпится узнать чего они за месяц наворотили  :D

Оффлайн nonamezerox

  • Пользователь
  • Сообщений: 322
    • Просмотр профиля
rpcs3 - Эмулятор PS3
« Ответ #2021 : 25 Сентябрь 2017, 09:49:55 »
Я может, открою многим здесь Америку, но я нашел причину медленной загрузки кэша при повторных запусках (когда может грузиться по полчаса).

Да, открыл. Причем именно об этом и именно тебе и писал еще месяц назад.

Еще раз.

В долфине решили проблему путем полной эмуляции FIXED FUNCTION PIPELINE видеопроцессора Flipper, и, до этого у ишируки, путем пропуска пиксельной части этого самого PIPELINE.

В видеопроцессоре RSX - PROGRAMMABLE PIPELINE. Его нельзя заэмулировать целиком с помощью огромного шейдера, как это сделали в долфине.

P.S. С кешем rpcs3 проблема в том что он сделан неправильно. Он вообще сохраняет непереведенные программы RSX (то бишь в родном формате PS3), в то время как нужно сохранять уже скомпилированные  шейдеры под конкретный бэкенд.

По этому поводу BlackDaemon тогда ответил, что с текущей архитектурой эмулятора ждать исправления не скоро но стоит, потому что декомпилятор (часть кода, занимающаяся разбором декодированием микрокода кода RSX перед генерацией кода для ПК) у них все время правится и кеш в "родном формате" по этой причине будет постоянно "ломаться" при переходе на новый билд эмулятора и нужно ждать либо переписывания либо стабилизации кода этого самого рекомпилятора. И каких либо оптимизаций в этом плане тоже ждать только после того как эпопея  с декомпилятором разрешится.
« Последнее редактирование: 25 Сентябрь 2017, 10:13:35 от nonamezerox »

Оффлайн Psycho-A

  • Пользователь
  • Сообщений: 384
    • Просмотр профиля
rpcs3 - Эмулятор PS3
« Ответ #2022 : 25 Сентябрь 2017, 16:43:05 »
nonamezerox, я пока себе сделал проще - написал скрипт, который перед запуском эмуля импортирует предварительно-сохранённый GLCache в папку, видимую драйвером, и потом обратно после закрытия эмуля экспортирует все обновления кэша в это хранилище. О проблемах медленной загрузки теперь забыл. Чищу только при выходах мейджорных изменений. Ещё один плюс такой системы - можно вообще удалять весь pipeline-кэш из data/%игра%/%crc%-eboot.bin/shaders_cache/ по окончании игры - все скомпиленные с помощью него данные сохраняются в кэше драйвера, и из него же повторно и читаются. Старый пайплайн при такой системе "компилируется" моментально, по мере игры, и не грузит оперативу предзагрузкой всего шейдерного пака. Мне кажется, удачным развитием была бы именно такая система. Только вместо кэша видеокарты сделать некий свой универсальный формат.

Оффлайн Skay

  • Пользователь
  • Сообщений: 4109
  • Пол: Мужской
    • Просмотр профиля
rpcs3 - Эмулятор PS3
« Ответ #2023 : 25 Сентябрь 2017, 17:28:07 »
Psycho-A, а не проще линковать папку ? http://skesov.ru/sozdanie-simvolnoy-ssyilki-dlya-papki/

Оффлайн Psycho-A

  • Пользователь
  • Сообщений: 384
    • Просмотр профиля
rpcs3 - Эмулятор PS3
« Ответ #2024 : 25 Сентябрь 2017, 17:59:33 »
Skay, нет, не проще. Нужно, чтобы в файлы кэша ничего не вмешивалось, пока не работает эмулятор, или работает другая его версия. Как уже писалось выше, драйвер иногда его очищает или переписывает. Поэтому спасает только физическая изоляция. К тому же, её можно легко расширять до индивидуальных файлов на каждую игру, версию эмулятора, рендера и т.д., что опять же значительно разгружает память.

Оффлайн Skay

  • Пользователь
  • Сообщений: 4109
  • Пол: Мужской
    • Просмотр профиля
Re: rpcs3 - Эмулятор PS3
« Ответ #2025 : 25 Сентябрь 2017, 18:27:12 »
Psycho-A, ну ничто не мешает написать 2 скрипта который линкует а потом убирает линк.
Так же можно линковать разные папки.
Комментировать каждый раз кэш - сомнительно. Ну и ничто не мешает то же теневое копирование включить чтоб если файлы удалятся можно было оикатить.  Или только чтение.  Хз. Придумать можно.
Копировать кэш который будет все больше и больше - немного не рационально на мой взгляд.

Оффлайн Psycho-A

  • Пользователь
  • Сообщений: 384
    • Просмотр профиля
rpcs3 - Эмулятор PS3
« Ответ #2026 : 25 Сентябрь 2017, 19:20:24 »
Skay, у меня этот процесс автоматизирован, поэтому я сейчас руками вообще ничего не делаю. Кэш архивится в 7z после работы эмуля в одно и то же место и занимает сущие копейки.

Оффлайн Vochatrak

  • Пользователь
  • Сообщений: 838
    • Просмотр профиля
rpcs3 - Эмулятор PS3
« Ответ #2027 : 25 Сентябрь 2017, 21:21:16 »
Цитата
я пока себе сделал проще - написал скрипт, который перед запуском эмуля импортирует предварительно-сохранённый GLCache в папку, видимую драйвером, и потом обратно после закрытия эмуля экспортирует все обновления кэша в это хранилище.
Вообще мог бы и поделиться.

А о какой "папке видимой драйвером" речь?

Оффлайн Ogr

  • Пользователь
  • Сообщений: 7342
    • Просмотр профиля
rpcs3 - Эмулятор PS3
« Ответ #2028 : 25 Сентябрь 2017, 21:30:21 »
Вообще мог бы и поделиться.
открой для себя командную строку, и в частности команду COPY. :lol:

Оффлайн Vochatrak

  • Пользователь
  • Сообщений: 838
    • Просмотр профиля
rpcs3 - Эмулятор PS3
« Ответ #2029 : 25 Сентябрь 2017, 21:42:59 »
Ogr
cp -a -r -u /что? /куда?

Оффлайн Ogr

  • Пользователь
  • Сообщений: 7342
    • Просмотр профиля
rpcs3 - Эмулятор PS3
« Ответ #2030 : 25 Сентябрь 2017, 21:50:51 »

Vochatrak, у нвидиа в вин7 это C:\Users\юзер\AppData\Roaming\NVIDIA\GLCache

Оффлайн Vochatrak

  • Пользователь
  • Сообщений: 838
    • Просмотр профиля
rpcs3 - Эмулятор PS3
« Ответ #2031 : 25 Сентябрь 2017, 22:04:29 »
Ок. Нашел - ~/.nv/GLCache/
Что и в каком виде туда переносить?

Оффлайн Ogr

  • Пользователь
  • Сообщений: 7342
    • Просмотр профиля
rpcs3 - Эмулятор PS3
« Ответ #2032 : 25 Сентябрь 2017, 22:18:59 »
Ок. Нашел - ~/.nv/GLCache/
Что и в каком виде туда переносить?
то, что создастся после её очистки, запуска rpcs3 в огл, нужной игры, и играния в неё = кеширования. :facepalm:

Оффлайн Vochatrak

  • Пользователь
  • Сообщений: 838
    • Просмотр профиля
rpcs3 - Эмулятор PS3
« Ответ #2033 : 25 Сентябрь 2017, 22:35:46 »
Я спрашиваю как кидать - просто перенести или в подпапку? А он мне фигвамы фейспалмы рисует. :neznayu:

Для Вулкана есть похожие рецепты?

Оффлайн nonamezerox

  • Пользователь
  • Сообщений: 322
    • Просмотр профиля
rpcs3 - Эмулятор PS3
« Ответ #2034 : 26 Сентябрь 2017, 07:51:02 »
Мне кажется, удачным развитием была бы именно такая система. Только вместо кэша видеокарты сделать некий свой универсальный формат.

Будет такая система. Когда разработчики вопрос с декомпилятором порешают.

Оффлайн Psycho-A

  • Пользователь
  • Сообщений: 384
    • Просмотр профиля
rpcs3 - Эмулятор PS3
« Ответ #2035 : 26 Сентябрь 2017, 16:31:55 »
Вообще мог бы и поделиться.
Пожалста. Только не пугаться :) Это полный скрипт для запуска только одной игры со всякими украшательствами, многое можно убрать (самому сейчас лень).


Добавлено позже:
Будет такая система. Когда разработчики вопрос с декомпилятором порешают.
Ещё бы решили вопрос с выгрузкой неиспользуемого кэша из оперативной памяти, ибо потребление в 12 Гб там, где без кэша всего 1,5 - это абсолютно неадекватно.
« Последнее редактирование: 26 Сентябрь 2017, 17:44:19 от Psycho-A »

Оффлайн Softer

  • Пользователь
  • Сообщений: 4187
  • Пол: Мужской
    • Steam
    • Просмотр профиля
rpcs3 - Эмулятор PS3
« Ответ #2036 : 26 Сентябрь 2017, 19:57:17 »
Ещё бы решили вопрос с выгрузкой неиспользуемого кэша из оперативной памяти, ибо потребление в 12 Гб там, где без кэша всего 1,5 - это абсолютно неадекватно.
Это не эмулятора проблема.

Оффлайн Йобан Матич

  • Emu-Land Team
  • Сообщений: 2593
  • Пол: Мужской
    • Просмотр профиля
rpcs3 - Эмулятор PS3
« Ответ #2037 : 26 Сентябрь 2017, 20:34:57 »
Это не эмулятора проблема.

ВОТ эмулятора проблема.

Оффлайн CCCP1982

  • Пользователь
  • Сообщений: 799
  • Пол: Мужской
  • Прошел Dead Space 2 PS3 на Невозможном !
    • Просмотр профиля
rpcs3 - Эмулятор PS3
« Ответ #2038 : 26 Сентябрь 2017, 20:45:26 »
ВОТ эмулятора проблема.
разборки) :D

Оффлайн BlackDaemon

  • Пользователь
  • Сообщений: 720
  • Пол: Мужской
    • Просмотр профиля
rpcs3 - Эмулятор PS3
« Ответ #2039 : 26 Сентябрь 2017, 20:56:32 »
Да, товарищей из Atlus жаба давит :) Самое забавное, что на сам эмулятор в целом им как-то побоку, но вот факт запуска и играбельности Persona 5 на "вражеской" платформе их очень огорчает, да так, что они аж телегу на патреон накатили (хотя можно на примере других издателей адекватно решить эту проблему, но бараны - они везде...бараны :lol: ).