RPCS3 преодолел новый рубеж: 80 % проверенных игр PS3 теперь можно пройти на ПК
Эмуляция PlayStation 3 долго считалась одной из самых сложных задач в мире консольных эмуляторов. Необычная архитектура процессора Cell заставляла разработчиков буквально воспроизводить на ПК поведение системы, сильно отличавшейся от привычных компьютеров. Спустя почти 15 лет разработки RPCS3 дошёл до важной отметки: 80 % игр в его базе совместимости получили статус Playable.
Это означает, что их можно пройти от начала до конца с нормальной производительностью и без критических ошибок, которые делают прохождение невозможным.
Есть и второй символический результат: в базе RPCS3 больше не осталось игр категории Loadable, то есть проектов, которые эмулятор способен открыть, но дальше чёрного экрана или первого этапа загрузки дело не идёт.
Последней такой игрой была Tom Clancy's H.A.W.X. 2.
Одна ошибка в SPU годами не давала H.A.W.X. 2 нормально запуститься
Проблема оказалась связана с эмуляцией сопроцессоров SPU — одной из самых необычных частей архитектуры PlayStation 3.
Основной процессор Cell имел центральное ядро PPE и несколько специализированных SPU, которые разработчики игр использовали для физики, графических расчётов, аудио и множества других задач. На современном x86-компьютере всё их поведение приходится программно воспроизводить.
Разработчик RPCS3 под псевдонимом Yahfz обнаружил неточность в эмуляции загрузчика потоков SPU. Эмулятор неправильно воспроизводил часть параметров, которые системное ядро PS3 LV2 записывало в локальную память сопроцессоров.
Из-за этого данные повреждались ещё при запуске H.A.W.X. 2.
После исправления авиасимулятор наконец перешёл из категории Loadable в Ingame — теперь игровой процесс начинается.
Правда, это ещё не означает полной совместимости. Статус Ingame говорит только о том, что играть возможно, но графические ошибки, сбои или недостаточная производительность пока могут помешать пройти проект полностью.
80 % — не значит, что остальные игры вообще не запускаются
У RPCS3 довольно строгая система категорий.
Playable означает возможность пройти игру от начала до конца. Большая часть оставшихся проектов относится к Ingame: они запускаются и позволяют играть, но имеют заметные проблемы.
Ещё примерно два десятка проектов имеют статус Intro. Они доходят до меню или вступительных экранов, но до полноценного игрового процесса пока не добираются.
Причём прогресс идёт довольно быстро. Ещё летом доля Playable составляла около 75 %, а к 21 октября выросла до 80 %. Улучшения связаны не с одной волшебной оптимизацией, а с сотнями изменений в эмуляции Cell, RSX, SPU, контроллеров и системных функций PS3.
Особенно сложными остаются игры, которые необычно используют оборудование консоли, PlayStation Move или давно отключённые сетевые сервисы.
Есть и ещё одна оговорка: статистика совместимости RPCS3 не охватывает абсолютно каждый когда-либо выпущенный продукт для PS3, особенно некоторые проекты, существовавшие только в сетевом режиме.
Тем не менее нынешний результат хорошо показывает, насколько далеко продвинулась эмуляция. Консоль, архитектура которой когда-то считалась кошмаром даже для профессиональных разработчиков, теперь имеет библиотеку, подавляющее большинство которой можно запускать на обычном современном ПК.
И самое показательное здесь даже не число 80 %. Категория игр, которые RPCS3 вообще не мог довести до игрового процесса, фактически исчезла.
