Разработчики открытого эмулятора PlayStation 3 RPCS3 внедрили оптимизации, которые должны заметно повысить производительность на системах с процессорами Arm. Изменения касаются низкоуровневой эмуляции SPU (Synergistic Processing Unit) и специализированных ядер, используемых в чипе Cell от Sony.
В центре внимания — инструкции Armv8 SDOT и UDOT (Signed и Unsigned Dot Product), которые позволяют выполнять операции умножения с накоплением над векторами за один такт. В RPCS3 их задействовали для эмуляции нескольких критически важных инструкций SPU: SUMB, а также GB, GBH и GBB. Ранее аналогичный приём уже использовался в версии эмулятора для архитектуры x86_64, где роль аппаратного ускорителя выполняют инструкции VNNI (Vector Neural Network Instructions), доступные в процессорах Intel и AMD. Теперь Arm-версия RPCS3 получила симметричную по духу оптимизацию.
Важное уточнение, которое сопровождает новость: речь не идёт о портировании эмулятора на Android или iOS. Разработчики RPCS3 ранее уже заявляли, что не планируют выпускать версии для мобильных платформ. Все изменения направлены на десктопные и ноутбучные системы, работающие под управлением Windows on ARM, macOS на Apple Silicon, а также FreeBSD и Linux на Arm-устройствах.
Сейчас RPCS3 активно адаптируют для использования на портативных игровых ПК и ноутбуках с чипами Qualcomm Snapdragon X, Apple M-серии и других Arm-процессорах, способных работать в режиме высокой производительности. Поскольку эмуляция PS3 остаётся ресурсоёмкой задачей, каждое улучшение на уровне инструкций может дать ощутимый прирост частоты кадров и сократить задержки.
Эмулятор RPCS3 остаётся одним из самых амбициозных проектов в своей нише. База совместимости насчитывает свыше 2 500 игр, отмеченных как
