Andymiral schrieb:
aber letztendlich müssten das ja ständige berechnungen/abfragen von spielern/objekten/kugeln sein ?
Ja, genauso ist es und diese gigantischen Informationen sind der Grund, weshalb Gaming-PCs am oberen Ende der Leistungsskala anzutreffen sind, wohingegend 10 Jahre alte P4 oder Athlons im Office noch klaglos ihren Dienst versehen.
Grob gesagt gibt es 2 Bereiche: Physik und Grafik.
Physik berechnet das Spielgeschehen, Flugbahnen, Hindernisse. Klingt kompliziert ist aber relativ überschaubar. Im Netzwerk läuft diese Komponente auf einem Server. Für die Lanparty habe ich mal einen dedizierten Server für FFOW unter VMware laufen lassen, das hat kaum Last erzeugt und konnte ohne Probleme im Hintergrund zu einem stattfindenden Match laufen.
Physik-2 läuft dann auf dem Client, der baut die gleiche physikalische Welt auf, berechnet diese ebenso um Netzwerkschwankungen zu vertuschen. Korrekturen werden permanent vom Server übermittelt. Das hat z.B. diese Effekte:
Bei einer unterbrochenen Verbindung fahren die Panzer geradlinig weiter, bis das Spiel abbricht eine Steuerung ist nicht möglich.
Bei FFOW werden Korrekturdaten weit entfernter Objekte (z.B. Panzer) seltener übertragen als nahe Ereignisse, um den Datenstrom klein zu halten. Panzer in der Ferne springen dadurch oft hin und her und lassen sich mit der Railgun schwer treffen. Die Fire-and-forget-Rakete wird aber auf dem Server berechnet und trifft.
Es gab Spiele, da lief man auf einen Abgrund und stoppte. Laggt die Verbindung zum Server, fiel man trotzdem in den Abgrund und steht plötzlich wieder an der Kante, weil vom Server die Daten verspätet eintreffen.
Die verursachte Bandbreite ist bei Ego-Shootern erstaunlich gering, oft reichen 1MBit-Leitungen und weniger.
Die Grafik-Berechnung ist der aufwändigere Teil und sorgt für die Hauptlast auf der CPU. 3D-Karten unterstützen die 3D-Darstellung aber nicht wirklich. Die Sichtachsen, Verdeckungen, Spiegelungen, Schatten, Lichtstrahlen, Oberflächen werden weitgehend von der CPU berechnet. Mehr Details erhöhen hier ein wenig die Last, wie auch die Anzahl der Objekte im Sichtbereich. Das Ergebnis ist eine Liste mit Dreiecken, Koordinaten und welche Textur (Nummer der Textur) mit welcher Effektnummer dargestellt werden soll. Z.B. Dreieck x1-y1,x2-y2,x3-y3; Textur 5120, Effekt 238.
Die Grafikkarte nimmt den gewaltigen Datenstrom entgegen (oft aber unter 1GByte/s), weshalb Grafikkarten mit 1-2 PCI-Lanes schon ganz gut funktionieren. Die Grafikkarte zeichnet diese Dreiecke und füllt diese mit Texturen, Pixel für Pixel. Da die Texturen bei aktuellen Spielen sehr groß sind, werden theoretisch große Datenmengen vom Hauptspeicher zur Grafikkarte übertragen, praktisch landen die alle im Speicher der Grafikkarte, wo sie superschnell vor Ort sind. Bildpunkt für Bildpunkt wird abgetastet, welches Dreieck, welche Position auf der Textur, welcher Effekt. Eine Doppelte Anzahl der Pixel (größer Monitor) sorgt für fast doppelte Rechenlast. Die Berechnung von 1920x1200=2.304.000 Bildpunkten erfolgt mehrhundertfach parallel, was die besondere Spezialisierung der Grafikkarten darstellt (einfache Rechenoperationen, hochparallel). Der Datendurchsatz der GPU ist enorm und bedingt schnellen Grafik-Speicher. Eine Übertaktung ist kaum mehr möglich, skaliert aber sehr stark, wenn es gelingt.
Optische Effekte wie Rauch, Falschfarben, Feuer, Flimmereffekte werden auch hier berechnet und Antialiasing/Anisothropische Filter gg. unschöne Muster der Rasterung werden ebenfalls nachträglich über das Bild berechnet.
Raytracing ist eine andere Form der Grafikberechnung, oben beschrieben ist das Rasterizing. In CB gibt es jedes Jahr eine Reportage zum technischen Stand. Hier werden die "Sehstrahlen" einzeln berechnet. Die Recheneinheit braucht dafür Zugang zum physikalischen 3D-Modell der Umwelt. Das hat derzeit nur die CPU, nicht die GPU. Die Rechenschritte sind m.W. aufwändiger als das was die Pixelshader einer Grafikkarte leisten. Dies wird von der CPU (derzeit mit Unterstützung separater sauteurer CPU-Karten) realisiert. Das Ergebnis ist eine echte Lichtbrechung und Fotorealistische Darstellung, also schlichtweg die Zukunft. Quake-RT ist wohl spielbar, allerdings kaum bezahlbar.
Da intel das Geld und die leistungsstärksten CPUs haben und allen klar ist, dass die Rechenleistung für 90% der Kunden irrsinniger Overload darstellt, treiben sie die Forschung auf diesem Gebiet voran.
Hat dieser Weg Erfolg, sind die Kunden wieder hinter schnellen CPUs her und man hat das Patent auf die neue Grafikschnittstelle im Sack. ATI (AMD) und nVidia können ihre Grafiksparte zumachen.
PS: Ich hoffe, ich habe nicht allzuviel Schmarren geschrieben.