Vulkan

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

Vulkan

Мнение от themean » 06 мар 2015 17:08

Нико нищо не каза по въпроса. Аз лично съм доста развълнуван.
link

Потребителски аватар
themean
Power User
Power User
Мнения: 854
Регистриран на: 02 дек 2010 22:51

Re: Vulkan

Мнение от themean » 12 мар 2015 00:46

Мислех да си спретнеме един скандал, кое ще е по-хубаво vulkan или d3d12, но явно никой не проявява интерес.

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

Re: Vulkan

Мнение от Zero_effect » 15 мар 2015 22:32

Тенденцията май е 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
Мнения: 854
Регистриран на: 02 дек 2010 22:51

Re: Vulkan

Мнение от themean » 17 мар 2015 12:59

Леле човече от къде имаш толкова информация :)

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

Re: Vulkan

Мнение от Zero_effect » 18 мар 2015 00:23

В случая това е публично известна информация, ако изчетеш всички възможни презентации на темата. Иначе повече от това навлиза в NDA територия.

gemicha
Site Admin
Site Admin
Мнения: 2930
Регистриран на: 20 ное 2003 22:20
Местоположение: USA

Re: Vulkan

Мнение от gemicha » 18 мар 2015 04:31

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 » 18 мар 2015 20:27

Неудобния интерфейс е знак, че си близо до желязото ;)
Не бих казал, че 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 » 19 мар 2015 10:35

Между другото, може да спрем ръкомахането - най-после пуснаха 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 » 19 мар 2015 12:10


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

Re: Vulkan

Мнение от Zero_effect » 26 мар 2015 10:04

https://msdn.microsoft.com/en-us/librar ... 85%29.aspx -- и другата половина от дискусията.

Потребителски аватар
themean
Power User
Power User
Мнения: 854
Регистриран на: 02 дек 2010 22:51

Re: Vulkan

Мнение от themean » 18 юли 2016 14:12

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

Отговори

Кой е на линия

Потребители, разглеждащи този форум: Няма регистрирани потребители и 1 гост