Bericht Bericht: „Quake Wars“ mit Raytracing

Wenn man die Anzahl Polygone sieht, die ist ja wie tomb raider 3, dann ist man bei diesen beiden kurven die sich treffen noch tief in dem grundbereich drinne ;-)

der performance sprung ist schon beachtlich.
allerdings wurde da auch ein sehr utopischer prozessor verwendet.

Es steht im Text das damals 10 Rechner paralel geschaltet wurden. Also auch keine Standart CPU :freak:

Außerdem ists keine CPU sondern ein Rechnerverbund
 
Man Leute.... das ist Intels Forschung - also verwendet man auch eigene Hardware.
Oder meinste, jede Firma entwickelt für die Konkurrenz? Außerdem kennt Intel seine eigene Forschung am besten.

NVidia kann ja seine eigene Raytracing-Forschungsabteilung gründen - wenn sies nicht machen, ham se eben Pech gehabt.
Seid froh, das Intel sehr intensiv dran forscht. Und wenn man sich den Leistungssprung anssieht - wo damals noch 20 Rechner mit jeweils zwei CPUs (oder Kernen, weiß es grad nimma) notwendig waren, reicht heute eine Many-Core-CPU - bei einem sehr viel aufwändigerem Spiel.
 
Nvidia und ATI forschen ebenso an Raytracing:
Ich denke durch GPGPU Computing sieht es sehr gut aus, dass da zukünftig interessante Produkte kommen.
 
sehn schon pervers geil aus die bilder. kann man das irgentwie selber mal testen mit nen tool? am besten mit nen nvidia karte weil ich denke das das besser wie nen i7 965 ist weils halt paralel arbeiten kann.
 
bartio schrieb:
...
Genau der Schnittpunkt ist doch interessant. Ab wieviel Dreiecken "lohnt" sich Raytracing im Blick auf die Leistung? Ab 2000, 2Millionen oder gar 2 Milliarden?
Ist das immer so, oder nur wenn es optimal läuft?
...

Hab ich das jetzt richtig verstanden, dass du die Methodik/Performance von Raytracing aufgrund mangelnder Objektivität eines Entwicklers ablehnst? Versteh mich nicht falsch, sicherlich ist Herr Pohl nicht 100% objektiv (wie sollte er auch) und sicherlich, lässt sich jedes Diagramm für die eigene Argumentation auslegen ... aber deswegen die Technik an sich in Frage zu stellen? o.O Mit Sicherheit wird es noch Jahre dauern, bevor es sinnvoll ist ausschließlich Raytracing einzusetzen (falls es überhaupt jemals dazu kommen sollte).
Der Punkt ist jedoch nicht, wieviele Dreiecke oder Objekte oder sonstwas berechnet werden, sondern ab wann die dargestellte Qualität beider Verfahren dieselbe ist. Ab welchem Punkt wird hier der Kosten-Nutzen-Punkt derselbe sein?
Objektiv betrachtet müsste jemand also die ganze Forschung von Herrn Pohls Raytracing Engine auf Grafikkarten portieren, sodass dieses dort auch lauffähig wird. Man könnte so ja die gleichen Szenen mit beiden Verfahren 'benchen'. Dann erst kann man vergleichen, wann wir den besagten Punkt in dem Diagramm erreichen werden, oder ob wir ihn gar schon überschritten haben.
Die Frage bleibt aber: Wer erklärt sich zur Portierung freiwillig bereit? :D AMD/ATI? NVIDIA?
 
weiß nun einer von euch womit die bei dem enlighten sdk arbeiten ?

die optischen ergebnisse kommen sehr nah an raytracing ran kann mir da jemand mal bitte eine antwort zu geben?
 
Kopi80 schrieb:
27-1080.4152485585.jpg




Am besten du beliest dich vllt. gleich mal mit den verlinkten anderen Artikeln zum Thema (bei genauerem Hinsehen finden diese sich sogar am Ende dieses Artikels -.-). Hoffe geholfen zu haben.
Ja genau, das und die mathematisch korrekten, dafür grottenhässlichen Schatten- und Spiegeleffekte sind die einzigen Vorteile von Raytracing, und zu welchem Preis? Um in drei, vier Jahren auf einem HighEnd-Rechner das schon heute hässliche Quake Wars Raytraced flüssig spielen zu können? Na danke, ich passe :freak:

