Вышла новая версия RTSS 7.3.4 Beta 9 Build 27524

Алексей Николайчук, как ранее и сообщалось, продолжил работу над утилитой RivaTuner Statistic Server, и объявил о готовности версии RTSS 7.3.4 Beta 9 Build 27524. Главным изменением стала нормализация работы игры Atomic Heart в версии VK Play, а также других игр VK Play.

Перечень изменений RTSS 7.3.4 Beta 9 Build 27524 включает:

  • Приоритет выбора устройства D3D1x, который был изменён с восходящего на нисходящий для улучшения совместимости с ReShade 5.6 в предыдущей бета-версии, теперь является необязательным и может быть выбран опытными пользователями. Те, кто не использует ReShade, могут вернуться к старому восходящему приоритету для тестирования и устранения неполадок, если это необходимо.
  • Я заметил, что макет мини-оверлея, представленный в предыдущей версии, неправильно использовал динамические цвета, основанные на температуре ЦП / ГП, для отображаемых элементов часов ЦП / ГП. Это исправлено, эти элементы теперь используют статические цвета, как и предполагалось.
  • Добавлен профиль для версии Atomic Heart для VK Play, предназначенный для принудительного подключения и разблокировки рендеринга оверлея в этой версии игры.
  • В список триггерных модулей для движка отложенного впрыска добавлена 64-битная оверлейная библиотека VK Play.

Также изменён механизм манифеста совместимости на основе переменных среды. Изначально механизм был предназначен для того, чтобы позволить разработчикам игр отключать поддержку оверлея RTSS на уровне игры в случае обнаружения каких-то фундаментальных несовместимостей, однако по какой-то странной причине, он повсеместно использовался в последних версиях лаунчера VK Play для блокировки поддержки оверлея в любых играх, которые его запускают. Такой шаблон использования теперь обнаруживается и больше не разрешён, теперь механизм проявления совместимости игнорирует попытки запуска игр VK Play использовать его для отключения перехвата.

MSI Afterburner

Кроме этого, в MSI Afterburner были внесены некоторые изменения, в частности:

  • Добавлена поддержка мониторинга общей мощности платы для видеокарт серии AMD Radeon RX 7900.
  • Добавлены некоторые будущие идентификаторы AMD и NVIDIA PCI DeviceID в базу данных оборудования.
  • Комплектный RTSS обновлён до последней версии (7.3.4 beta 8 build 27515).

Что касается проблем работы с играми VK Play, то Алексей прокомментировал сложившуюся ситуацию следующим образом:

«Кейс с оверлеем в Atomic Heart в частности и всеми остальными VK Play играми в целом закрыт. В механизме манифеста совместимости появился дополнительный детектор, позволяющий отделять мух от котлет. Механизм отключения поддержки оверлея изнутри процесса с помощью переменных окружения по-прежнему остался доступным отдельным приложениям, но теперь детектор распознаёт нецелевое использование механизма лаунчером VK Play для дочерних игровых процессов и пресекает это безобразие. То есть оверлей во всех VK Play играх должен вернуться. Для Atomic Heart на всякий случай прикрыл детектор и профилем, в принципе отключающим для его процесса механизм совместимости, на случай если вдруг разработчикам лаунчера придёт в голову гениальная мысль попытаться обойти детектор.

Кроме этого добавил 64-битный модуль их оверлея (GCLay64.dll) в список триггеров отложенной системы внедрения RTSS. Это устранит потенциальные несовместимости и с ним, если таковые были. Напомню, что RTSS при внедрении в любой игровой процесс проверяет наличие в его контексте любого из перечисленных модулей-триггеров, и в случае его нахождения откладывает внедрение на N секунд (по умолчанию 15 секунд, задержка настраиваема в GUI RTSS). Такой подход позволяет всем сторонним оверлеям полностью отработать на старте, закончить внедрение в игровой процесс и инициализацию. 99.9% процентов конфликтов оверлеев имеют место, когда их разработчикам лень строить нормальную цепочку перехвата и они стартуют при наличии в системе разнородных хуков неизвестной архитектуры. Оригинальный механизм в RTSS использует идею дизассемблирования и размотки цепочек JMP'ов и умеет внедряться в процесс при наличии в нём любых комбинаций хуков сторонних оверлеев любой архитектуры. Встроиться в процесс поверх чужих хуков другого оверлея для него не проблема. Для разработчиков я уже описывал принцип используемой реализации публично в форуме OBS несколько лет назад».