LINUX.ORG.RU

Выпуск DXVK 3.0

 ,


0

1

Через полгода разработки выпущена свежая версия DXVK (Direct3D to Vulkan Translation Layer), открытой библиотеки, которая преобразует вызовы API Direct3D 8, 9, 10 и 11 в команды Vulkan. Она позволяет запускать 3D-приложения и игры, разработанные для Windows, на системах, где нативная поддержка Direct3D отсутствует, используя при этом возможности более эффективного графического API Vulkan.


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

DXVK теперь использует dxbc-spirv для компиляции шейдеров для всех поддерживаемых моделей шейдеров. Это устраняет ряд проблем, которые ранее было невозможно решить:
Проблемы с рендерингом в играх, вызванные либо тем, что игры полагаются на неопределенное поведение, либо тем, что FXC в некоторых случаях генерирует неверный код, как в Postal: Brain Damaged, Snowrunner
Сгенерированный код более компактен, чем просто преобразованный код SPIR-V, что существенно уменьшает объем памяти, занимаемый DXVK. В таких играх как Overwatch или God of War это позволяет сэкономить около 1 ГиБ системной памяти.
Компиляция шейдеров теперь полностью перенесена на рабочие потоки, что может сократить время запуска в таких играх, как Days Gone и Final Fantasy XIV, или в некоторых случаях уменьшить зависания. Раньше DXVK выполнял трансляцию SPIR-V в потоке приложения и компилировал только реальные конвейеры Vulkan на рабочих процессах.
Промежуточное представление скомпилированных шейдеров DXVK теперь кэшируется на диске внутри каталога AppData/Local текущего префикса Wine. Это необходимо, поскольку время компиляции увеличилось по сравнению со старым компилятором. Путь к кэшу можно изменить с помощью переменной среды DXVK_SHADER_CACHE_PATH.

Новое расширение Vulkan VK_EXT_descriptor_heap теперь используется по умолчанию в драйверах, которые его поддерживают.
Ожидается, что по сравнению со старой реализацией модели привязки, основанной на VK_EXT_descriptor_buffer, эта новая модель обеспечит примерно тот же уровень производительности, связанной с ЦП, при этом избежать снижения производительности на GPU Nvidia (требуется nvidia-drivers-595.84 и новее)
Изменения D3D9
Чтобы эмулировать устаревший конвейер с фиксированными функциями, который позволяет играм D3D8 и D3D9 выполнять рендеринг без шейдеров, DXVK ранее генерировал собственный код шейдеров на лету на основе состояния конвейера. В некоторых играх, таких как Unreal Tournament 2004, это могло привести к заметным подтормаживаниям даже после длительных периодов игрового процесса.

Чтобы исправить это, DXVK теперь реализует конвейер с фиксированными функциями в виде пары убершейдеров, для которых оптимизированные варианты компилируются в фоновом режиме
Оптимизация загрузки буфера
Чтобы более точно соответствовать поведению Windows, различные типы буферов, которые раньше размещались непосредственно во VRAM, теперь загружаются по требованию, а также была реализована стратегия ограничения объема оперативной памяти, которая исправляет сбои, связанные с адресным пространством, в ряде 32-битных игр D3D9.
Эти изменения также могут улучшить производительность на системах без изменяемого размера BAR в таких играх, как GTA IV.

В системах, которые в достаточной степени поддерживают VK_EXT_sample_locations и VK_EXT_extended_dynamic_state3, состояние рендеринга D3DRS_MULTISAMPLEANTIALIAS теперь работает правильно, позволяя приложениям использовать растеризацию с одной выборкой при рендеринге в целевые объекты рендеринга с несколькими выборками. Это устраняет проблемы с отрисовкой пользовательского интерфейса в Anno 1701, Men of War Assault Squad и аналогичные проблемы в других играх с включенным MSAA.

Общие ресурсы теперь работают с оригинальной реализацией Wine и больше не требуют исправлений, специфичных для Proton.

Также следует упомянуть множество исправлений для разных игр, которые теперь будут работать лучше

>>> Заметка о выпуске на GitHub

★★★★★

Проверено: hobbit ()
Последнее исправление: hobbit (всего исправлений: 9)

что соответственно потребует совместимого драйвера.

Я бы такую информации в новости бы раскрыл. А ещё навтыкал бы апострофов для имён переменных и в других необходимых случаях.

DriverMinimum required version
AMD (RADV)25.0
Nvidia (prop.)575.51.02
Nvidia (NVK)25.1
Intel (ANV)25.1

P.S. 15 лет прошло с публикации последней новости. Это больше, чем я на ЛОРе зарегистрирован)

IIIypuk ★★★★☆
()
Последнее исправление: IIIypuk (всего исправлений: 1)

Citation:

(Direct3D to Vulkan Translation Layer) — это открытой библиотеки, которая преобразует

Statement: Написано странно.

apt_install_lrzsz ★★★★
()
Ответ на: комментарий от lenin386

автор - немец, неудивительно что рождаются такие понятия )

Sylvia ★★★★★
() автор топика
Ответ на: комментарий от etwrq