Zudem stellt sich die Frage, ab wann genau die Polygonberechnung mit Raytracing effizienter wird. Die Bildschirmauflösung gibt nunmal vor, wie viele Polygone in einer Szene überhaupt noch Sinn machen, ohne dass das Bild abartig zu flimmern anfängt, da Polys bereits kleiner als Pixel sind. Bedenkt man, dass der PC fast nur noch mit Konsolenports überschüttet wird, und dort der Standard bei 720p (1280*720 = 921.600 Pixel) liegt, fällt die Performance unter Rasterizer erheblich besser aus als unter Raytracing. Nächste Konsolen-Generation, die wohl bis 2016 geht, wird der Standard 1080p betragen. Das lässt in der Theorie ein maximales Polygonbudget von 2 Mio. zu (in der Praxis werden es wesentlich weniger sein, da immer irgendein etwas größeres Objekt ohne allzu viele Polygone ins Bild ragt). Auch da ist die Performance unter Rasterizer noch Welten besser als unter Raytracing.

Sicherlich gibt's die Leute mit astronomischen Auflösungen von 2560*1600 oder sowas in der Art, aber an diese Minderheit wird das Polygonbudget sicher nicht angepasst, sonst würde es wie gesagt bei allen anderen ekelig flimmern. Wobei es auch dann noch anzuzweifeln wäre, ob Raytracing selbst in so einem Fall performanter rechnen würde...

Also, WO GENAU soll Raytracing einen Durchbruch bringen? Die Performance ist unterirdisch, der logarithmische Rechenaufwand für Polygone in den nächsten paar Jahrzehnten in der Praxis nicht zu gebrauchen und die Schatten sehen in der Standardausführung grottenhässlich aus - es sei denn man verwendet spezielle Verfahren wie diffuses Raytracing oder Path Tracing für Softshadows, wodurch die Performance nochmal zusätzlich ins Bodenlose rutscht. Unterm Strich geht mir das Gehype von Herrn Pohl gehörig auf die Eier^^ Für Animationsfilme von Pixar & Co oder bestimmte Fake-Raytracing-Techniken in Rasterizer-Engines (wie etwa beim Parallax Occlusion Mapping) mag Raytracing ganz nett sein. Eine vollwertige Raytracing-Engine in Spielen ist jedoch Mumpitz.
 
Huhamamba schrieb:
Zudem stellt sich die Frage, ab wann genau die Polygonberechnung mit Raytracing effizienter wird.

Würde sagen das bringt die Problematik auf den Punkt.
Zwei sich schneidende Kurven ohne Skalierung der Achsen sind schnell mal hingemalt.
Raytracing wird genau dann eingesetzt werden, wenn auf vorhandener (einigermaßen verbreiteter Hardware) sich damit effizienter rendern lässt. Carmack hat glaub ich auch von hybriden Renderern gesprochen (je nachdem, ob Rastern oder Raytracen effizienter ist, wird es eingesetzt). Auf Biegen und Brechen Raytracen wird sich nicht durchsetzen. Sagt zumindest mein Prisma.
 
Der große Vorteil beim Raytracen ist doch die Beschleunigung, die erzielt werden kann.
Also dass nicht immer alles gerendert wird.
Ich denk, dass das beim richtigen Einsatz dann schon schnelle Vorteile ergeben müsste, im extremsten Beispiel könnte man ja bei einem Strategiespiel die Karte als 2 Polygone darstellen, die mit ner Art Parralax-Occlusion-Mapping auf die Höhen und Tiefen verzerrt werden, dadurch würde der Rechenaufwand auch deutlich sinken.
 
Danke für den interessanten Artikel. RT ist schon eine tolle Sache. Technisch jedenfalls. Dass sich für Spiele je reine RT-Engines durchsetzen werden bezweifle ich nämlich. Vielleicht baut man ja erst RT-Tricks in normale Engines ein und irgendwann wird die Basis eine RT-Engine die ähnlich wie herkömmliche Engines trickst, um schnell genug zu sein. Es wird aber bestimmt niemals eine Technologie durch eine andere, unterm Strich ineffizientere Technologie abgelöst werden.
 
Es gab mal einen netten Artikel, der die Vorteile von Raytraycing beschrieb. Leider hab ich keinen Link mehr, aber laienhaft klang es so, daß nicht nur die Polygonzahl alleine die benötigte Leistung definierte, sondern auch die Auflösung.
Sorich, der Punkt der S der netten Grafik wird nicht nur durch viele Details erreicht, sondern schneller durch größere Monitore und der daraus resultierenden höheren Auflösung.

Noch ist Rendern schneller, ab einer gewissen Bildqualität aber nicht mehr. Soll heißen, wenn in x Jahren Quake Wars genauso toll aussieht wie heute gerendert, ist die benötigte Leistungssteigerung um ein Spiel in x Jahren auch in Raytracing gleichermaßen darzustellen wie beim Rendern darzustellen geringer als dies für Rendering nötig ist.
Anders gesagt, je schöner und detailreicher die Grafik wird, desto interessanter wir Raytracing um eben dann doch wieder alles flüssig darzustellen.
 
