Профиль: Аноним (вход | регистрация) неRU opennet.me  
The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



"Выпуск D7VK 1.12, реализации Direct3D 3-7 поверх API Vulkan "
Вариант для распечатки  
Пред. тема | След. тема 
Форум Разговоры, обсуждение новостей
Изначальное сообщение [ Отслеживать ]

"Выпуск D7VK 1.12, реализации Direct3D 3-7 поверх API Vulkan "  +/
Сообщение от opennews (??), 06-Июл-26, 09:44 
Опубликован выпуск проекта D7VK 1.12, развивающего реализацию графических API Direct3D 3, 5, 6 и 7, предложенных компанией Microsoft в 1996, 1997, 1998  и 1999 годах.  D7VK работает через трансляцию вызовов в API Vulkan и позволяет при помощи Wine запускать в Linux ретро игры, завязанные на API Direct3D 3, 5, 6 и 7. Код проекта написан на языке C++ и распространяется под лицензией Zlib. В качестве основы при разработке использован  код  бэкенда d3d9 от проекта DXVK - D7VK преобразует API Direct3D 3, 5, 6 и 7 в вызовы Direct3D 9, которые затем  транслируются в API Vulkan. Разработчик не намерен добиваться включения D7VK в состав DXVK, как это было с реализациями Direct3D 8 и Direct3D 9 поверх Vulkan...

Подробнее: https://www.opennet.dev/opennews/art.shtml?num=65851

Ответить | Правка | Cообщить модератору

Оглавление

Сообщения [Сортировка по ответам | RSS]

1. Сообщение от Аноним (1), 06-Июл-26, 09:44   –5 +/
> Код проекта написан на языке C++ и распространяется под лицензией Zlib

Кто-нибудь может объяснить, почему под лицензией Zlib распространяют что-то, кроме zlib, а под лицензией MIT выпускают программы не только студенты и выпускники MIT?

Ответить | Правка | Наверх | Cообщить модератору
Ответы: #3, #4, #16

3. Сообщение от Hturt (?), 06-Июл-26, 09:57   +7 +/
Это просто название лицензии
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #1

4. Сообщение от morphe (?), 06-Июл-26, 10:10   +1 +/
Свобода слова
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #1

5. Сообщение от Bob (??), 06-Июл-26, 10:25   +1 +/
>повысить FPS на системах со слабыми CPU

насколько слабыми? Если там совсем шлак, то для dx3-7 игр можно юзать условные win98-2000. КПД поярче. А чисто игровая сборка весит всего ничего.

А в целом - есть ли реализация на android? Как раз на приставке шпилить - самое оно.

Ответить | Правка | Наверх | Cообщить модератору
Ответы: #6, #7

6. Сообщение от Аноним (1), 06-Июл-26, 10:59   –3 +/
Не, ну естественно нативно всё заработает на GeForce 2 MX. А тут не нативно, а через прослойки. Помнишь как DirectDraw-игрушки тормозили под Wine, а на винде - летали? Тут то же самое.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #5 Ответы: #12

7. Сообщение от Аноним (7), 06-Июл-26, 11:24   +/
Не у всех есть древнее железо оставшееся со времен когда еще мамонты бегали по русской равнине и Святогор скакал на коне так что земля тряслась. Драйверов у встройки к примеру нет и толпы дегенератов орущих про то что еще где-то осталось тридцатилетнее железо в рабочем состоянии. Но его и двадцать лет назад просто на копейки сливали кому угодно. Да, в деревне можно поставить Windows 98-2000, если интернета все равно нет. А немного вменяемые люди знают про Wine и такие вот вещи, чтобы с минимальными затратами, используя простую встройку играть в не новые игры и вообще ни о чем не париться.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #5 Ответы: #13

8. Сообщение от Аноним (8), 06-Июл-26, 12:01   +1 +/
Когда просил вернуть 2007, а получил 1997.
Ответить | Правка | Наверх | Cообщить модератору
Ответы: #10

9. Сообщение от Аноним (9), 06-Июл-26, 12:20   +1 +/
А через opengl игры тех лет плохо работают?
Ответить | Правка | Наверх | Cообщить модератору
Ответы: #11, #14, #22

10. Сообщение от avsprv (ok), 06-Июл-26, 12:20   +1 +/
и даже 1996..
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #8

