Graphical rendering has use cases in many fields. When rendering in real time, such as in simulations or games, the time to compute each frame is of high importance. An important factor to reducing frame time is decreasing the amount of calls between the processor and graphics card. This is especially important when rendering a large amount of meshes, which is a collection of vertices representing some geometry. Two ways of achieving this are Batch and Instance rendering. This thesis aims to analyze and provide valuable insight into the factors that influence the decision between the techniques for static geometry, which is geometry that does not move. More specifically the thesis will investigate how vertex and mesh count affects the frame time. Both techniques were implemented using C++ and OpenGL and then compared against each other. The results showed that for low vertex amounts Batch rendering has lower frame time. Subsequently, at higher vertex amounts Instance rendering has lower frame time. The exact cut off depends on hardware, but in general the conclusion was that Batch rendering is better for simpler meshes while Instance rendering is better for more complex meshes. / Grafisk rendering är användbart inom många områden. När rendering sker i realtid, som i simulationer eller spel, har frame time vilket är tiden det tar att beräkna varje bildruta stor betydelse. En viktig faktor för att minska frame time är att minska antalet anrop mellan processorn och grafikkortet. Detta är särskilt viktigt vid rendering av en stor mängd meshes, vilket är en samling av noder som representerar geometri. Två sätt att uppnå detta är Batch och Instance rendering. Denna avhandling syftar till att analysera och ge värdefulla insikter i de faktorer som påverkar beslutet mellan teknikerna för statisk geometri, vilket är geometri som inte rör sig. Mer specifikt kommer avhandlingen att undersöka hur antalet noder och meshes påverkar frame time. Båda teknikerna implementerades med hjälp av C++ och OpenGL och jämfördes sedan med varandra. Resultaten visade att för låga antal noder har Batch-rendering kortare frame time. Däremot, vid högre antal noder har Instance rendering kortare frame time. Den exakta gränsen beror på hårdvaran, men den generella slutsatsen var att Batch-rendering är bättre för enklare meshes medan Instance rendering är bättre för mer komplexa meshes.
Identifer | oai:union.ndltd.org:UPSALLA1/oai:DiVA.org:kth-330856 |
Date | January 2023 |
Creators | Alström, Marcus, Andersson, Christoffer |
Publisher | KTH, Skolan för elektroteknik och datavetenskap (EECS) |
Source Sets | DiVA Archive at Upsalla University |
Language | English |
Detected Language | Swedish |
Type | Student thesis, info:eu-repo/semantics/bachelorThesis, text |
Format | application/pdf |
Rights | info:eu-repo/semantics/openAccess |
Relation | TRITA-EECS-EX ; 2023:308 |
Page generated in 0.0027 seconds