да, это mesa, более того mesa «дотягивает» старые карты до уровня vulkan 1.4, в то время как RDNA1/2 под Windows например уже «отвалились» и с ними рекомендуется использовать предыдущие версии DXVK (вопрос не в железе, а в том что под вендами драйвера уже не хотят доделывать, в отличие от mesa)

так что ограничения - свежая mesa (25.1) или если используется проприетарный nvidia - тоже свежий.

Sylvia ★★★★★
() автор топика
Ответ на: комментарий от lenin386

Übershader новые слова

Больше 10 лет в обороте. Ты там иногда выходи из мавзолея на площадь – пообщаться с людьми, обогатить словарный запас…

r--r--r--
()
Ответ на: комментарий от Sylvia

да, это mesa, более того mesa «дотягивает» старые карты до уровня vulkan 1.4

странно слышать о таки потугах в userspace от mesa.
насколько мне известно, по похорониксу в частности, идут активные работы по поддержки решений AMD, емнип hd3xxx-серии, в kmod amdgpu...
с блобами и прочией c-userspace обёрткой.
так-то if/define можно и до <1k hdamd дойти.
и разве mesa имеет отношение к kmod? это вроде строго userspace

etwrq ★★★★★
()
Последнее исправление: etwrq (всего исправлений: 3)
Ответ на: комментарий от hobbit

простите уж, предыдущая моя новость здесь была 15 лет назад

Sylvia ★★★★★
() автор топика
Ответ на: комментарий от buddhist

Это когда doom запускается легким подергиванием вулкана.

Irma ★★★★
()

Как то не интересовался, но прознал что DX 12 не становится DX 13 14 15 потому что они обновляют сам DX 12. Поэтому видимо и сами DXVK должны постоянно обновляться чтобы поддерживать новые фичи

I-Love-Microsoft ★★★★★
()

а также была реализована стратегия ограничения объема оперативной памяти, которая исправляет сбои, связанные с адресным пространством, в ряде 32-битных игр D3D9.

Т.е. может теперь DA:O глючить перестанет?… Впрочем, у меня под wine10/11 вообще никакие 32-битные игры не заводятся. А держать старый wine 9.17 чем дальше, тем страшнее: он может в один прекрасный день после очередного прекрасного обновления просто перестать работать.

dimgel ★★★★★
()
Ответ на: комментарий от dimgel

Девятый? А седьмой не хотел? Это последний сейчас рабочий для wow 3.3.5. Да и думаю не только для нее.

Тут уже гадать надо - что помрет первым. Вайн, игра или те кто в это играют.

LightDiver ★★★★★
()
Последнее исправление: LightDiver (всего исправлений: 1)
Ответ на: комментарий от dimgel

я переигрывала в DA Origins недавно, с dxvk 2.7.1 тоже работало хорошо, только пару раз крашнулось за всё прохождение. Так что тут не с DXVK проблема у вас, скорее да, wine.

я правда под вендами играла, но с dxvk, ведь с ним намного лучше!

Sylvia ★★★★★
() автор топика
Ответ на: комментарий от dimgel

wine10/11 вообще никакие 32-битные игры не заводятся

Это нормально, они в каждой версии вайна что-то чинят и ломают. Приходится держать по отдельной версии вайна под каждую игру. Отдельная версия под скайрим, отдельная версия под обливион и так далее.

vbcnthfkmnth123 ★★★★★
()

Недавно настраивал The Sims 3. Сначала на линуксе через DXVK, потом на винде 11. Точных бенчей нет и кто виноват я не знаю, но точно помню, на линуксе был DXVK и шумел/грелся мой ноут под линуксом заметно сильнее, чем под виндой.

Невидия — как было видно по логам DXVK.

Ограничение FPS включал. На остальные танцы с бубном терпения уже не хватило.

kaldeon ★★
()
Ответ на: комментарий от LightDiver

Видео со старым dxvk https://disk.yandex.ru/i/Y5EdbqtGMT9v5w
Скрин с новым https://disk.yandex.ru/i/Uf6LHY9Lt-pkHA
и там и там 120 fps,
винде конец
LINUX-ORG-RU

superuser ★★★★☆
()
Последнее исправление: superuser (всего исправлений: 3)
Ответ на: комментарий от superuser

Месть за NOKIA будет беспощадной!

"- Но как, Холмс?"

да пусть у них там хоть чёрт лысый будет. Iron_Bug ★★★★★ (05.06.18 03:05:14 MSK) GitHub отныне официально принадлежит корпорации Microsoft. Многие пользователи и организации мигрируют на GitLab (комментарий)

Вот так, Ватсон atsym

superuser ★★★★☆
()
Последнее исправление: superuser (всего исправлений: 1)

УРА!!! ДЮРЭКС-ИКТ!

Set440 ★★
()

Мне не нужно, но кого-то наверняка порадует. Так что - «С приехалом!..» ;))

Somebody ★★★★
()

Я версию 3 ъжыпсот тыщнадц0ть лет джал!!!

Set440 ★★
()
Для того чтобы оставить комментарий войдите или зарегистрируйтесь.