Desto höher des Verhältnis Polygon/Auflösung ist, desto besser scheint Raytracing gegenüber Rasterisierung zu sein. Bei steigender Auflösung wird Raytracing relativ gesehen immer teuerer gegenüber Rasterisierung.
 
Yuri schrieb:
Seid froh, das Intel sehr intensiv dran forscht. Und wenn man sich den Leistungssprung anssieht - wo damals noch 20 Rechner mit jeweils zwei CPUs (oder Kernen, weiß es grad nimma) notwendig waren, reicht heute eine Many-Core-CPU - bei einem sehr viel aufwändigerem Spiel.

Das war heute aber auch keine 'Many-Core_CPU'.

Es wurde ein 4 Sockel Server MB mit 4*6 Kern CPUs (Dunnington) genommen.

Auch wenn der Performancegewinn sichtbar ist, dürfte da noch einiges notwendig sein.

Also von 40 Kernen runter auf 24 (mit je 2,66 GHz) ist gut, aber vor allem wenn man die geringe Auflösung beachtet noch viel zu viel.
 
Das Diagramm mit dem Schnittpunkt ist einfach falsch, nämlich insofern, dass der Schnittpunkt viel höher liegen sollte. Damit wird jedem Unbedarften vorgegaukelt, dass dieser Schnittpunkt ja schon in Reichweite ist, obwohl er das noch lange nicht zu sein scheint.

Angaben ab wann dieser Schnittpunkt erreicht wird, gibts nämlich keine, wohl deshalb, da dieser nicht erreicht werden kann, solange die Bildauflösung immer steigt.

Raytracing hat den grossen Nachteil, dass es am Nachlaufen ist und immer um einige Auflösungen hinterher hinkt. Jedesmal, wenn die Auflösung einen weiteren Sprung macht, hat es wieder zuviel aufzuholen um wirklich interessant zu werden.

Ich meine, dass man das mit einer spezialisierten Raytracing-Hardware in den Griff bekommen könnte. Das Problem dürfte jedoch hier sein, dass Raytracing doch recht selten Vorteile bringt und sich deshalb scheinbar eine reine Raytracing-GPU zur Zeit nicht rechnen dürfte.
 
Blitzmerker schrieb:
...Allerdings ist es dahingestellt, ob die GPUs überhaupt schneller sind, da GPUs einfach noch sehr primitiv sind.

Bedenke jedoch, dass du auf einer GPU wesentlichmehr 'Kerne' hättest um die Berechnungen auszuführen. Intel packt in den Larrabee ja nicht umsonst ewig viele Rechenkerne.

Die größten Performance-Verbesserungen kommen von [...] den neuen Plattformen mit mehreren Kernen, die die Parallelität von Raytracing ausnutzen.

Und eben das ist der Punkt, an dem ich mich frage, wie ein Raytracingprogramm auf einer CPU und einer GPU performt. Bis jetzt kann das niemand sagen, da jeder Hersteller mal wieder sein eigenes Süppchen kocht. Und auch deshalb halte ich alle Diskussionen um den Break-Even-Point (ich nenn ihn jetzt einfach mal so) für reine Spekulation.
 
Sagt ma fällt nur mir das auf oder sehe nur ich keinen unterschied zwischen den render methoden?
 
@Kopi80:
Ja aber diese Kerne haben viele Befehle, die sich eine Grafikkarte nur erträumen kann. Wenn ich es richtig weiß, soll sogar SSE unterstützt werden.
Z.B laufen meine Programme auf der HD3870 nur auf 64 Kernen gleichzeitig ab, da sie alle 5D Einheiten brauchen.
Oder ein besseres Beispiel:
eine normale while oder for Schleife bring mir nur ein VPU-Recover ein, weil die Hardware zu langsam ist, um ein Sprung im Code nach oben durchzuführen.
Wie willste da jetzt gescheiten Code schreiben?

@icecrash:
Der Unterschied liegt im Detail.
Beim Rasterisieren werden einfach all die Deriecke (oder Polygone) von hinten nach voren auf den Bildschirm gezeichnet.
Beim Raytracen werden sozusagen die Photonen, die in unsere (virtuelle) Augen treffen, zurückverfolgt um herauszufinden, welche Farbe sie haben. Dadurch sind physikalisch korrekte Brechungen, Schatten und Spiegelungen möglich. Auch ist die Beschleunigung der Welt sehr einfach zu bewerkstelligen.
 
Zuletzt bearbeitet:

Ähnliche Themen

Zurück
Oben