Добавить в корзинуПозвонить
Найти в Дзене
DigiNews

Эмулятор RPCS3 выдал более 1500 FPS на экране меню Minecraft

Команда эмулятора RPCS3 хвастается огромной оптимизацией, хотя фанаты жалуются, что многие тайтлы остаются неиграбельными без новейшего оборудования. — tomshardware.com Если вы сами не являетесь разработчиком низкоуровневого ПО, вы, вероятно, не представляете, насколько сложна разработка эмуляторов. Честно говоря, эмулятор RPCS3 для PlayStation 3, вероятно, является одним из наиболее плотно оптимизированных программных продуктов, находящихся в активной разработке сегодня. Яркий пример: официальный аккаунт проекта в X только что опубликовал скриншот, на котором приложение запускает версию Minecraft для PlayStation 3 и достигает примерно 1558,84 FPS на стартовом экране.
Есть много «да, но» относительно этого результата. Это Minecraft, и более того, это даже не игровой процесс; это стартовый экран. Важно понимать, что это не просто «запуск Minecraft с частотой более 1500 FPS». Это «имитация работы PS3, которая запускает Minecraft с частотой более 1500 FPS». Это совершенно иная задача, на

Команда эмулятора RPCS3 хвастается огромной оптимизацией, хотя фанаты жалуются, что многие тайтлы остаются неиграбельными без новейшего оборудования. — tomshardware.com

Если вы сами не являетесь разработчиком низкоуровневого ПО, вы, вероятно, не представляете, насколько сложна разработка эмуляторов. Честно говоря, эмулятор RPCS3 для PlayStation 3, вероятно, является одним из наиболее плотно оптимизированных программных продуктов, находящихся в активной разработке сегодня. Яркий пример: официальный аккаунт проекта в X только что опубликовал скриншот, на котором приложение запускает версию Minecraft для PlayStation 3 и достигает примерно 1558,84 FPS на стартовом экране.
Есть много «да, но» относительно этого результата. Это Minecraft, и более того, это даже не игровой процесс; это стартовый экран. Важно понимать, что это не просто «запуск Minecraft с частотой более 1500 FPS». Это «имитация работы PS3, которая запускает Minecraft с частотой более 1500 FPS». Это совершенно иная задача, находящаяся в совершенно другой галактике сложности.
Для справки, PlayStation 3 была выпущена в ноябре 2006 года. Это игровая консоль с графическим процессором Reality Synthesizer, или RSX, который очень близок по родству (хотя и не идентичен)
к NVIDIA GeForce 7800 GTX, хотя и с вдвое меньшей пропускной способностью памяти и некоторыми другими доработками. Этот графический процессор сопряжен с IBMSony-Toshiba Cell Broadband Engine — одноядерным процессором PowerPC с восемью «элементами синергетической обработки» (SPE), прикрепленными к нему сзади, хотя в финальной конфигурации функционируют только семь.
Итак, одноядерный процессор с SIMD и старый графический процессор. Легко эмулировать на современном оборудовании, не так ли? Нет. Архитектура PS3 легендарно своеобразна. RSX и Cell обмениваются данными через проприетарную шину FlexIO, которая бывает чрезвычайно быстрой — иногда. Для определенных передач она может быть медленной, до 16 мегабайт в секунду. Ситуацию усложняет то, что
задержка операции FlexIO варьируется в зависимости от того, читаете вы или записываете, и с каким устройством вы взаимодействуете. Это важно, потому что программное обеспечение запрограммировано на ожидание определенной задержки, и ее нарушение может привести к сбою программы или другому непредвиденному поведению.
Более того, SPE процессора Cell не похожи на SIMD-блоки современного ЦП. Они находятся где-то между ними и дискретными ядрами ЦП, имея собственное 256 КБ «Локального хранилища» (Local Storage) и собственный контроллер памяти, который работает независимо от «SPU», который является фактическим функциональным блоком внутри SPE. SPU могут работать
только с данными, находящимися в их собственном Локальном хранилище, но загрузка данных в Локальное хранилище и из него должна выполняться разработчиком вручную путем отправки команд Контроллеру Фабрики Памяти внутри каждого из шести используемых SPE (один зарезервирован для функций ОС).
Что еще хуже, SPU — это феноменально странные процессоры. Они могут работать только с небольшим количеством типов данных и выполнять операции, на которые современные процессоры просто не способны без значительных усилий по перетасовке битов; одна инструкция распадается на десятки. В частности, SPU выполняют множество 128-битных атомарных операций, которые требуют тонны сложного, плотно оптимизированного кода для быстрой и точной эмуляции на процессорах x86-64, и это не считая попыток выполнить такую эмуляцию с «достаточно близкой» задержкой. Недавно добавленные инструкции в рамках расширений ISA AVX-512
помогают в этом, но не решают проблему полностью.
Все это к тому, что да, это стартовый экран Minecraft. Это стартовый экран Minecraft, выводимый из приложения, которое эмулирует всю эту таинственную аппаратную часть PlayStation 3 менее чем за две трети миллисекунды (0,64 мс). Я не шутил, когда говорил, что RPCS3 — одно из самых сильно оптимизированных программных обеспечений на планете. Рекомпилятор делает то, на что обычные разработчики
смотрели бы в недоумении ради скорости.
Тем не менее, ответы на пост в Twitter в основном неблагодарны. Легко понять их чувства; когда игра 2009 года не запускается плавно на вашем оборудовании 2026 года, это кажется нелепым — хотя мы должны отметить, что реальное оборудование 2026 года, как правило, будет запускать все отлично; даже
God of War III и Meta*l Gear Solid 4 в основном играбельны на лучших ЦП для игр.
Простая реальность такова, что PS3 была прекрасным сбоем в плане машины, и то, как она работает, фундаментально отличается от того, как мы работаем в x86-мире. Тот факт, что приложение вообще существует, является свидетельством огромной работы, проделанной kd-11, Nekotekina, Whatcookie и десятками других участников этого проекта с открытым исходным кодом. Наш самый скромный поклон команде за то, что они пожертвовали бесчисленные часы своего свободного времени, чтобы постоянно продвигать вперед состояние сохранения игр PS3.

Facebook*, Instagram* и WhatsApp* принадлежат компании Meta* Platforms Inc., деятельность которой признана экстремистской и запрещена на территории Российской Федерации.

Всегда имейте в виду, что редакции могут придерживаться предвзятых взглядов в освещении новостей.

Автор – Zak Killian

Оригинал статьи