vk.com

Выберите язык

DXVK входит в режим обслуживания

  Ведущий разработчик DXVK Philip Rebohle собирается перевести свой проект в режим обслуживания.

  DXVK - это слой, который преобразовывает вызовы D3D10 и D3D11 в Vulkan вместо OpenGL, таким образом прибавляя производительность в играх. Но на данном этапе возникли трудности.

  Как утверждает автор данного проекта:

  DXVK стал хрупким, ненадежным и разочаровывающим кошмаром для обслуживания. Большинство выпусков 1.4.x представили основные регрессии, которые я не могу воспроизвести, и поэтому не могу отлаживать и исправлять. Это включает зависание графического процессора в Overwatch на определенных картах с графическими процессорами Nvidia (некоторые пользователи утверждают, что это исправлено в 1.4.6, в то время как у других они есть), рендеринг проблем в Dishonored 2, которые я не могу воспроизвести (см. ValveSoftware/Proton #823 (комментарий)), взрывы вершин в некоторых играх, которые я также не могу воспроизвести, текущая проблема Star Citizen, которую мне еще нужно отладить (см. #1262), и множество странных проблем, которые не имеют никакого смысла (например, #1266, которые похоже только влияет на RADV).
  Большинство из этих проблем до сих пор не решены, и я понятия не имею, как их отследить, не говоря уже о том, чтобы их исправить, а те, которые были «исправлены», исправлены путём отмены других полезных изменений, потому что я просто не понимаю ни одной из проблем...

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

  Philip Rebohle отметил, что при ручном выявлении сбоев или ошибок для функций, где это имеет значение, возникает множество проблем:

  - Мы вообще не можем отлаживать зависания GPU. Это требует работы на стороне GPU и, очевидно, дополнительного кода на стороне процессора, чтобы на самом деле это сделать.
  - Даже если отладка на стороне процессора полезна (например, когда что-то происходит с ошибками), требовательные игры легко выполняют >10 миллионов вызовов API в секунду. Регистрация всех этих, плюс вся работа с бэкэндом, была бы безумной.
  - В нескольких потоках происходит так много всего, что спам-сообщения повсюду не обязательно помогут понять, в чем именно заключалась проблема. Отладочные каналы Wine вроде бы имеют ту же проблему; если что-то не работает из-за невыполненной функции, это легко понять; если проблема стоит глубже, часто это не так.

  Единственное, что он  все еще планирует сделать, это подключить несколько полезных расширений Vulkan и в конечном итоге объединить D9VK, остальным будет только исправление ошибок.

  Обсуждение этой темы смотреть здесь.