11. Сообщение от Аноним (11), 06-Июл-26, 12:35   +2 +/
Для игр тех лет, наверное, эмуляция Glide была бы актуальнее, чем работа под opengl.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #9

12. Сообщение от Аноним (12), 06-Июл-26, 13:52   –3 +/
Давно заметил, что современные видюхи слабее тех, что были в 1996-1999 годах. Кстати, сабж какой вулкан требует: 1.4 или можно 1.3? В том веке были такие компы, что сейчас вроде любая игруха должна на одном современном CPU просто летать.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #6 Ответы: #15

13. Сообщение от Аноним (12), 06-Июл-26, 13:55   +1 +/
У меня wine 1.6 прекрасно играет все игры DX 3-9 безо всякого вулкана вообще.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #7 Ответы: #17

14. Сообщение от Аноним (12), 06-Июл-26, 14:05   +2 +/
Отлично работают, если вайн не новый, а около 1.6. Он тогда как раз в OGL всё транслировал.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #9 Ответы: #21

15. Сообщение от Zenitur (ok), 06-Июл-26, 16:36   +1 +/
Они не слабее. Включи UT2004 и сглаживание 16x на современном GPU и на старом. Сравни FPS.
Снижение скорости происходит именно из-за прослоек. И не настолько уж и сильное. Сотни FPS у тебя точно будут.
Требование к новому Vulkan обусловлено не высокими требованиями к производительности, а тем, что в DXVK дропнули старые видеокарты.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #12 Ответы: #18

16. Сообщение от Аноним (16), 06-Июл-26, 17:41   +4 +/
>Кто-нибудь может объяснить

По тому, что на заборе часто пишут одно, а за ним по факту лежит другое.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #1

17. Сообщение от Аноним (17), 06-Июл-26, 19:04   +/
Так вулкан то как раз ускоряет отрисовку кадров. То что там OpenGL тяжеленная работает это просто факт, потому что раньше OpenGL только и была и они развивали графику в играх, а DX догонял. Потому и работает вообще все вероятно. Ценность этого невелика. Вулкан тащат в старые радеоны и вот там будет очень заметна разница. Мне и RX 6500 XT хватает при грамотной конфигурации, чтобы иметь 300-400 кадров в шутерах, которые вообще не древние, так что вулкан весьма полезен.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #13 Ответы: #19

18. Сообщение от Аноним (12), 06-Июл-26, 21:54   +/
> Снижение скорости происходит именно из-за прослоек

Дак может лучше их и не делать? Как wine первой серии работал через OpenGL без проблем без вулкана? В конфигах видюхи какой надо AA, такой и поставил, всё аппаратно. А как только начали вулкан юзать - сразу потеря производительности пошла.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #15 Ответы: #20, #23, #24, #26

19. Сообщение от Аноним (12), 06-Июл-26, 21:56   +1 +/
> вулкан то как раз ускоряет отрисовку

Твой друг выше говорит обратное: "Снижение скорости происходит именно из-за прослоек".

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #17 Ответы: #29

20. Сообщение от Ананоним (?), 07-Июл-26, 00:47   +1 +/
Конечно этот Vulkan не нужен на "устаревших" видеокартах, но эти гонщинки за горизонтом уничтожают то что сами изготовили. Для них главное процесс, а не результат.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #18 Ответы: #32

21. Сообщение от name (??), 07-Июл-26, 03:48   –1 +/
Ты лично сравнивал производительность с трансляторами на вулкане или пишешь ерунду из-за того, что у тебя видеокарта его не поддерживает? Они бывают быстрее даже натива, а о глючных gl трянсляторах не может быть и речи.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #14 Ответы: #30

22. Сообщение от name (??), 07-Июл-26, 03:56   –1 +/
Да. OpenGL транслятор всегда был фиговым, а когда появились нормальные альтернативы, смысл его разрабатывать сильно уменьшился.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #9 Ответы: #31

23. Сообщение от name (??), 07-Июл-26, 04:01   +/
GL транляторы и есть самые жирные и тормозные прослойки. Старый вайн это багнутый ужас, а гейминг тех времён на линуксе был скуден и нативен, даже простые игры тормозили и багали в трансляторах.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #18

24. Сообщение от Аноним (24), 07-Июл-26, 04:07   +1 +/
>Как wine первой серии работал через OpenGL без проблем без вулкана?

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

