Hallo Robat.
Nur wegen der Genauigkeit ...
Robat_80 wrote:...Graka ist immernoch eine festverdrahte Baugruppe, d.h. jeder zu berechnende Bildpunkt nimmt 'den gleichen Weg' durch die Karte. Damit ist die Berechnungszeit für jeden einzelnen Bildpunkt gleich.
Das ist falsch. Zwar ist eine Graphikkarte natürlich fest verdrahtet und damit die Wege vorgegeben, aber das gibt keine Auskunft darüber WIE OFT ein Befehl diesen Weg gehen muss, bis das gewünschte Ergebnis vorliegt (Stichwort Schleifen und Sprünge).
Eine Graphikkarte ist ein eigenständiges von-Neumann-System und gehorcht damit dessen Regeln.
Robat_80 wrote:Der Geschwindigkeitszuwachs allgemein ist ja das Ergebnis des Pipelinings(also bei meiner Radeon 8 Bildpunkte werden parallel(gleichzeitig) berechnet).
Hier hast Du etwas falsch verstanden. Das ist NICHT "Pipelining", sondern schlicht die Datenbusbreite.
"Pipelining" beschreibt ein Prinzip, in dem die abzuarbeitenden Befehle in ihrer zeitlichen Abfolge in eine Warteschlange ("Pipeline") eingereiht werden und ein eigener Teil des Prozessors ("Pipeline Controller" oder "Arbiter") diese Schlange permanent durchgeht und nachsieht, ob man einen Befehl B, der zwar zeitlich nach einem Befehl A kommt nicht bereits vorab in einer "Rechenpause" des Prozessors abarbeiten kann.
Beispiel zur Verdeutlichung: Du (=Prozessor) bist Verkäufer bei MacDonalds und hast zwei Kunden (=Befehle) vor Dir.
Kunde Eins möchte einen BigMac und eine Apfeltasche. Apfeltasche ist schon fertig, aber BigMac muss noch gemacht werden.
"Pipelining" wäre, wenn Du
während Kunde Eins wartet, Du bereits Kunde Zwei bedienst.
Und, um das Beispiel noch zu erweiteren: Die Anzahl der Kassen in Deinem MacDonalds-Restaurant wären die Breite des Datenbus (also "wie viele Kunden können gleichzeitig abgefertigt werden").
Robat_80 wrote:
Ob nun noch jemand in einer Auflösung von640x480 spielen kann oder nicht ist zudem Softwareabhängig und hat nix mit Hardware zu tun.
Jein. Du hast Dir das Gegenargument dazu in Deinem Folgesatz auch fast schon selbst gegeben.
Du hast im Prinzip recht, doch gibt es durchaus Techniken der 3D Darstellung, die sich anders verhalten.
Beispiel: Bumpmapping.
Beim Bumpmapping wird eine Oberflächenvorlage (ein "Bild") auf ein Objekt aufgerechnet. Diese Oberflächenvorlage hat eine gewisse Größe und ist - in der Regel bei allen heutigen Graphikkarten - im Texturenspeicher der Karte abgelegt.
Je nachdem für welche Auflösung diese Oberflächenvorlagen optimiert sind, müssen sie ggf. bei einer kleineren Auflösung wegen der geringeren Anzahl der darstellbaren Bildpunkte
auf die Zielauflösung runterinterpoliert werden, was Rechenzeit kostet.
Je größer der Abstand zwischen "optimaler Auflösung" (=Auflösung für die die Texturen entworfen wurden) und tatsächlicher Auflösung ist, desto größer ist der Interpolationsaufwand.
Ein weiteres Phänomen ist z.B., dass mit zunehmender Anzahl der Texturen im Texturenspeicher ein Punkt erreicht wird, ab dem die eigenständige Verwaltung der Texturen die Graphikkarte mehr Zeit kostet, als würde sie sie über den Systembus aus dem Hauptspeicher holen und dem Rechner die Verwaltung überlassen.
Das tritt immer dann auf, wenn ein Spiel sehr viele, kleine Texturen hat und die Graphikkarte viel Speicher.
Also auch hier gilt: Nicht immer ist mehr besser. In solchen Fällen kann es passieren, dass das Spiel bei jemandem mit 64 MB Graphik- und Texturenspeicher flüssiger läuft, als bei jemandem mit einer vergleichbaren Karte, die jedoch 256 MB hat.