Testing Vulkan pattern perfomance with path-tracing - Ferreira, Miguel Ângelo Crespo (2019)
Performance and low overhead are the selling points of modern graphics APIs, such as Vulkan API, when compared to previous versions. However, these come with added complexity over previous APIs. Understanding all involved API elements takes time and, sometimes, there is no clear perception of the bene ts and drawbacks in each. The thesis focus is to draw a clear view of a subset of Vulkan patterns and layout their pros and cons. The thesis features a path-tracer implemented in Vulkan uniquely out of Compute shaders. It is used to evaluate multi-threading, command scheduling and memory management e ects with a consistent test method. Furthermore, it also features a set of guidelines and abstractions created from Vulkan's work experience. These can be used to atten other API users learning curve or provide some improvement lines on existing applications.