AnyPS5 добилась важного прогресса в достижении полного преобразования инструкций шейдера графического процессора PS5

📅 2026-10-09

Аннотация:

AnyPS5, проект с открытым исходным кодом, позволяющий запускать игры для PlayStation 5 непосредственно на компьютерах с Windows и Linux, в последнее время добился значительного прогресса. Разработчики проекта реализовали поддержку распознавания и преобразования для всех 1166 отслеживаемых на данный момент инструкций шейдеров графического процессора PS5 со степенью покрытия 100%. Это означает, что техническое препятствие для запуска игр PS5 на обычных ПК уменьшено на единицу, но перед крупномасштабной совместимостью с коммерческими играми все еще остается много проблем.

Техническая реализация AnyPS5 отличается от традиционных игровых эмуляторов. Традиционным эмуляторам обычно необходимо моделировать аппаратную среду игровой консоли, чтобы программы, изначально разработанные для консоли, могли работать на другой аппаратной платформе. Цель AnyPS5 — перекомпоновать исполняемые файлы игр для PS5 в программы, подходящие для Windows или Linux, и предоставить соответствующие реализации системной библиотеки, чтобы игры могли напрямую использовать процессор и графическое оборудование ПК в максимально возможной степени.

В PS5 используется специальный процессор AMD, а ЦП основан на архитектуре x86-64. Он имеет высокую совместимость с набором инструкций процессора, обычно используемым в современных компьютерах под управлением Windows и Linux, что обеспечивает удобство технического маршрута AnyPS5. Ожидается, что по сравнению с решениями, требующими моделирования всего оборудования хоста, этот подход снизит некоторые дополнительные накладные расходы.

Однако одинаковый набор инструкций ЦП не означает, что игры для PS5 можно запускать непосредственно на ПК. Игра также должна вызывать системные библиотеки, специфичные для PlayStation, графические интерфейсы и другие функции платформы. AnyPS5 должна предоставлять совместимые реализации для этих зависимостей, одновременно обрабатывая такие проблемы, как системные вызовы, управление ресурсами и рендеринг графики, связанные с выполнением игры.

Преобразование инструкций шейдера графического процессора — одна из ключевых задач. Шейдеры в играх отвечают за выполнение большого количества задач графических вычислений, включая обработку вершин, затенение пикселей, выборку текстур и другие операции, связанные с генерацией экрана. PS5 использует специальный графический процессор AMD, а ее система инструкций тесно связана с архитектурой серии AMD RDNA. Однако графическую программу, используемую в игре, все равно необходимо соответствующим образом преобразовать, прежде чем она сможет работать в целевой графической среде AnyPS5.

AnyPS5 использует перекомпилятор шейдеров для преобразования соответствующих программ графического процессора в формат SPIR-V, чтобы получить доступ к потоку обработки графики. SPIR-V — промежуточное представление, широко используемое при компиляции и передаче графики и вычислительных программ. Это может обеспечить определенную основу совместимости для обработки графики на разных аппаратных платформах.

Суть прогресса этого проекта заключается в том, что разработчики завершили распознавание и поддержку всех 1166 инструкций шейдеров графического процессора в текущем списке отслеживания. Эти инструкции охватывают несколько категорий, включая совместное использование данных, доступ к памяти, скалярные операции и векторные операции. Заполнение всего списка означает, что в проекте больше нет нереализованных записей для распознавания и обработки этих известных инструкций.

Но здесь есть очень важное отличие: 100%-ное покрытие инструкций не означает, что все инструкции были полностью и точно выполнены в каждой игре.

Способ подсчета проекта: если декодер шейдера может распознать соответствующую инструкцию, его можно считать реализованным. Таким образом, эта веха в основном указывает на то, что проект имеет возможность распознавать все отслеживаемые инструкции, но не означает, что были протестированы все сложные комбинации шейдеров, графические эффекты и игровые сцены.

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

В то же время AnyPS5 еще предстоит проделать большую работу в отношении системных библиотек. Уровень реализации функций системной библиотеки, отслеживаемый в настоящее время в рамках проекта, составляет примерно 84,76%, что соответствует 2575 реализованным функциям и 3038 отслеживаемым функциям.

