Warum kein Fp64 in Games

buzzjung77

Cadet 3rd Year
Registriert
Apr. 2015
Beiträge
48
Hey,ich habe schon ewig mit PCs zu tun und zocke auch viel!-Mit PC-HW kenne ich mich gut aus.-Ich baue schon immer(seit das mögl.ist)meine Rechner selbst. Leider kenne ich mich mit Programmierung und Software nicht gut aus.Ok:Nun meine Frage.-Würde Fp64 in Spielen nicht mehr Leistung und bessere Grafik/Effekte bringen? Ist der Hw-aufwand zu gross,oder hat "fp"mit der Grafikleistung gar nix zu tun? Zumindest.die Berechnung des Spiele-Codes,also das Spiel müsste doch beschleunigt werden,oder?
Wäre einfach die Entwicklung der GPU zu aufwendig bzw.zu teuer?
In dem Bereich bin ich echt ein Mega-Nerd!
ein paar Antworten wären cooletti. Thx
P.s.das ist natürlich eine theoretische Frage,da die Gamer-GPUs viel zu wenig FP64-Leistung haben!
 
Zuletzt bearbeitet:
wenn du uns sagst was du mit FP64 meinst wäre es schön.

64 bit Befehlssatz ? -> wird bei einigen games schon gemacht gibt sogar 64/32 bit clients dann.

Fp64 bei grafikkarten = wenigerleistung da genauer berechnet wird.

in Games totaler schwachsinn da es hier um Farbnuancen geht z.b.

http://arrayfire.com/explaining-fp64-performance-on-gpus/

selbst auf dp workstation grafikkarten erhält man nur 1/3 Leistung.
 
Zuletzt bearbeitet:
Meinst du mit FP64 64Bit-Double-Variablen? Also double-precision?
Falls ja: Damit zu rechnen ist deutlich langsamer als mit single-precision. Ich wüsste auch nicht, warum man ohne Not zu double-precision greifen sollte.
 
Aus 3 Gründen:
-FP64 ist circa doppelt so teuer wie FP32, da es doppelt so viel Speicherplatz und Transistoren für eine Rechenoperation benötigt.
-FP64 erhöht nur die arithmetische Genauigkeit. Bei numerischen Berechnungen treten aber noch viele andere Fehler auf, die oft wesentlich mehr einfluss auf das Endergebnis als die arithmetische Genauigkeit haben. Wenn es im Speziellen um die Computergraphik geht, so ist der Unterschied zwischen FP32 und FP64 in der Regel nicht einmal wahrnehmbar - andere numerische Berechnungsfehler aber deutlich, zum Beispiel Aliasing.
-Wenn man doch irgendwo höhere Genauigkeit als FP32 benötigt, dann gibt es in der Regel sehr viele "Hacks" um Berechnungen mit FP64 zu vermeiden, die man dann auch verwendet.
 
Zuletzt bearbeitet:
Ja,jetzt verstehe ich etwas den Unterschied zwischen FP16/32 und 64. FP64 ist eher für Bildverarbeitung o. Sehr genaue Berechnungen von z.B. komplizierten Codes/Programmen geeignet! Oder?
 
Unnötig für Spiele und Consumer/Gamer GPUs - da würde Nvidia auch ziemlich alt aussehen:

The FP32 to FP64 ratio in Nvidia’s GM204 and GM206 Maxwell GPUs, powering the GTX 980, 970 and 960 is 32:1. Which means the GPU will be 32 times slower when dealing with FP64 intensive operations compared to FP32.

Read more: http://wccftech.com/nvidia-gm200-gpu-fp64-performance/#ixzz4BqgvwXtB

Für die 1080:
For GP104, Nvidia disabled/removed the FP64 units – reducing the double-precision compute performance to a meaningless number, just like its predecessors.
 
Mit 64 Bit Gleitkomma hast du mehr Stellen vor oder nach dem Komma zu verfügung. Kannst also entweder größerer Zahlen oder kleinere Zahlen genauer abbilden. Die Frage ist nur, braucht man in der jeweiligen Anwendung diese großen oder genauen Zahlen. Und bis auf Koordinatensysteme sehr großer Maps (z.B. Star Citizen) (die eher die CPU betreffen als de GPU) braucht man das in Spielen nicht.
 
@ Nilson
Selbst dafür braucht man es auf der Graphikkarte nicht, da man dort für das Rendering wieder mit Koordinaten relativ zur Kamera rechnet, wodurch die Fehler dementsprechend unbemerkbar werden.
 
buzzjung77 schrieb:
Ja,jetzt verstehe ich etwas den Unterschied zwischen FP16/32 und 64. FP64 ist eher für Bildverarbeitung o. Sehr genaue Berechnungen von z.B. komplizierten Codes/Programmen geeignet! Oder?

Nein, das hat mit der Komplexität des Codes gar nichts zu tun, sondern nur damit, wie genau das berechnete Ergebnis sein soll.
Für Pixel-Positionen am Bildschirm oder Farwerte braucht man i.d.R. nicht zwischen über 18 Trilliarden Werten (2^64) unterscheiden können.
 
Vielleicht noch einmal eine kurze Anmerkung dazu: Das einzige wo man zu "geringe" arithmetische Genauigkeit auf der Graphikkarte heutzutage in Spielen merkt ist beim Z-Fighting. Denn das deutet daraufhin, dass der 32 bit Z-Buffer eine zu geringe Genauigkeit besitzt. Der Z-Buffer verwendet aber auch keine Gleitkommazahlen sondern Festkommazahlen mit dem Bereich von 0 bis 1. Zudem rührt das Z-Fighting primär daher, dass der Z-Buffer nicht linear ist und deshalb nur noch eine sehr grobe Auflösung in der Entfernung besitzt. Für einen linearen Z-Buffer wären 32 bit mehr als ausreichend.
 
Zuletzt bearbeitet:
Thx Leute,Ihr habt mir etwas die "Welt"von FP64 näher gebracht! nochmals Thx!
 
Zurück
Oben