OPUS


Volltext-Downloads (blau) und Frontdoor-Views (grau)

Hindernisse und Vorteile der Quellcode- Modernisierung einer 3D-Engine

Obstacles and Benefits of Modernizing the Source Code of a 3D-Engine

  • Neue Versionen einer Programmiersprache eröffnen neue Möglichkeiten, komplexe Zusammenhänge auszudrücken. So ermöglichte auch C++20 in dem dieser Arbeit vorausgegangenen Forschungsmodul eine Alternative zu Vererbung mit virtuellen Funktionen, welche sich in Microbenchmarks als performanter erwies. Eine Messung in einem vollwertigen Software-Projekt erfordert jedoch zunächst eine Modernisierung dessen. So ist u.a. die 3D-Engine OGRE lediglich auf dem Stand von C++11. Es stellt sich die Frage, ob der Arbeitsaufwand und die Risiken, die mit einer Modernisierung und anschließender Umsetzung der Alternative verbunden sind, letztlich zu rechtfertigen wären. Zumindest für den ersten Schritt kann dies auch unabhängig vom zweiten bestimmt werden. Detaillierte Beschreibungen und Microbenchmarks zu neuen Features können zwar oft gefunden werden, jedoch sind die exakten Hindernisse im konkreten Fall schwer einzuschätzen und die tatsächlichen Vorteile für ein vollwertiges Software-Projekt sind aus bloßen Microbenchmarks nicht direkt abzuleiten. Die vorliegende Arbeit beschreibt die mit der Umsetzung neuer Features verbundenen Hindernisse in der 3D-Engine OGRE. Anhand inkrementeller Messungen wird schließlich entschieden, welche Modernisierungen an und für sich lohnenswert sind und von welchen abzuraten ist.
  • New versions of a programming language enable new possibilities to express complex issues. During the research module preceding this document, C++20 enabled an alternative to inheritance with virtual functions, which proofed to outperform the latter in microbenchmarks. To measure the alternative within a fully fledged software project however, its modernization is required first and foremost. Among others, the 3D-Engine OGRE is only making use of C++11. This begs the question, whether the effort and risks tied to a modernization with subsequent implementation of the aforementioned alternative would pay off in the end. At the very least, the first step could be evaluated independently from the second. Detailed descriptions and microbenchmarks of new features may often times exist, yet it remains difficult to accurately gauge the obstacles in a concrete case and it’s not possible to derive the effective benefits in a fully fledged software project from microbenchmarks alone. The document at hand describes the obstacles that arose while implementing new features into the 3D-Engine OGRE. Based on incremental measurements it will then be determined which modernizations are worthwhile and which should be advised against.

Download full text files

Export metadata

Additional Services

Search Google Scholar

Statistics

frontdoor_oas
Metadaten
Author:Kai Philipp Müller
Advisor:Thomas Haenselmann, Rico Beier-Grundwald
Document Type:Master's Thesis
Language:German
Year of Completion:2022
Publishing Institution:Hochschule Mittweida
Release Date:2023/03/01
GND Keyword:Programmiersprache
Page Number:75
Institutes:Angewandte Computer‐ und Bio­wissen­schaften
Open Access:Frei zugänglich
Licence (German):License LogoUrheberrechtlich geschützt