Прогресс эмуляции (июнь 2016)

Прошло больше года с момента последнего отчета о прогрессе эмуляции. Разумеется, охватить в одной новости такой промежуток времени весьма затруднительно, поэтому начнем с чистого листа. Лето, солнце, пора отпусков и пляжей. Но разработчики эмуляторов и не думают останавливаться, ведь эмуляция для них - это любимое хобби (иногда мне кажется, что эмулировать они любят даже больше, чем загорать на пляже в окружении прекрасных дам). Итак, что случилось за июнь:

RPCS3: бесспорный лидер в этом месяце. Сделано столько всего, что и не перечислишь. Во-первых, всё хорошенько обдумав, разработчиками было принято решение относительно политики развития проекта: часто в ходе разработки становится очевидным, что нужны кардинальные изменения, которые на начальных этапах ломают имеющуюся совместимость. Однако изменения эти необходимы, в противном случае потенциал развития будет исчерпан, а избавление от прежних составляющих эмулятора с каждым новым коммитом будет всё сложнее и сложнее. На текущем этапе эмулятор имеет Pre-Alfa подзаголовок. Это означает, что в основную ветку на гитхабе будут отправляться экспериментальные, не совсем стабильно работающие, но столь необходимые изменения. Вот некоторые из них:
  • новый декомпилятор шейдеров. _DH_ с нуля написал данный инструмент, который на выхлопе выдает шейдеры просто великолепного качества (по сравнению со старым декомпилятором, обросшим хаками, запутанным кодом и нечитаемым результатом декомпилированных шейдеров). В данный момент умеет рекомпилировать бинарные шейдеры RSX в GLSL и используется в OpenGL рендерере. Т.к. база декомпилятора общая для Си-подобных шейдерных языков, не составит большого труда реализовать рекомпилятор в HLSL и использовать его в D3D12 рендерере;
  • множество улучшений в OpenGL рендерере; добавлена поддержка вершинных атрибутов, используемых в ps1ght-играх; исправлена загрузка матриц в вершинные шейдеры;
  • реализована поддержка тумана и alphakill;
  • добавлен небольшой спид-хак, который дает хороший прирост производительности в приложениях, использующих PSGL (спидап 52 -> 328 fps в сэмплах). Будет удален после реализации нового кэша текстур;
  • разработчик Nekotekina реализовал статический рекомпилятор PPU (подробнее в данной новости). AOT дает потрясающую производительность по сравнению с бывшим JIT, и продолжает активно развиваться;
  • другие мелкие фиксы в D3D12 и Vulkan рендерерах.

Dolphin: эмулятор GameCube / Wii продолжает развиваться, удивляя своей стабильностью и стремлением к точности. Буквально на днях состоялся релиз новой стабильной версии, который принес нам просто отличные результаты: повышение скорости, фиксы старых проблем, улучшение точности эмуляции... Не ленитесь, почитайте, чего они добились с момента релиза версии 4.0. Это действительно интересно и заслуживает похвалы!

Xenia: эмулятор Xbox 360 недавно обзавелся Vulkan - рендерером. Написан с нуля, очень многое уже умеет и активно допиливается. Например, с ним можно добраться до ингейма в Red Dead: Redemption и увидеть некоторые здания, геометрию и текстуры! И даже покрутить камерой (правда, главный герой пока не рисуется). Это очень серьезный прогресс. С возможностями нового графического API можно смело надеяться на играбельные скорости и точную эмуляцию, которую достичь будет теперь проще, чем на OpenGL. Мы внимательно следим за данным эмулятором.

Cemu: серая лошадка, с ходу удивившая всех просто ошеломительной скоростью развития. В первой своей proof-of-concept версии запускал лишь Mario и простые 2D-игры на скоростях ниже плинтуса, но со временем обзавелся очень шустрым динамическим рекомпилятором, кэшами текстур и шейдеров, и вообще претендует на звание эмулятора года (как в свое время PPSSPP). За прошедший месяц был релиз очередной версии (напомню, что исходники у проекта закрыты, и новые версии выходят примерно каждые 2 недели). Сейчас разработчики больше сосредоточены на эмуляции графической подсистемы консоли, в дальнейшем обязательно будут новости об этом замечательном проекте.