Но он плох. Opengl и direct3d слишком разные апи для эффективной реализации одного через другое.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #18 Ответы: #39

26. Сообщение от Zenitur (ok), 07-Июл-26, 05:21   +3 +/
> Дак может лучше их и не делать? Как wine первой серии работал через OpenGL без проблем без вулкана?

Wine работал (и работает) через OpenGL через прослойку WINED3D. Работал он не без проблем. Снижение производительность вплоть до 30% относительно запуску той же игры на Windows. Это можно было купировать при помощи UseGLSL = disabled на NVIDIA (на других картах не рекомендуется). На Wine >= 5.0 вместо него shader_backend=arb. В Wine 9.9 такую возможность удалили.

В 2006 году Direct3D 9 под Wine работал примерно никак. Нужно было Cedega. Тогда и NFS U2 и Most Wanted, и Oblivion, и HL2, и всё на свете работало. Потом, в ноябре-декабре 2007, появилась инструкция, как установить майкрософтовский оригинальный DirectX 9 под обычный Wine (не Cegeda), и тогда заработали почти все DX9-игры. https://unixforum.org/viewtopic.php?t=54440 Затем в течение двух лет Henri Verbeet и Josef Kucia (и другие разработчики, однако эти были локомотивами) довели поддержку D3D9 до идеала. Даже не нужно, как раньше, устанавливать нативые библиотеки.

А вот с DX10 и DX11 дела шли примерно никак. И когда появился DXVK, проблема оказалась решена. Под DXVK работали вообще все игры. Три топовые игры - GTA 5, The Witcher 3 и Red Dead Redemtion 2, доделывали всем миром, пока под DXVK они не заработали идеально. Маленьким побочным эффектом было повышенное использование VideoRAM, но как по мне, это не страшно. Главное, чтобы не было утечек, чтобы память не текла и процесс не крашнулся.

В то время авторы DXVK не собирались добавлять поддержку D3D9, так как WINED3D справляется отлично. Но появился проект D9VK, в котором не было главной проблемы WINED3D - снижения производительности на 15-30% по сравнению с нативным DirectX 9 под Windows. И тогда D9VK стал частью основного DXVK.

Я тогда попробовал всё это дело. Wine Staging 5.0, DXVK, AMDVLK... Как же сильно тормозил Скайрим! Portal 2 тормозил чуть меньше. Однако спустя пару минут игры тормоза пропадали... Оказалось, что предыдущий бэкенд WINED3D как-то успевал компилировать шейдеры в реальном времени (особенно на NVIDIA с его UseGLSL = disabled), а DXVK - нет. Решилось параметром DXVK_ASYNC=1. С этим параметром, проблема не ушла целиком, но стала почти незаметна. А спустя несколько минут игры, и вовсе пропадала.

А потом появился Proton. И это было прекрасно. Во-первых, они победили звук в Skyrim (он и так был, но почему-то "резались" низкие частоты). Всё благодаря проекту FAudio, независимой реализации XAudio под Linux. Во-вторых, ESYNC "из-коробки". Он был и в Wine Staging, но тем не менее. В-третьих, DXVK так же "из коробки", когда не нужно ничего устанавливать. Ну и в-четвёртых, кэш шейдеров компилируется перед запуском игры. Это полное решение "тормозов", о которых я писал в предыдущем абзаце.

Вот как выглядит моя команда запуска:
DXVK_FRAME_RATE=60 DXVK_ASYNC=1 WINEESYNC=1 wine bin/XR_3DA.exe

Что было потом - я думаю, ты знаешь. Проблема несовместимости ушла из Linux. Раньше под WineD3D работало 99% игр D3D9, и примерно 0% игр для DX10 и 11. Теперь работает всё. Теперь главной проблемой стали античиты, которые банили линуксоидов из-за подозрительных системных файлов в формате ELF вместо PE. CodeWeavers и Valve потратили много времени и сил, чтобы решить эту проблему. И в результате, отличная Steam Deck, которая хорошо продаётся, люди даже не знают, что там Linux. При желании можно поменять на Windows, этого не запрещает Valve. Но люди зачастую даже не знают, что там Linux.

