Spelling suggestions: "subject:"data ariented 1design"" "subject:"data ariented 22design""
1 |
Data Oriented Interactive Water : An Interactive Water Simulation For PlayStation 3Lennartsson, Joel January 2012 (has links)
In this report, a method for simulating interactive height-field based water on a parallel architecture is presented. This simulation is designed for faster than real time applications and is highly suitable for video games on current generation home computers. Specifically, the implementation proposed in this report is targeted at the Sony PlayStation 3. This platform requires code to be both highly parallelized and data oriented in order to take advantage of the available hardware which makes it an ideal platform for evaluating parallel code. The simulation captures the dispersive property of water and is scalable from small collections of water to large lakes. It also uses dynamic Level Of Detail to achieve constant performance while at the same time presenting high fidelity animated water to the player. This report describes the simulation method and implementation in detail along with a performance analysis and discussion.
|
2 |
Evaluation of CPU and Memory performance between Object-oriented Design and Data-oriented Design in Mobile gamesEriksson, Björn, Tatarian, Maria January 2021 (has links)
The popularity that mobile games gained recently gives the opportunity to develop more mobile games. Limited by the scarce resources on mobile phones, developing good games becomes critical and requires special optimization while choosing the design approach. Object-oriented Design (OOD) and Data-oriented Design (DOD) are two programming paradigms that have different ways of defining and structuring data. The purpose of this student thesis is to investigate the CPU and Memory performance differences between the two approaches. To answer the research questions an experiment is conducted where two identical mobile games are built, one according to OOD and the other to DOD to collect empirical quantitative data and compare the results. The study limits the scope by running the games on Android mobile phones. The results of comparing the CPU Usage show significant differences especially when the amount of data is large. For instance, in the DOD version of the game, the CPU spends 20.9% of the time on updating data, while it spends 69.2% of the time on the same action in the OOD version of the game. No significant differences are observed regarding the total Memory allocated for the games in both versions. It can therefore be concluded that when the number of objects/data is big, a more optimized code should be written following the Data oriented Design approach with regard to better CPU and Memory Usage and better game performance.
|
3 |
En jämförelse mellan dataorienterad design och objektorienterad design / A Comparison Between Data-Oriented Design and Object-Oriented DesignWesterberg, Charlotte January 2020 (has links)
Dagens applikationer hanterar mer och mer data vilket resulterar i att de blir allt mer resurskrävande och kräver mer av hårdvaran. Vilket i förlängningen kan innebär att hårdvaran måste bytas ut med jämna mellanrum för att kunna köra mjukvaran på ett för användaren tillfredsställande sätt. Detta arbete undersöker om det genom att byta designteknik är möjligt att utveckla mindre resurskrävande applikationer. Arbetet presenterar en jämförelse mellan objektorienterad design (även kallad objektorienterad programmering, OOP) och data orienterad design (DOD). Detta genom att dels ta upp kända för- och nackdelar med respektive designteknik samt genom att utföra en mätning på respektive teknik. Det som anses vara de främsta fördelarna med OOP är återanvändning av kod, att koden är lätt att underhålla, säkerhet i form av inkapsling samt att objekten som används reflekterar den mänskliga verkligheten. Dessa fördelar är dock även något som bidrar till det som anses vara den främsta nackdelen med OOP, nämligen att den är prestandakrävande. När det gäller DOD så anses de främsta fördelarna vara att det medför en cachevänligare kod som leder till färre cachemissar. Det anses även vara lättare att parallellisera koden i jämförelse med OOP. Den nackdelen som tas upp med DOD är att de tar tid att lära sig och kräver en del övning. Dock är DOD väldigt okänt vilket resulterade i ett svagt underlag. Två simuleringar utvecklades i Unity varav den ena använder sig av den nya teknikstacken DOTS som är dataorienterad. Resultatet av mätningarna indikerar på att DOD använder mindre av hårdvaruresurserna vid prestandakrävande applikationer. Om applikationen ej är prestandakrävande märks dock ingen skillnad mellan de olika teknikerna vid fråga om processoranvändning. / Today, applications handle more and more data, which results in them becoming increasingly resource-intensive and requiring more of the hardware. Which in the long run may cause that the hardware must be replaced at regular intervals to be able to run the software in a way that is satisfactory for the user. This thesis investigates whether it is possible to get less resource-intensive applications by changing the design technology. The paper presents a comparison between object-oriented design (also known as object-oriented programming, OOP) and data-oriented design (DOD). This is performed by addressing the known advantages and disadvantages of each design technique and by measuring each technique in the matter of performance. What was considered to be the main advantages of OOP is the reuse of code, that the code is easy to maintain, security in the form of encapsulation and that the objects that are used reflect human reality. On the other hand, these advantages also contribute to what is considered to be the main disadvantage of OOP, namely that it is performance-intensive. When it comes to DOD, the main advantages are considered to be that it results in a more cache-friendly code that leads to fewer cache misses. DOD is also considered easier to parallelize the code compared to OOP. The disadvantage of DOD is that it is time consuming to learn and requires some practice. Though, DOD is very unknown which resulted in a narrow basis. Two simulations were developed in Unity, one of which uses the new technology stack DOTS, which is data-oriented. The results of the measurements indicate that DOD uses less of the hardware resources in performance-intensive applications. If the application is not performance-intensive, though, no difference is noticed between the different technologies when it comes to CPU-usage.
|
4 |
Investigating the effect of implementing Data-Oriented Design principles on performance and cache utilizationNyberg, Frank January 2021 (has links)
Game engines process a lot of data under strict deadlines. Therefore, measures to increase performance are important in this area. Data-Oriented Design (DOD) promotes principles that are meant to increase performance by better cache utilization. The purpose of this thesis is to examine a selection of these principles to give a better understanding of how DOD affects CPU time and the rate of cache misses, with focus on the area of game development. More specifically, the principles examined are removal of run-time polymorphism, iteration over contiguous data, and lowering the amount of data in hot loops. Also, the Entity-Component-System pattern is examined, which is based upon DOD principles. The approach was to first present a theoretical background on the subject, and then to conduct tests by implementing a simulation of movement and collision detection utilizing said principles. The tests were written in C++ and executed on an Intel Core i7 4770k with no rendering. CPU time was measured in updated entities per μs, and cache utilization was measured in the form of cache miss rate. The results showed that the DOD principles did increase performance. Cache miss rate was also lower, with the exception of when removing run-time polymorphism. The conclusion is that Data-Oriented Design, used in game development, is likely to result in better performance, mostly as a result of better cache utilization.
|
5 |
Optimizing your data structure for real-time 3D rendering in the web : A comparison between object-oriented programming and data-oriented designChristoforidis, Constantin January 2021 (has links)
Performance is something that is always of concern when developing real-time 3D graphics applications. The way programs are made today with object-oriented programming has certain flaws that are rooted in the methodology itself. By exploring different programming paradigms we can eliminate some of these issues and find what is best for programming in different areas. Because real-time 3D applications need high performance the data-oriented design paradigm that makes the data the center of the application is experimented with. By using data-oriented design we can eliminate certain issues with object-oriented programming and deliver improved applications when it comes to performance, flexibility, and architecture. In this study, an experiment creating the same type of program with the help of different programming paradigms is made to compare the performance of the two. Some additional up- and downsides of the paradigms are also mentioned / <p>Det finns övrigt digitalt material (t.ex. film-, bild- eller ljudfiler) eller modeller/artefakter tillhörande examensarbetet som ska skickas till arkivet.</p>
|
6 |
Benchmarking and Analysis of Entity Referencing Within Open-Source Entity Component SystemsHansen, Hugo, Öhrström, Oliver January 2020 (has links)
Runtime performance is essential for real time games, the faster a game can run the more features designers can put into the game to accomplish their vision.A popular architecture for video games is the Entity Component System architecture aimed to improve both object composition and performance. There are many tests for how this architecture performs under its optimal linear execution.This thesis presents a performance comparison of how several popular open-source Entity Component System libraries perform when fetching data from other entities during iteration. An object-oriented test is also done to compare against and verify if the known drawbacks of object-orientation can still be seen within these test cases. Our results show that doing a random lookup during iteration can cause magnitudes worse performance for Entity Component Systems.
|
7 |
Evaluation of Object-Space Occlusion Culling with Occluder FusionKarlsson, Mattias January 2011 (has links)
In this report, an object-space solution to occluder fusion of OBB occluders is explored. Two different approaches are considered were the object-space fusion is reduced to a 2D problem. The first approach finds axis-aligned silhouettes within the projection of occluder OBBs which are then fused together creating large axis-aligned silhouettes. The other approach creates concave hulls of the projected OBB silhouettes from which convex inscribed silhouettes are then found. These silhouettes are then converted back to object-space where shadow frusta created around the silhouettes are used for the culling operation. The effectiveness of the two approaches is evaluated considering the amount of culled geometry. It is shown that fused convex silhouettes are needed to produce competitive results.
|
8 |
En prestandajämförelse mellan objektorienterad design och dataorienterad design i C++, Java och Java Project Valhalla / A performance comparison between object-oriented design and data-oriented design in C++, Java, and Java Project ValhallaIsacsson, Andreas, Renström, Christopher January 2023 (has links)
Datorspel behöver utnyttja hårdvara effektivt för att kunna vara tillgänglig på så många system som möjligt med varierande kapacitet. En viktig del i detta är att optimera användandet av processorns cacheminnen. Programmerare kan följa en dataorienterad design för att implementera cacheeffektiv kod. Detta förutsätter att programmeraren har kontroll över hur data lagras i minnet, vilket är svårt att uppnå i Java. Project Valhalla kan erbjuda funktioner för att åtgärda detta problem. I detta arbete jämfördes objektorienterad design med dataorienterad design i språken C++, Java och den pågående utvecklingen av Project Valhalla. En prototyp utvecklades och implementerades med olika kombinationer av dessa språk och designer. För varje implementation mättes prestanda och cacheeffektivitet. Resultatet visade att Java med Project Valhalla kan uppnå liknande prestanda som C++ vid dataorienterade implementationer. På grund av vissa begränsningar i Valhallas funktioner kommer det troligtvis inte bli ett praktiskt alternativ till lågnivåspråk inom en snar framtid. / Computer games need to utilize hardware efficiently in order to be available on as many systems as possible with varying capabilities. An important part of this is to optimize the use of the CPU’s cache. A programmer can follow a data-oriented design to implement cache-efficient code. This requires the programmer to have control over how data is stored in memory, which is difficult to achieve in Java. Project Valhalla may offer features to address this issue. In this thesis, object-oriented design was compared with data-oriented design in the languages C++, Java, and the ongoing development of Project Valhalla. A prototype was developed and implemented using different combinations of these languages and designs. For each implementation, performance and cache efficiency were measured. The result showed that Java with Project Valhalla can achieve similar performance to C++ in data-oriented implementations. Due to some limitations in Valhalla's features, it is unlikely that it will become a suitable alternative to low-level languages anytime soon.
|
Page generated in 0.0997 seconds