К этому показателю также следует относиться с осторожностью. Функции 3038 представляют собой не все функции системы PS5, а те части проекта, которые в настоящее время включены в область отслеживания. По мере того, как разработчики открывают и добавляют новые функции системы, статистическая сумма все еще может увеличиваться, и, следовательно, скорость внедрения будет соответственно меняться.

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

Это также объясняет, почему достижение 100 % покрытия инструкций графического процессора не означает, что 100 % игр для PS5 можно запускать на ПК. Шейдеры — это лишь один из многих компонентов, от которых зависит запуск игры; системные библиотеки, поведение графики, механизмы синхронизации и другие функции также влияют на совместимость.

На данный момент AnyPS5 продемонстрировала некоторые реальные результаты работы. Например, информация о проекте показывает, что 2D-платформер «Dreaming Sarah» может работать со стабильными 60 кадрами на компьютере, оснащенном видеокартой NVIDIA GeForce GTX 1050 Ti и процессором Intel Core i5-7500.

Этот случай показывает, что техническая версия AnyPS5 больше не находится на теоретической стадии, и по крайней мере некоторые игры можно запускать на ПК с помощью соответствующих инструментов. Однако «Dreaming Sarah» — относительно простой 2D-платформер, и нельзя предположить, что сложные 3D-шедевры также смогут достичь такой же совместимости и производительности.

Для игр для PS5 со сложными графическими эффектами и большим количеством системных зависимостей, таких как «Gran Turismo 7», в настоящее время невозможно судить, когда они будут работать нормально, только на основе покрытия инструкций. Крупномасштабные игры обычно включают в себя более сложные процессы рендеринга, планирование ресурсов и функции платформы, что может потребовать от разработчиков решения проблем в каждом конкретном случае для конкретных игр.

По сравнению с традиционными эмуляторами альтернативы перекомпоновки и системной библиотеки, принятые AnyPS5, несколько привлекательны. Если мы сможем в полной мере использовать возможности процессора и графического процессора ПК, избегая при этом некоторых накладных расходов, связанных с моделированием всего аппаратного обеспечения хоста, мы сможем обеспечить более эффективный способ запуска некоторых игр в будущем.

Но этот технический путь также имеет свои ограничения. Эмуляторы обычно пытаются создать относительно универсальную операционную среду хоста, в то время как AnyPS5 необходимо постоянно дополнять и улучшать реализацию системной библиотеки и обеспечивать совместимость преобразованной программы с целевой платформой. Разные игры по-разному полагаются на системные функции, поэтому, даже несмотря на то, что общий прогресс проекта продолжает улучшаться, фактическая совместимость между играми все равно может иметь существенные различия.

Кроме того, Windows и Linux — это разные операционные среды. AnyPS5 необходимо создавать соответствующие исполняемые файлы для разных операционных систем и обрабатывать соответствующие системные интерфейсы и эксплуатационные требования. Тот факт, что игра работает на одной платформе, не обязательно означает, что она будет работать и на другой.

Судя по ходу разработки, степень покрытия инструкций шейдеров графического процессора достигла 100 %, что является важным поэтапным достижением проекта AnyPS5. Это устраняет явный технологический пробел в текущем списке треков, позволяя разработчикам больше сосредоточиться на совместимости системных библиотек, точности выполнения графики и конкретных проблемах выполнения игр.

Однако проекту все еще требуется более длительный период разработки, тестирования и оптимизации, прежде чем обычные игроки смогут легко запускать большое количество игр для PS5 на ПК. Помимо успешного запуска игры, вы также должны убедиться, что графика правильная, ввод нормальный, работа стабильна и что во время реального игрового процесса можно поддерживать приемлемую производительность.

Поэтому на данном этапе наибольшего внимания заслуживает не сама цифра 100%, а то, сможет ли AnyPS5 постепенно расширить список проверенных игр и позволить более сложным играм перейти от экспериментальной эксплуатации к стабильной играбельности. Поскольку преобразование инструкций графического процессора и реализация системной библиотеки продолжают совершенствоваться, перспектива запуска игр для PS5 на ПК действительно заслуживает большего внимания. Однако этот прогресс пока нельзя понимать как то, что игровая библиотека PS5 достигла широкой совместимости с ПК.

Связанные теги

Похожие статьи

Комментарии

0/500
Captcha (click to refresh)
Нет комментариев