PCSX2: основной вектор развития по-прежнему направлен на GSDX-OGL. OpenGL рендерер активно пилится, стремясь к точности софтварного рендерера. Также производится множество фиксов в графическом интерфейсе пользователя, а также некоторые багфиксы в эмуляции VIF. Вкратце всё выглядит примерно так:
GSDX:
  • быстрая инвалидация текстур в кэше (дает прирост производительности до 3 раз в тех случаях, когда это было узким местом!);
  • улучшено определение размера фреймбуфера (в некоторых играх при использовании апскейла высота фреймбуфера вычислялась неправильно, что приводило к замыленности части экрана и вообще к различным неприятностям);
  • реализована поддержка чтения буфера глубины (PlayStation 2 умеет делать многие сумасшедшие вещи, в их числе - EE умеет читать данные буфера глубины для экономии памяти GS и используется в некоторых играх для получения различных эффектов). Исправлены проблемы с подобными эффектами в Kingdom Hearts II, ICO и Nocturne;
GUI:
  • новый симпатичный внешний вид для плагина OnePAD;
  • множество незаметных глазу фиксов под капотом, отвечающих за логику работы графического интерфейса пользователя;
Core:
  • фиксы в эмуляции нескольких инструкций VIF, исправляют графические проблемы в играх на движке Snowblind Engine.
PPSSPP: в свое время данный эмулятор в кратчайшие сроки достиг небывалых высот, сейчас продолжает шлифоваться и доводится разработчиками до совершенства. В июне они были сосредоточены на фиксах модулей, отвечающих за проигрывание Mpeg- и Psmf-медиафайлов, а также на всевозможных фиксах в рендерерах от OpenGL и D3D9 до Vulkan.
+8

Комментарии 7

  1. UnrealMister
    UnrealMister от 30 июня 2016 07:50
    Крутяк, как же этого не хватало.
    С нетерпением жду Fable 2 от Ксении, а вот в PPSSPP похоже отказались от поддержки PBP (PSX) и мечты об универсальном эмуле рухнули, год назад хоть что то запускало weep .
  2. EterniSamael
    EterniSamael от 30 июня 2016 18:21
    Дождался таки воскрешения сайта. Хотелось бы теперь новых ссылок и настроек на игры для Wii U, Xbox 360 и PS3. happy
  3. Vochatrak
    Vochatrak от 30 июня 2016 23:10
    Цитата
    Cemu: серая лошадка, с ходу удивившая всех просто ошеломительной скоростью развития.
    Что особенно радует, так это сравнительно низкие системные требования. 
    Игры можно запускать даже на довольно старом железе. 

    Xenia
    Зараза, требует AVX инструкций. Опробовать смогут не все.. sad

    Радует что разработчики всех эмуляторов начали внедрение Vulkan API.
  4. Darkriot
    Darkriot от 1 июля 2016 02:44
    Тоже люблю такие статьи "итоги месяца" smile
  5. alexgamefront
    alexgamefront от 1 июля 2016 04:58
    Просто и в трех словах: Глоток свежего воздуха! biggrin
  6. Nicko
    Nicko от 3 июля 2016 10:36
    о мой бог, просто гигантские скачки в прогрессе, вот бы такие скачки были не за год а за месяц в плане эмуляции
  7. demikraw
    demikraw от 5 июля 2016 17:06
    Когда-то, еще до "творческого кризиса" сайта я писал, что подожду нормальной работы Сайлент Хиллов на PPSSPP. Кто-то ответил, мол, до старости буду ждать. Вобщем, прав был этот некто XD
Добавить комментарий

Оставить комментарий