Change search
CiteExportLink to record
Permanent link

Direct link
Cite
Citation style
  • apa
  • ieee
  • modern-language-association-8th-edition
  • vancouver
  • Other style
More styles
Language
  • de-DE
  • en-GB
  • en-US
  • fi-FI
  • nn-NO
  • nn-NB
  • sv-SE
  • Other locale
More languages
Output format
  • html
  • text
  • asciidoc
  • rtf
Exploiting temporal coherence in scene structure for incremental draw call recording in Vulkan
Blekinge Institute of Technology, Faculty of Computing, Department of Creative Technologies.
2018 (English)Independent thesis Advanced level (professional degree), 20 credits / 30 HE creditsStudent thesis
Abstract [en]

Background. Draw calls in interactive applications are often recorded on a per-frame basis, despite already residing in memory after recording in the previous one. At the same time, scenes tend to be structurally stable; what exists during one frame is likely to exist in the next ones as well.

Objectives. By exploiting the observed temporal coherence in scene structures, this thesis aims to devise a solution to record draw calls incrementally. The purpose of such recording is to reuse what has been recorded previously instead of recording it anew. Two approaches to incremental recording are implemented and compared to regular naïve recording in terms of overhead time. One of them makes use of an extension to the Vulkan graphics application programming interface (API) to evaluate indirect pipeline changes.

Methods. A simulation is used as the method of evaluation, using a simple scene where triangles are rendered in individual draw calls. Two sizes of the scene are used. One matches the upper end of draw call count in samples of modern games and the other is an exaggerated size to test viability for even larger ones. Graphics processing unit (GPU) time is measured along with total execution time to provide numbers on the overhead time caused by the different recording strategies.

Results. When considering the frequency of incremental updates, the multi-draw indirect (MDI) strategy performs very well, outperforming the other strategies even with 100% updates compared to 0% of the others. However, it scales poorly with increasing number of pipeline switches, where the other incremental recording strategy performs best instead. In this case, MDI soon becomes more expensive than regular recording.

Conclusions. It is shown that the incremental recording strategies have an observable reduction in overhead time, and may be worth considering. With few pipeline switches, MDI is a viable candidate for its performance and ease of implementation. A large ratio of pipeline switches may not be a realistic scenario, but in those cases the device generated commands (DGC) strategy is a better choice than MDI. Note that the DGC strategy does not perform true incremental recording because calls are still recorded by the GPU. Overhead margins are comparatively low in the smaller scene, but even in that case incremental recording could be beneficial because depending on the implementation, one could avoid traversing parts of data structures that remain unchanged.

Abstract [sv]

Bakgrund. Ritanrop i interaktiva applikationer spelas ofta in för varje bild, trots att de redan existerar i minnet från den föregående. Samtidigt har scener en tendens att vara strukturellt stabila; det som existerar för en bild kommer sannolikt existera även för de påföljande.

Syfte. Genom att utnyttja observerad tidskoherens i scenstrukturer avser denna uppsats att utforma en lösning för att stegvis spela in ritanrop. Syftet med sådan inspelning är att återanvända det som spelats in tidigare istället för att spela in det på nytt. Två lösningar för inkrementell inspelning implementeras och jämförs med vanlig naiv inspelning med avseende på kringkostnader. En av dem drar nytta av en utökning till grafikgränssnittet Vulkan för att utvärdera indirekta byten av pipeline.

Metod. En simulering används som utvärderingsmetod, med en simpel scen där trianglar renderas med individuella ritanrop. Två scenstorlekar används. En av dem matchar övre gränsen för antalet ritanrop i ett urval av moderna spel, och den andra är en överdriven storlek för att testa lämpligheten i ännu större scener. GPU-tid mäts tillsammans med total exekveringstid för att tillhandahålla siffror på den kringkostnad som orsakas av de olika inspelningsstrategierna.

Resultat. När frekvensen av inkrementella uppdateringar beaktas presterar multi-draw indirect (MDI) mycket bra, som vinner över de övriga strategierna även med 100% uppdateringar jämfört med de övrigas 0%. Den skalar dock undermåligt då antal pipeline-byten ökar, där den andra inkrementella inspelningsstrategin istället presterar bäst. I detta fall blir MDI snabbt dyrare än vanlig inspelning.

Slutsatser. Det visas att de inkrementella inspelningsstrategierna märkbart reducerar kringkostnad och att de därmed är värda att ha i åtanke. Vid få pipeline-byten är MDI en lämplig kandidat tack vare dess prestanda och enkla implementation. Större förhållanden av pipeline-byten är inte nödvändigtvis ett realistiskt scenario, men i dessa fall är device generated commands (DGC) ett bättre val än MDI. Notera att DGC-strategin inte utför sann inkrementell inspelning eftersom kommandon fortfarande spelas in på GPU:n. Kringkostnadsmarginaler är förhållandevis låga i den mindre scenen, men även där kan inkrementell inspelning vara förmånlig eftersom man då, beroende på implementation, skulle kunna undvika att vandra genom delar av datastrukturer som förblivit oförändrade.

Place, publisher, year, edition, pages
2018. , p. 41
Keywords [en]
incremental recording, temporal coherency, overhead reduction, explicit API
Keywords [sv]
inkrementell inspelning, tidskoherens, reducering av kringkostnad, explicita API
National Category
Software Engineering
Identifiers
URN: urn:nbn:se:bth-16724OAI: oai:DiVA.org:bth-16724DiVA, id: diva2:1230531
Subject / course
Degree Project in Master of Science in Engineering 30.0
Educational program
PAACI Master of Science in Game and Software Engineering
Supervisors
Examiners
Available from: 2018-07-04 Created: 2018-07-03 Last updated: 2018-07-04Bibliographically approved

Open Access in DiVA

fulltext(826 kB)22 downloads
File information
File name FULLTEXT01.pdfFile size 826 kBChecksum SHA-512
71cb79a9aa3c0451d86432b04a03dea90c595de0632bda9acad7894c10f80be87264d34912e1645c72f6f85fb0551ba181c93f4d9b0275fae50a8e1128dfe32e
Type fulltextMimetype application/pdf

By organisation
Department of Creative Technologies
Software Engineering

Search outside of DiVA

GoogleGoogle Scholar
Total: 22 downloads
The number of downloads is the sum of all downloads of full texts. It may include eg previous versions that are now no longer available

urn-nbn

Altmetric score

urn-nbn
Total: 102 hits
CiteExportLink to record
Permanent link

Direct link
Cite
Citation style
  • apa
  • ieee
  • modern-language-association-8th-edition
  • vancouver
  • Other style
More styles
Language
  • de-DE
  • en-GB
  • en-US
  • fi-FI
  • nn-NO
  • nn-NB
  • sv-SE
  • Other locale
More languages
Output format
  • html
  • text
  • asciidoc
  • rtf