Ray Tracing



  • Wie aufwändig ist RayTracing hardware-technisch gesehen?

    Ich finde die Qualität von RayTracing überragend, aber da es noch nicht in Spielen etc eingesetzt wird muss es ja endlose Rechenansprüche haben.

    Wie viel Rechenaufwand ist denn in etwa nötig?

    Wann wird rayTracing für Spiele, etc einsetzbar bei gleichbleibender Rechenleistungssteigerung pro Jahr?



  • Ich glaub nvidia hatte mal einen echtzeit raytracer auf einer Karte mit 4 GPUs demonstriert.



  • Hast du die letzten Jahre geschlafen?

    http://www.pcgameshardware.de/aid,673825/Quake-Wars-Raytracing-Screenshots-und-Infos-Update-neue-Features/Action-Spiel/News/

    Stichwort: "Daniel Pohl" - Unser Raytracing-Popstar



  • Raytracing ist verglichen mit Rasterization und Scanline-Rendering verdammt teuer, jedoch auch extrem gut parallelisierbar. Der wichtigste Punkt, weshalb Raytracing sich nicht massenhaft durchsetzen konnte bis jetzt ist, dass es dafür keine dedizierte Hardware gibt. Wenn du z.B. mit OpenGL renderst, dann gibt es dafür 1000 verschiedene Grafikkarten, die alle schnell und präzise ihre Arbeit machen. Raytracing hingegen wird bis zum jetzigen Zeitpunkt immer noch von CPUs alleine durchgeführt. Hardware für dieses Verfahren existiert bisher nur zu Testzwecken und ist nicht auf dem Markt erhältlich.

    Als einer der best-parallelisierbaren Algorithmen kann man beim puren Raytracing sagen, dass bei einer guten Engine eine Verdoppelung der Anzahl rechnender Threads & Prozessoren in einer Halbierung der Laufzeit resultiert. Auch werden die Prozessoren und Cores an sich immer leistungsfähiger. Bei einem Test habe ich meinen Raytracer von einem Sockel 478er Pentium 4 (32 Bit) auf einen Core 2 Duo (64 Bit) portiert und eine Performanceverbesserung von weit über 400% beobachtet. Trotzdem rechne ich immernoch 3 Sekunden pro Frame bei 1024x768. Der Schritt hin zu Echtzeitgrafik ist nicht sehr gross, aber dennoch wird es noch einige Zeit dauern.

    Blue5teel schrieb:

    Hast du die letzten Jahre geschlafen?

    http://www.pcgameshardware.de/aid,673825/Quake-Wars-Raytracing-Screenshots-und-Infos-Update-neue-Features/Action-Spiel/News/

    Stichwort: "Daniel Pohl" - Unser Raytracing-Popstar

    Hier sieht man, wie diese Grenze überwunden werden kann: "Das Demosystem für Quake Wars Ray traced wurde ebenfalls geändert. Das bisherige Serversystem mit 4x Intel Xeon X7460 (Dunnington mit 2,66 GHz) wurde durch ein schnelles Workstation-System mit 2x Intel Xeon W5580 (Nehalem EP, 3,2 GHz) ersetzt. Mit diesem System wurde eine Leistung von 16 Fps bei einer Auflösung von 1280 x 720 Pixel erreicht."

    Es funktioniert also bereits, allerdings ist es für den Massenmarkt noch nicht praktikabel. Ein Xeon W5580 alleine kostet schon ca $1700...

    MfG


  • Mod

    der vorteil von rasterizing ist dass es datenparallel ist, waehrend raytracing nur program parallel ist.
    Deswegen gibt es auch kaum hardware dafuer, denn sie kommt sehr schnell an ihr limit ohne dass raytracing auf geschwindigkeiten kommt die vorteile gegenueber rasterizing bieten.
    es ist deswegen auch kein schlichtes problem der rechenleistung, selbst wenn du 100mal die rechenleistung haettest, waerst du speicherzugriflimitiert und da hilft dir nichts wenn du 100cores hast, es sorgt eher dafuer dass der cache bzw speichercontroller getrasht wird.

    solange also niemand raytracing datenparallel hinbekommt, wird es solange dauern mit dem raytracing, bis man schlichtweg nichts an qualitaet mehr gewinnen kann beim rasterizen.



  • @rapso:
    Nur zum besseren Verständnis:
    Kannst du mir bitte, eventuell mit einem konkreten Beispiel, erklären was der Unterschied zwischen daten- und programmparallel ist?

    Danke...


  • Mod

    daten:

    for(....n...)
      array[n]=array[n]*17%5;
    

    program:

    for(....n...)
      switch(array[n])
       ...
       case 15:  array[n]=0; break;
       ...
    

    das erste kannst du somit mit SIMD parallelisieren, das zweite durch threads/cores.

    ich hoffe meine erklaerung ist verstaendlich.


Anmelden zum Antworten