Подводя итог скажу, что я всегда думал, что прослойки приводят к снижению производительности. Но DXVK показал чудо: прослойка, которая не снижает производительность. Всё благодаря особенности Vulkan, унаследованной от Mantle: Spir-V. Промежуточное представление шейдеров, которое принимает на вход HLSL или GLSL, а потом преобразует в нативный код. Возможно, какое-то снижение производительности всё-таки есть, но совсем небольшое - меньше, чем при использовании WineD3D. А если включить ESYNC, то это всё компенсирует. Игра даже может начать работать быстрее, чем под Windows - может незначительно, и тем не менее удивляешься, это вообще как?

Есть один способ сделать так, чтобы под WineD3D не было снижения производительности - Gallium Nine. Эта штука предоставляет нативный Direct3D 9 для Linux. Нативный запуск Direct3D под Linux без трансляторов - а что, так можно было? Но только для карт, для которых есть Gallium-драйверы. Это Radeon, AMDGPU, Nouveau и с недавних пор Intel. Насколько я знаю, Gallium Nine дропнули. Но можно скачать старый Wine и старую Mesa.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #18 Ответы: #27, #33

27. Сообщение от name (??), 07-Июл-26, 07:28   +/
gallium nine смысла пробовать практически нет, его дропнули в сыром виде.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #26

29. Сообщение от Аноним (29), 07-Июл-26, 10:49   –1 +/
нет, он говорит прекрасно играет. Для игры 2002-го года много и ненужно. Вот пусть это попробует превзойти на OpenGL или D3D, если он правда это имел ввиду, а я ввиду отсутствия корявых мозгов этого не понял. Всего 300 FPS в нативном 1920х1080 на RX 6500 XT.
https://rutube.ru/video/a9eb7dfc3fada0242e02465c299e9c3b/
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #19

30. Сообщение от Аноним (12), 08-Июл-26, 01:59   +/
> Они бывают быстрее даже натива

Чел, речь про игры прошлого века на DX-3-8, сейчас процы такие, что даже софтовый OGL будет быстрее натива. Сравнивать вулкан-печки с компами четвертьвековой давности - это ты круто выдал!

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #21 Ответы: #35

31. Сообщение от Аноним (12), 08-Июл-26, 02:01   +/
> когда появились нормальные альтернативы

Какие, если не секрет? Это вот те, у которых нету обратной совместимости, и которые требуют обновление железа каждую минорную версию?

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #22 Ответы: #34

32. Сообщение от Аноним (12), 08-Июл-26, 02:03   –1 +/
> этот Vulkan не нужен

Наконец-то хоть кто-то тут здраво рассуждает.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #20

33. Сообщение от Аноним (12), 08-Июл-26, 02:12   +/
> вплоть до 30% относительно запуску той же игры на Windows

Вы когда такое пишете, уточняйте, что с чем сравнивали. Игры DX3-8 - это прошлый век, wine - куда современней. Или вы умудрились wine/linux запустить на доисторических компах, или винду тех времён на современных компах. Особые экземпляры умудряются сравнивают производительность тех старых компов с вулкан-RTX, уточняя, что вулканы "бывают быстрее даже натива".

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #26 Ответы: #36

34. Сообщение от name (??), 08-Июл-26, 02:17   +/
Да.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #31

35. Сообщение от name (??), 08-Июл-26, 02:26   +/
Если сравнивать на одном железе. Вулкан появился 14 лет назад, какие печки?
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #30

36. Сообщение от Zenitur (ok), 08-Июл-26, 08:01   +/
Я сравнивал Oblivion, Skyrim, Portal 2, StarCraft II под Windows XP и Linux. Wine на тот момент был 1.2-1.4. Драйвер NVIDIA. UseGLSL естественно disabled. Могу и сейчас сравнить, если вам интересно.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #33

37. Сообщение от ЫгиПгт (?), 08-Июл-26, 10:35   +/
Скучаю по времени, когда основные новости были "DirectX в Linux" и "запуск  игр в Wine".
Ответить | Правка | Наверх | Cообщить модератору

39. Сообщение от maximnik0 (?), 10-Июл-26, 03:07   +/
>Opengl и direct3d слишком разные апи для эффективной реализации одного через другое.

Удивитесь - посмотрите описание Open gl 4.3.x - 4.5.x . Это я к чему:игроделы консольщики  договорились с Ms - разрешили портировать Ари версии derectx 9 -10.В основном портировали востребованные функции -не все, но портирование на исходниках сильно упростилось.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #24


Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2026 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру