Содержание
RPCS3 получил крупную оптимизацию эмуляции процессора Cell в PlayStation 3. Разработчики улучшили перекомпиляцию кода SPU, и это дало прирост производительности во всей библиотеке игр. На примере Twisted Metal команда показывает +5-7% среднего FPS между сборками v0.0.40-19096 и v0.0.40-19151.
Что именно ускорили в эмуляции SPU
Архитектура Cell устроена непривычно даже по меркам «странных» консолей нулевых. У неё есть PowerPC-ядро PPU и до семи сопроцессоров Synergistic Processing Unit (SPU). Каждый SPU — это 128-битный SIMD-блок со своей локальной памятью 256 КБ.
Для PC всё это нужно повторить программно. RPCS3 исполняет SPU-нагрузку через перекомпиляцию: берёт инструкции Cell и переводит их в нативный x86-код. Для этого проект использует бэкенды LLVM и ASMJIT. Чем «чище» и короче выходит машинный код на стороне ПК, тем меньше времени хост-процессор тратит на один и тот же цикл SPU.
Узкое место тут давно известно: именно SPU-эмуляция чаще всего упирается в CPU. На реальной PS3 игры могли грузить до шести SPU параллельно. В эмуляторе это превращается в несколько потоков на хосте, которые ещё нужно эффективно кормить работой.
Лид-разработчик RPCS3 Elad (в кодовой базе — elad335) нашёл ранее неописанные паттерны использования SPU в играх и добавил новые пути генерации более эффективного кода для ПК. В итоге RPCS3 компилирует те же SPU-задачи в более «плотный» машинный код и снижает CPU-оверхед «по всему фронту».
Прирост в Twisted Metal и эффект на слабых CPU
Для демонстрации команда выбрала Twisted Metal — это один из самых SPU-интенсивных тайтлов на PS3. Между сборками v0.0.40-19096 и v0.0.40-19151 разработчики фиксируют 5-7% прироста среднего FPS.
В сравнительных роликах RPCS3 уточняет важную деталь: сцена, где мерили производительность, каждый раз чуть отличается. Там динамический свет, меняются позиции NPC и эффекты окружения, поэтому небольшие визуальные расхождения между прогоном — нормальная история.
Отдельно разработчики говорят, что оптимизация помогает «от низкого до высокого сегмента CPU». В качестве живого примера они приводят отзывы пользователей: на двухъядерном AMD Athlon 3000G люди заметили улучшение рендеринга звука и слегка лучшую производительность в Gran Turismo 5. Для такого бюджетного APU PS3-эмуляция обычно остаётся тяжёлой задачей, так что даже небольшой плюс там ощущается сильнее.
Контекст: прошлые ускорения SPU и поддержка Arm64
Это не первая крупная работа Elad в этой части эмулятора. В июне 2024 его SPU-оптимизации давали 30-100% прироста на конфигурациях с 4 ядрами и 4 потоками. В отдельных играх, включая Demon’s Souls, фреймрейт на «зажатых» CPU доходил до удвоения.
В марте RPCS3 показывал более 1500 FPS на титульном экране Minecraft: PS3 Edition. Проект использовал это как показатель эффективности своей перекомпиляции.
А ещё важный тренд последних месяцев — ускорение SPU-эмуляции на Arm. В свежих изменениях RPCS3 добавил оптимизации под инструкции Arm64 SDOT и UDOT, чтобы быстрее исполнять SPU-нагрузку на Arm-железе. Это относится и к Apple Silicon в Mac, и к ноутбукам на Snapdragon X.
По совместимости у RPCS3 картина уже взрослая: проект отмечает, что более 70% библиотеки PS3 сейчас имеет статус «playable». Эмулятор работает на Windows, Linux, macOS и FreeBSD, а нативную поддержку Arm64 добавили в конце 2024.
О новом «прорыве» в эмуляции Cell команда RPCS3 рассказала 3 апреля 2026 года, подчеркнув, что оптимизация SPU перекомпиляции улучшает производительность во всех играх.