Leitfaden performancefreundlicher Fahrzeugbau: Unterschied zwischen den Versionen

Aus OMSIWiki
Wechseln zu:Navigation, Suche
(Einleitung)
 
(3D-Theorie)
Zeile 4: Zeile 4:
  
 
Ein OMSI-Fahrzeug besteht aus 3D-Modellen, Texturen, Sound und Script – und in allen vier Bereiche kann man hinsichtlich der Performance sehr viel falsch machen!
 
Ein OMSI-Fahrzeug besteht aus 3D-Modellen, Texturen, Sound und Script – und in allen vier Bereiche kann man hinsichtlich der Performance sehr viel falsch machen!
 +
 +
== 3D-Modelle ==
 +
 +
=== Theorie ===
 +
 +
Natürlich sind einige theoretische Überlegungen nötig, damit man erkennt, was beim 3D-Bau performancefreundlich ist.
 +
 +
Hierzu ist der Begriff Drawcall wichtig:
 +
 +
Zwar wird der Bus (wie alles andere) aus einzelnen Dreiecken gezeichnet, die Dreiecke ihrerseits sind aber zusammengefasst zu Meshs mit gleichen Materialeigenschaften, Texturen und so weiter. Einen solchen zusammengefassten Zeichenvorgang bezeichnet man als Drawcall. Intern wird dieser zunächst von OMSI vorbereitet, dann werden alle Parameter der Grafikkarte übergeben und schließlich arbeitet die Grafikkarte "eigenständig" den Drawcall mit allen zugehörigen Dreiecken ab.
 +
 +
Dieser Zusammenhang erklärt auch, warum ein Drawcall mit 100.000 Vertices wesentlich schneller abgearbeitet wird, als 1000 Drawcalls mit jeweils 100 Vertices. Dies ist eine wichtige Grundregel für den performanceoptimierten Bau von 3D-Objekten.

Version vom 15. Juli 2012, 11:07 Uhr

Hinweis: Dieser Artikel wurde noch nicht ins Englische übersetzt!

Wie der Name schon sagt, soll dieser Leitfaden Möglichkeiten und Denkanstöße bieten, OMSI-Fahrzeuge möglichst performance-freundlich zu gestalten.

Ein OMSI-Fahrzeug besteht aus 3D-Modellen, Texturen, Sound und Script – und in allen vier Bereiche kann man hinsichtlich der Performance sehr viel falsch machen!

3D-Modelle

Theorie

Natürlich sind einige theoretische Überlegungen nötig, damit man erkennt, was beim 3D-Bau performancefreundlich ist.

Hierzu ist der Begriff Drawcall wichtig:

Zwar wird der Bus (wie alles andere) aus einzelnen Dreiecken gezeichnet, die Dreiecke ihrerseits sind aber zusammengefasst zu Meshs mit gleichen Materialeigenschaften, Texturen und so weiter. Einen solchen zusammengefassten Zeichenvorgang bezeichnet man als Drawcall. Intern wird dieser zunächst von OMSI vorbereitet, dann werden alle Parameter der Grafikkarte übergeben und schließlich arbeitet die Grafikkarte "eigenständig" den Drawcall mit allen zugehörigen Dreiecken ab.

Dieser Zusammenhang erklärt auch, warum ein Drawcall mit 100.000 Vertices wesentlich schneller abgearbeitet wird, als 1000 Drawcalls mit jeweils 100 Vertices. Dies ist eine wichtige Grundregel für den performanceoptimierten Bau von 3D-Objekten.