Rechenaufwand
← Zusammengesetzte Transformationen | ● | Homogene Matrizen →
Zur Einordnung des Rechenaufwands eine Abschätzung:
Die Multiplikation einer 4×4 Matrix mit einem Vektor beinhaltet insgesamt 12 Additionen und 16 Multiplikationen (ohne die Division der Homogenisierung):
$ \left( \begin{array}{c c c c} a & b & c & d \\ e & f & g & h \\ i & j & k & l \\ m & n & o & p \end{array} \right) \left( \begin{array}{c} x \\ y \\ z \\ w \end{array} \right) = \left( \begin{array}{c c c c} a \cdot x + b \cdot y + c \cdot z + d \cdot w \\ e \cdot x + f \cdot y + g \cdot z + h \cdot w \\ i \cdot x + j \cdot y + k \cdot z + l \cdot w \\ m \cdot x + n \cdot y + o \cdot z + p \cdot w \end{array} \right) $
Pro Vertex also 12+, 16$\cdot$ → 28 Rechenoperationen (Floating-point operations - FLOPS)
Unsere virtuelle Szene kann nun mehrere x Millionen von Vertices enthalten, die alle mithilfe einer 4×4 Matrix transformiert werden. Zusätzlich sollen pro Sekunde mehrere Bilder berechnet (gerendert) werden, um einen flĂĽssigen Bewegungseindruck zu erhalten, z.B.: 60 fps:
Der Rechenaufwand fĂĽr diese einfache Transformation kann also schon leicht mehrere GFLOPS betragen. Zum Vergleich: Eine normale FPU schafft etwa 2GFLOPS. Eine GPU mehrere 100 GFLOPS bis TFLOPS.
Erkenntnis:
← Zusammengesetzte Transformationen | ● | Homogene Matrizen →