Vulkan

OpenGL и SDL и многоплатформено програмиране на игри.
Потребителски аватар
themean
Power User
Power User
Мнения: 872
Регистриран: 02 дек 2010 22:51

Vulkan

Мнение от themean »

Нико нищо не каза по въпроса. Аз лично съм доста развълнуван.
link
Потребителски аватар
themean
Power User
Power User
Мнения: 872
Регистриран: 02 дек 2010 22:51

Re: Vulkan

Мнение от themean »

Мислех да си спретнеме един скандал, кое ще е по-хубаво vulkan или d3d12, но явно никой не проявява интерес.
Потребителски аватар
Zero_effect
Sometimes here
Sometimes here
Мнения: 35
Регистриран: 29 авг 2008 17:49

Re: Vulkan

Мнение от Zero_effect »

Тенденцията май е D3D12 да няма листи от алокации за целите на определяне на residency на ресурси, докато Vulkan като наследник на Mantle все още ги пази. Е, на Microsoft като цяло им е по-лесно да пробутат нова операционна система, за да решат тези проблеми на DWM, но като цяло Vulkan би трябвало да обхваща повече платформи. Самият факт, че Imagination имат вече работещ драйвер говори доста добре за стандарта. Интерфейсът, ако достатъчно наподобява Mantle, би трябвало да е доста изчистен. Като цяло не съм фен на descriptor set-ове, защото са някакъв bindless с ужасно неудобен интерфейс, но и за друго по-добро решение не се сещам. Задаването на съответствие между променливите в shader-ите и елементите на descriptor set-овете е проблем, над който все още трябва да се работи и не съм видял добро решение. Вариантът на Microsoft на descriptor set-ове като цяло не е кой знае колко по-добър. Добавя някакви доста странни ограничения, които я имат значение след 5 години, я не. Те също така си държат на интерфейс като този на D3D11 и не премахват напълно COM бозата. Хубавото е, че поне reference counting-а до някаква степен е премахнат - напълно безсмислен, имайки в предвид, че всеки engine си има собствен начин за управление на ресурсите.
Потребителски аватар
themean
Power User
Power User
Мнения: 872
Регистриран: 02 дек 2010 22:51

Re: Vulkan

Мнение от themean »

Леле човече от къде имаш толкова информация :)
Потребителски аватар
Zero_effect
Sometimes here
Sometimes here
Мнения: 35
Регистриран: 29 авг 2008 17:49

Re: Vulkan

Мнение от Zero_effect »

В случая това е публично известна информация, ако изчетеш всички възможни презентации на темата. Иначе повече от това навлиза в NDA територия.
gemicha
Site Admin
Site Admin
Мнения: 2930
Регистриран: 20 ное 2003 22:20
Местоположение: USA

Re: Vulkan

Мнение от gemicha »

Zero_effect написа:Като цяло не съм фен на descriptor set-ове, защото са някакъв bindless с ужасно неудобен интерфейс, но и за друго по-добро решение не се сещам. Задаването на съответствие между променливите в shader-ите и елементите на descriptor set-овете е проблем, над който все още трябва да се работи и не съм видял добро решение. Вариантът на Microsoft на descriptor set-ове като цяло не е кой знае колко по-добър.

Има ограничения които са поставени от сегашния хардуер и без значение какво е API-то на високо ниво някой трябва да управлява ресурсите на ниско ниво. Вътре хардуера има твърдо зададени слотове, които няма как да разшириш. При по-скъпите карти са повече. При някой са почти неограничено, но на GPU-тата който са масово разпространени числото е много малко. Ако искаш да работиш днес трябва да направиш компромиси. descriptor set-ове са компромис който работи при ограниченията днес и позволява лесно да се разширява за хардуера който ще дойде утре.

Неудобния интерфейс е знак, че си близо до желязото ;)
Потребителски аватар
Zero_effect
Sometimes here
Sometimes here
Мнения: 35
Регистриран: 29 авг 2008 17:49

Re: Vulkan

Мнение от Zero_effect »

Неудобния интерфейс е знак, че си близо до желязото ;)
Не бих казал, че descriptor set-овете са близки до желязото. Това все пак не е директно команда за копиране на стойности в GPU регистрите, но има потенциала да е близко до подобно нещо. В случая те са компромис между старият bindful подход и новият bindless, при който няма фиксирано място, където са записани указатели към самите ресурси (може да са в UBO, SSBO, регистър и т.н.). Тук водещият фактор е, че ако не се поддържа старият хардуер новите API-та няма да са толкова популярни. Това е и основната причина защо D3D11 дълго време се използваше изключително ограничено.

Тези API-та не целят да дадат достъп на ниско ниво на програмистите. Те целят да намалят неявните операции, които се случват в драйвера. Дори в момента съществува подобен контрол в рамките на OpenGL с тъй наречените AZDO методи, но те се провалят по редица начини на различните драйвери, защото е акумулирана твърде много застаряла абстракция. От тази гледна точка пълното изчистване на интерфейса е голямо предимство, понеже ще е значително по-добре дефинирано как трябва да взаимодействат отделните елементи на API-то.
Потребителски аватар
Zero_effect
Sometimes here
Sometimes here
Мнения: 35
Регистриран: 29 авг 2008 17:49

Re: Vulkan

Мнение от Zero_effect »

Между другото, може да спрем ръкомахането - най-после пуснаха API guide-а на Mantle: http://www.amd.com/Documents/Mantle-Pro ... erence.pdf
Потребителски аватар
stoiko
Power User
Power User
Мнения: 617
Регистриран: 04 дек 2003 15:44
Контакти:

Re: Vulkan

Мнение от stoiko »

Потребителски аватар
Zero_effect
Sometimes here
Sometimes here
Мнения: 35
Регистриран: 29 авг 2008 17:49

Re: Vulkan

Мнение от Zero_effect »

https://msdn.microsoft.com/en-us/librar ... 85%29.aspx -- и другата половина от дискусията.
Потребителски аватар
themean
Power User
Power User
Мнения: 872
Регистриран: 02 дек 2010 22:51

Re: Vulkan

Мнение от themean »

https://vulkan-tutorial.com/
Време е да се направо нова дискусия за Vulkan аналогична на тези за DirectX и OpenGL
Отговори