Прогресс эмуляции (май 2017)

Вот и наступило лето! Хотя... кого я обманываю, трудно назвать это летом. Маябрь закончился, наступило время окунуться в мир эмуляции и посмотреть, что принес нам не самый теплый месяц этого года.


RPCS3: эмулятор PlayStation 3 выдал за последний весенний месяц 63 коммита. Изменений не то чтобы очень много, но все они очень серьезные:
  • реализована поддержка DualShock 4, включая гироскопы и вибрацию; также включена поддержка вибрации на XInput.
  • улучшена эмуляция sys_fs сисколлов и функций модуля cellFs: решает множество проблем, связанных с эмуляцией файловой системы, а также позволяет полноценно использовать LLE библиотеку cellFs
  • реализована синхронизация буферов в Vulkan рендерере
  • добавлен небольшой спидхак, основанный на назначении приоритетов потокам SPU
  • переписана эмуляция управления выводом в декомпиляторе вершинных шейдеров
  • улучшена система логгирования
  • исправлена эмуляция операции MFC_WrTagUpdate в SPU
  • переписана загрузка вершин в RSX, сильно улучшена скорость Vulkan рендерера (от 10 до 300%)
  • добавлен инсталлятор для Linux
  • небольшие фиксы в декомпиляторах шейдеров
  • также идет планомерное развитие Qt версии эмулятора


Dolphin: эмулятор GameCube / Wii, по своему обыкновению, выдает какое то сумасшедшее количество изменений - 248 коммитов! Как же непросто найти в этой куче что то интересное... Но мы всё же попытаемся:
  • значение задержки по-умолчанию в OpenAL увеличено с 2 до 5
  • IOS: реализована эмуляция IOSC библиотеки (криптомодуль в операционной системе Wii)
  • устранены вылеты на Android TV
  • множество фиксов и улучшений в Qt версии эмулятора
  • куча исправлений в эмуляции IOS
  • PPCAnalyst теперь более интеллектуальный
  • удален D3D12 рендерер
  • удален JITIL компилятор
  • добавлен вывод звука через CubebStream
  • небольшие фиксы в D3D рендерере

PCSX2: эмулятор PlayStation 2 не отличился большим прогрессом, но кое-что всё же есть:
  • небольшие фиксы в коде GUI плагина GSdx
  • чистка кода, удалены устаревшие конструкции в вызовах деструкторов классов
  • GSdx - Linux: устаревший GTK заменен на GTK3
  • реализован новый инсталлятор, основанный на NSIS 3.01
  • устранен вылет эмулятора при открытии плагинов, если программа была скомпилирована GCC-7.1.0
  • дампы GSdx теперь сразу делаются в сжатом формате (экономим место на диске)
  • реализованы битовые поля для регистра SYNCV


PPSSPP: у лучшего эмулятора PlayStation Portable открылось второе дыхание, изменений было просто куча:
  • реализовано еще несколько оптимизаций в JIT загрузчике вершин
  • в программном рендерере огромное количество исправлений: реализован мипмаппинг, исправлен расчет центров пикселей, улучшен расчет освещения, исправлено отображение линий, исправлен вывод при использовании D3D9, устранены вылеты в Android версии, написан JIT сэмплер, и еще много всего
  • проделана масштабная работа по устранению вылетов и зависаний, чистка кода
  • в D3D9 рендерере исправлен расчет полупиксельного смещения
  • удалены многие из настроек, которые могут привести к серьезным проблемам при неразумном использовании
  • реализован буфферизованный рендеринг в Vulkan рендерере
  • реализован программный скиннинг в Vulkan рендерере
  • исправлены вылеты и др. фиксы


Xenia: эмулятор XBox 360 стабильно развивался первую половину месяца, потом снова уснул:
  • добавлен нативный фронтенд для тестов PowerPC
  • несколько фиксов в эмуляции PowerPC с использованием нового инструмента тестирования
  • Vulkan Loader обновлен до версии SDK 1.0.46.0
  • уровень буфера команд в Vulkan рендерере теперь определяется при распределении, а не при построении
  • Vulkan теперь умеет смешивать цвета
  • множество других фиксов в эмуляции PowerPC


CXBX-Reloaded: эмулятор XBox развивается ровными темпами:
  • улучшен HLE кэш
  • фиксы для игр серии Panzer Dragoon
  • улучшена система логгирования
  • исправлены проблемы с управлением в некоторых играх
  • добавлена заглушка для IDirectSoundBuffer_Use3DVoiceData
  • различные улучшения в D3D рендерере
  • исправлены некоторые OOVPA таблицы для DSound
  • кэш HLE теперь автоматически очищается, если выбран LLE режим эмуляции
  • добавлен хак для обхода вылета в Jet Set Radio Future



Cemu: эмулятор Зельды Wii U обзавелся двумя публичными релизами. Про версию 1.7.5 вы можете почитать в соответствующей новости, а тут распишем про 1.8.0:
Основное:
  • исправлен баг при вычислении размера окна в полноэкранном режиме
  • добавлен поиск значений в виртуальной памяти
RPL:
  • оптимизирован загрузчик RPL
