Testing Vulkan pattern perfomance with path-tracing
Autor(a) principal: | |
---|---|
Data de Publicação: | 2019 |
Tipo de documento: | Dissertação |
Idioma: | eng |
Título da fonte: | Repositório Científico de Acesso Aberto de Portugal (Repositórios Cientìficos) |
Texto Completo: | http://hdl.handle.net/10773/28622 |
Resumo: | 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. |
id |
RCAP_3eb1b6690d16e18dc0550a8f5b0bec15 |
---|---|
oai_identifier_str |
oai:ria.ua.pt:10773/28622 |
network_acronym_str |
RCAP |
network_name_str |
Repositório Científico de Acesso Aberto de Portugal (Repositórios Cientìficos) |
repository_id_str |
7160 |
spelling |
Testing Vulkan pattern perfomance with path-tracingVulkanPath-tracingThreadingMemoryCompute shadersGuidelinesPerformance 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.Desempenho e baixo consumo são as vantagens dadas pelas API gráficas modernas, como a API Vulkan, quando comparadas com as versões anteriores. Em contrapartida, também oferecem um maior grau de complexidade. É preciso tempo para perceber todos os elementos envolvidos, como também nem sempre é percetível quais os benefícios e perdas do uso desses mesmos elementos. O foco da dissertação é criar uma perspetiva nítida das vantagens e desvantagens em torno de determinados padrões em Vulkan. Esta dissertação avalia os efeitos de multi-threading, ordem de comandos e manipulação de memória, com base num método consistente, via um pathtracer feito unicamente de Compute shaders com Vulkan. Ainda junta toda a experiência de uso e conclusões num conjunto de guias e abstrações, a fim de ajudar a reduzir a curva de aprendizagem ou dar ideias sobre possíveis melhorias em aplicações existentes.2020-06-03T02:00:13Z2019-12-01T00:00:00Z2019-12info:eu-repo/semantics/publishedVersioninfo:eu-repo/semantics/masterThesisapplication/pdfhttp://hdl.handle.net/10773/28622engFerreira, Miguel Ângelo Crespoinfo:eu-repo/semantics/openAccessreponame:Repositório Científico de Acesso Aberto de Portugal (Repositórios Cientìficos)instname:Agência para a Sociedade do Conhecimento (UMIC) - FCT - Sociedade da Informaçãoinstacron:RCAAP2024-02-22T11:55:22Zoai:ria.ua.pt:10773/28622Portal AgregadorONGhttps://www.rcaap.pt/oai/openaireopendoar:71602024-03-20T03:01:07.450633Repositório Científico de Acesso Aberto de Portugal (Repositórios Cientìficos) - Agência para a Sociedade do Conhecimento (UMIC) - FCT - Sociedade da Informaçãofalse |
dc.title.none.fl_str_mv |
Testing Vulkan pattern perfomance with path-tracing |
title |
Testing Vulkan pattern perfomance with path-tracing |
spellingShingle |
Testing Vulkan pattern perfomance with path-tracing Ferreira, Miguel Ângelo Crespo Vulkan Path-tracing Threading Memory Compute shaders Guidelines |
title_short |
Testing Vulkan pattern perfomance with path-tracing |
title_full |
Testing Vulkan pattern perfomance with path-tracing |
title_fullStr |
Testing Vulkan pattern perfomance with path-tracing |
title_full_unstemmed |
Testing Vulkan pattern perfomance with path-tracing |
title_sort |
Testing Vulkan pattern perfomance with path-tracing |
author |
Ferreira, Miguel Ângelo Crespo |
author_facet |
Ferreira, Miguel Ângelo Crespo |
author_role |
author |
dc.contributor.author.fl_str_mv |
Ferreira, Miguel Ângelo Crespo |
dc.subject.por.fl_str_mv |
Vulkan Path-tracing Threading Memory Compute shaders Guidelines |
topic |
Vulkan Path-tracing Threading Memory Compute shaders Guidelines |
description |
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. |
publishDate |
2019 |
dc.date.none.fl_str_mv |
2019-12-01T00:00:00Z 2019-12 2020-06-03T02:00:13Z |
dc.type.status.fl_str_mv |
info:eu-repo/semantics/publishedVersion |
dc.type.driver.fl_str_mv |
info:eu-repo/semantics/masterThesis |
format |
masterThesis |
status_str |
publishedVersion |
dc.identifier.uri.fl_str_mv |
http://hdl.handle.net/10773/28622 |
url |
http://hdl.handle.net/10773/28622 |
dc.language.iso.fl_str_mv |
eng |
language |
eng |
dc.rights.driver.fl_str_mv |
info:eu-repo/semantics/openAccess |
eu_rights_str_mv |
openAccess |
dc.format.none.fl_str_mv |
application/pdf |
dc.source.none.fl_str_mv |
reponame:Repositório Científico de Acesso Aberto de Portugal (Repositórios Cientìficos) instname:Agência para a Sociedade do Conhecimento (UMIC) - FCT - Sociedade da Informação instacron:RCAAP |
instname_str |
Agência para a Sociedade do Conhecimento (UMIC) - FCT - Sociedade da Informação |
instacron_str |
RCAAP |
institution |
RCAAP |
reponame_str |
Repositório Científico de Acesso Aberto de Portugal (Repositórios Cientìficos) |
collection |
Repositório Científico de Acesso Aberto de Portugal (Repositórios Cientìficos) |
repository.name.fl_str_mv |
Repositório Científico de Acesso Aberto de Portugal (Repositórios Cientìficos) - Agência para a Sociedade do Conhecimento (UMIC) - FCT - Sociedade da Informação |
repository.mail.fl_str_mv |
|
_version_ |
1799137667015770112 |