Was bedeutet Optimieren bei Spielen?

3 Antworten

Das kann alles mögliche umfassen.

Von bereits erwähnten Optimierungen der Programmstruktur des Spiels selbst oder gar bis tief in die ganze Spieleengine (Rendering-Abläufe, Arbeitsaufteilung von CPU und GPU usw.) bis hin zu einfachsten Optimierungen des Designs (z.B. nur texturieren was man auch wirklich sehen kann, oder im Fall von Ego-Shootern verbreitet: Nur animieren was man sehen kann - daher ist man in Ego-Shootern für gewöhnlich nicht mehr als 2 schwebende Arme mit einer Knarre und besitzt keinen eigenen Schatten).

So oder so geht es am Ende darum, der Hardware möglichst keine überflüssigen Berechnungen aufzuhalsen und diejenigen die das System auszuführen hat möglichst so zu gestalten, dass sie schnell ablaufen können.

Moin, hier geht es vor allem darum Rechenzeiten zu minimieren.

Ein jeder Alghoritmus (Programm) benötigt eine gewisse Zeit um ausgeführt zu werden.

Um mal ein Beispiel an den Haaren herbeizuziehen, nehmen wir mal an wir blicken auf einen Haufen von 100 Bällen, und seien die mal alle durchnummeriert von 1-100.

Jetzt möchte ich, als Programmierer, nun von dir, dem Programm in diesem Beispiel, zum Beispiel den Ball Nummer 42 haben.

Variante 1: Ich, als gewiefter Programmierer, weiss aber genau wo der Ball liegt, und zeige dir einfach den Ort. Ohne zu suchen kannst du nun meine Bitte innerhalb kürzester Zeit erfüllen.

Variante 2: Wäre ich allerdings nun ein schlechter Programmierer, würde ich einfach nur auf den Haufen zeigen und dir sagen, dass du mir den Ball Nummer 42 da heraussuchen sollst. Jetzt müsstest du jeden einzelnen Ball nehmen, ihn dir ansehen ob er die Nummer 42 hat, und dann je nach dem ob er sie hat oder nicht eine weitere Aktion ausführen. Du siehst, das würde schon deutlich mehr Zeit in Anspruch nehmen.

Variante 1 wird natürlich so nur äußerst selten in einem echten Programm anwendung finden, aber generell Dinge suchen ist ein großer Teil des Programmierens und hier gibt es sehr viele sehr unterschiedliche Alghoritmen die solche Suchprobleme lösen können welche alle für unterschiedliche Szenarien besser oder halt auch schlechter geeignet sind.

Im richtigen Moment sich für den richtigen Alghoritmus zu entscheiden zeichnet zum Beispiel einen guten Programmierer aus, und sorgt dafür dass das Programm flüssiger läuft, also besser optimiert ist.

Es gibt noch unzähliche andere Möglichkeiten ein Spiel, oder auch im allgemeinen ein Programm zu optimieren, das hier sollte nur ein Beispiel sein um dir das Grundkonzept zu erklären.

Burkii99 
Fragesteller
 17.12.2017, 03:51

Bin tatsächlich schlauer geworden. Habe mit dem Programmieren nichts am Hut aber interessant ist es dennoch. Ich danke dir :)

2

Du kannst entweder eine schnellere/geeignetere Programmiersprache wählen (Minecraft) oder aber in der Programmiersprache die Algorithmen verbessern, sodass sie weniger unnötig berechnen oder weniger oft, wobei ich da jetzt kein generelles Beispiel geben kann. Sehr tückisch sind auch Emulationen.