Snadný vulkan

Loading...
Thumbnail Image
Date
ORCID
Mark
D
Journal Title
Journal ISSN
Volume Title
Publisher
Vysoké učení technické v Brně. Fakulta informačních technologií
Abstract
Zatiaľ čo staršie grafické API (Application Programming Interface) ako OpenGL alebo DirectX verzie 11 a nižšej sa v súčasnosti stále bežne používajú, novšie rozhrania API, najmä DirectX 12 a Vulkan, prinášajú mnohé vylepšenia, ako je lepší výkon, natívny Ray-tracing na podporovanom hardvéri a efektívnejšie využitie CPU a GPU. Vylepšenia výkonu a efektívnosti sú výsledkom povahy rozhraní DirectX 12 a Vulkan API. Obidve sú pomerne nízkoúrovňové API. To znamená, že GPU je možné ovládať na oveľa nižšej úrovni, čo má za následok oveľa viac kódu potrebného, aby boli dosiahlnuté podobné výsledky ako pri použití staršieho rozhrania API. Táto práca predstavuje nový framework, vkEasy, ktorý zapuzdruje Vulkan API takým spôsobom, že väčšina jeho funkcií zostáva použiteľná, ale výrazne uľahčuje používanie Vulkan API na vkresľovacie alebo výpočtové operácie. Zdrojový kód obsahuje príklady, ktoré boli implementované pomocou vkEasy, aby ukázali jednoduchosť vkEasy a porovnali ho s kódom napísaným v čistom Vulkane. Bolo pozorované priemerne 94% zníženie potrebných riadkov kódu.
While older graphics APIs (Application Programming Interface) like OpenGL or DirectX of version 11 and lower are still commonly used nowadays, newer APIs especially DirectX 12 and Vulkan bring many enhancements like better performance, native Ray-tracing on supported hardware, and more efficient CPU and GPU usage. Performance and efficiency enhancements are the results of the nature of DirectX 12 and Vulkan APIs. Both are quite low-level APIs. That means that GPUs can be controlled on a much lower level which results in much more code that needs to be written to get similar results as when an older API is used. This thesis presents a new framework, vkEasy, that encapsulates Vulkan API in a way that most of its features stay usable, but makes it much easier to use Vulkan API for rendering or compute operations. Source code contains examples that were implemented using vkEasy to show simplicity of vkEasy and to compare it to raw Vulkan code. Average 94 % reduction in needed lines of code was observed.
Description
Citation
HALÁS, T. Snadný vulkan [online]. Brno: Vysoké učení technické v Brně. Fakulta informačních technologií. 2022.
Document type
Document version
Date of access to the full text
Language of document
en
Study field
Počítačová grafika a interakce
Comittee
prof. Dr. Ing. Pavel Zemčík, dr. h. c. (předseda) doc. Ing. Peter Chudý, Ph.D., MBA (místopředseda) Ing. David Bařina, Ph.D. (člen) doc. RNDr. Milan Češka, Ph.D. (člen) Ing. František Grézl, Ph.D. (člen) Ing. Tomáš Milet, Ph.D. (člen)
Date of acceptance
2022-06-22
Defence
Student nejprve prezentoval výsledky, kterých dosáhl v rámci své práce. Komise se poté seznámila s hodnocením vedoucího a posudkem oponenta práce. Student následně odpověděl na otázky oponenta a na další otázky přítomných. Komise se na základě posudku oponenta, hodnocení vedoucího, přednesené prezentace a odpovědí studenta na položené otázky rozhodla práci hodnotit stupněm D. Otázky u obhajoby: V sekci 2.2 je psáno "...users who do not know connections between objects can be confused same as I was when I started implementing vkEasy with zero knowledge about Vulkan." - Z této věty chápu, že jste začal implementovat knihovnu bez znalosti Vulkan API, což se zdá být velmi nepravděpodobné. Prosím objasněte toto tvrzení. Jak je z implementačního hlediska vyhodnocen zmíněný "frame graph"? Stručně popište implementovaný algoritmus. Proč nebyl použit v textu doporučený zdroj o V-EZ API? Srovnejte Vaše řešení s tímto API. Vyhodnocoval jste výkonnost řešení? Jak probíhalo testování? Jaké bylo pokrytí funkcí API Vulkan?
Result of defence
práce byla úspěšně obhájena
Document licence
Standardní licenční smlouva - přístup k plnému textu bez omezení
DOI
Collections
Citace PRO