Game performance sucks, and one attempt at fixing it

Studenteropgave: Speciale (inkl. HD afgangsprojekt)

  • Carsten Schroll Ibsen
  • Frederik Palmelund Voldby
4. semester, Software, Kandidat (Kandidatuddannelse)
In this thesis we present the aggregator, a memory isolation model inspired by software transactional memory, and implement it into a game engine, to test if it is a viable alternative to lock-based parallelism in game engines.
We design and implement three game engines: a sequential, parallel with locks, and parallel with the aggregator, and test and compare them over three tests to determine if the aggregator game engine can outperform traditional parallelism with locks. The implementation is done in C++ with SFML as graphics library. The tests involve single-core overhead, work load, and handling of critical regions. The tests are performed on four different test systems, to gain better understanding of how the game engines perform across different hardware configurations. Test results show that the aggregator game engine has potential as it was 4.6 times faster then sequential but still slower then parallel game engine that was 7 times faster. There are potential for the aggregator to perform better with changes to the implementation.
SprogEngelsk
Udgivelsesdato2019
Antal sider96
ID: 305263404