Evaluation of Multi-Threading in Vulkan

Today processor development has a lot of focus on parallel performance by providing multiple cores that programs can use. The problem with the current version of OpenGL is that it lacks support for utilizing multiple CPU threads for calling rendering commands. Vulkan is a new low level graphics API...

Full description

Bibliographic Details
Main Author: Blackert, Axel
Format: Others
Language:English
Published: Linköpings universitet, Informationskodning 2016
Subjects:
Online Access:http://urn.kb.se/resolve?urn=urn:nbn:se:liu:diva-132025
Description
Summary:Today processor development has a lot of focus on parallel performance by providing multiple cores that programs can use. The problem with the current version of OpenGL is that it lacks support for utilizing multiple CPU threads for calling rendering commands. Vulkan is a new low level graphics API that gives more control to the developers and provides tools to properly utilize multiple threads for doing rendering operations in parallel. This should give increased performance in situations where the CPU is limiting the performance of the application and the goal of this report is to evaluate how large these performance gains can be in different scenes. To do this evaluation a test program is written with both Vulkan and OpenGL implementations and by rendering the same scene using different APIs and techniques the performance can be compared. In addition to evaluating the multithreaded rendering performance the new explicit pipelines in Vulkan is also evaluated.