float oder double für OpenGL?
-
hustbaer schrieb:
dot schrieb:
Auf älteren Architekturen kann man Flags setzen, um Denormals zu ignorieren (auf Null zu setzen), ansonsten können sie dort massiv zu Buche schlagen.
Ja, das wusste ich beides. Die CPU wirft da (ohne flush to zero) bloss nen Trap/Interrupt, der Rest geht dann über Software-Emulation wenn ich mich richtig erinnere.
Afaik werden die Operation lediglich nicht direkt nativ von den Rechenwerken unterstützt und dann durch einen Haufen µops umgesetzt, passiert aber dennoch alles direkt in der CPU. Mit Traps und Softwareemulation wäre der Penalty vermutlich noch mindestens eine Größenordnung schlimmer...
-
dot schrieb:
Seit Sandy Bridge können Denormals afaik in den meisten Fällen ohne Performanceeinbruch bearbeitet werden.
ich glaube es sind nur ein paar faelle die ohne einbruch laufen z.B. float add auf SSE. float mul auf SSE sollte schonwieder langsam sein. auf x87/fpu sollte das meiste weiterhin langsam sein.