GX2:
  • Cemu теперь использует раздельные шейдеры: вершинные, геометрические и вершинные шейдеры теперь раздельные независимые программы. Это ломает совместимость со старыми кэшами шейдеров и графическими паками (если они содержат в себе шейдеры)
  • похожие текстуры теперь используются повторно с различными параметрами сэмплера
  • при использовании графических пакетов gl_FragCoord теперь масштабируется автоматически
  • реализована эмуляция шейдерных опкодов RECIPSQRT_FF и RECIP_FF
  • декомпилятор шейдеров GPU7 теперь выдает намного более оптимизированный GLSL код
  • лучшее определение для инвалидации в потоковом кэше
  • оптимизированы наиболее часто используемые GX2 API
  • оптимизировано декодирование текстур
  • добавлена опция '-nsight' в командную строку для отладки через NVIDIA Nsight
  • исправлен вылет, вызванный попыткой обращения к вершинным атрибутам вне границ массива

И видео прогресса Cemu



Ну что, друзья-эмуляторщики, будем надеяться на скорое наступление настоящего лета в этом году, и продолжаем следить за развитием наших любимых проектов!
+173

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

  1. Byte
    Byte от 2 июня 2017 20:55
    Странный скачок у Cemu, тем более не одной новой игры в ингейм
  2. лкщтпщ
    лкщтпщ от 2 июня 2017 21:36
    xqemu забыли
    1. Целых 6 коммитов с конца февраля. Не забыли, а намеренно пропустили.
      Единственный заметный результат - пофиксили проблему с таймингами на виндовых версиях, благодаря чему скорость стала примерно такой же, как на линухе. Т.е. максимум ~10 фпс в большинстве игр.
  3. Гость Vochatrak
    Гость Vochatrak от 2 июня 2017 23:01
    В RPCS3 добавлен инсталлятор для Linux
    А где этот инсталлятор скачать? 
  4. Матвей
    Матвей от 3 июня 2017 01:15
    Вы про 1.8.0 не правильно написали. Между 1.7.5 и 1.8.0 была куча изменений, а вы написали про изменения между патреонской 1.8.0 и релизной 1.8.0b
    1. Матвей
      Матвей от 3 июня 2017 01:17
      # Cemu detailed changelog for 1.8.0
      # Patreon release date: 2017-05-23
      # Public release date:  2017-05-30

      general: Added memory scanner (search and filter for values)
      general: If Cemu is maximized to fullscreen, it will remain on the same monitor rather than defaulting to the primary monitor

      RPL: Optimized loading of RPLs

      GX2: Cemu now uses separable shaders
          Vertex, geometry and pixel shaders are split into separate and independent programs rather than bundling them into sets
          This change breaks compatibility with pre-1.8.0 shader caches and graphic packs (if they contain shaders)
         
      GX2: Added support for using the same texture multiple times with different sampler parameters during a single drawcall
      GX2: Graphic pack texture rules will automatically scale gl_FragCoord
      GX2: Implemented shader instructions RECIPSQRT_FF and RECIP_FF
      GX2: GPU7 shader decompiler will output slightly more optimized GLSL code
      GX2: Better detection for invalidation of data in Streamout cache
      GX2: Optimized frequently used GX2 API
      GX2: Optimized texture decoding
      GX2: Added command line option '-nsight' to allow debugging via NVIDIA Nsight
    2. Чего? Разве в статье не перевод того, что вы скопипастили ниже?
  5. Anonymous
    Anonymous от 3 июня 2017 11:38
    Что-то перестали писать про citra-emu и decaf-emu.
    Citra-emu потяжелел на 1k строчку кода. Было добавлено 5k, а убрано 4k строк кода. Закрыто 26 сообщений об ошибках и добавлено 13 новых. Улучшения коснулись графического плагина, HLE ядра ос N3DS, удален встроенный дизассемблер.

    Decaf-emu потяжелел на 7k строчек кода. Добавлено было 7.5k строчек кода, а удалено 0.5k строк. Изменения и улучшения были в основном также связаны с ядром ОС, графическим плагином OpenGL, добавлены некоторые тесты. Был закрыт 1 отчет об ошибке и добавлено 3 новых. Также стоит отметить, что decaf-emu развивает OpenSource Nintendo Wii U SDK. Для SDK было добавлено 2989 строчек кода, а удалено 74 строчки кода.

    С начала года в decaf-emu было сделанно около 320 коммитов, что чуть более 2.1 коммита в день.  В citra-emu было сделано более 370 комитов с начала года, что чуть больше, чем 2.4 коммита в день.
  6. Гость Vochatrak
    Гость Vochatrak от 3 июня 2017 21:46
    Походу форкнули Цитру - https://github.com/Jhno591/citra-2
    Вроде побыстрее стала.

    Decaf-emu вообще хоть что-то запускает? 
  7. Anonymous
    Anonymous от 4 июня 2017 00:29
    > Decaf-emu вообще хоть что-то запускает?
    Вроде да. Но развивается гораздо медленнее, чем Cemu
    https://www.youtube.com/watch?v=oHcis1dAhUQ
    https://www.youtube.com/watch?v=FKp0uBNrjV4
  8. Гость Vochatrak
    Гость Vochatrak от 4 июня 2017 03:57
    Вроде да. Но развивается гораздо медленнее, чем Cemu
    Не знаю. Только что собрал и ничего не запустилось.
    Пробовал:
    • Doncey kong 
    • Tokio marage season #f
    • Xsenoblade chronicles X
    • Зельду


    1. Anonymous
      Anonymous от 4 июня 2017 14:35
      Цитата: Гость Vochatrak
      Только что собрал и ничего не запустилось.


      Хм, попробуй Armikrog или Wipeout 3. Они вроде идут.

      https://www.youtube.com/watch?v=_wLZLFmD6Fk
      https://www.youtube.com/watch?v=g2riqaR2Cik
Добавить комментарий

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