News DirectX 12: Futuremark zeigt DirectX Raytracing (DXR) am 3DMark

Die Demo nutzt ausschließlich die DXR-API und keine speziellen Techniken wie Nvidias RTX
Ja, also geht es einfach auch ohne NVidia's "GameWorks"-Effekte und wenn ich wieder Sätze lese wie
Nvidia hat nach eigenen Angaben eng mit Microsoft zusammen gearbeitet, um RTX für DXR anzupassen
dann erinnert es mich an die Vorwürfe, Microsoft hätte in der DirectX-API bestimmte "Schalter" eingebaut welche trotz Deaktivierung im Treiber und im Spiel bei der AMD Hardware nicht ganz abschaltet werden und zum Leistungsnachteil führen. Leider habe ich die Untersuchung der Entwickler nicht weiter verfolgt und kenne den aktuellen Stand bzw. das Ergebnis nicht.
@CB
Wäre es nicht einer Journalistische Recherche Wert ? ;)
 
Also das sieht schon richtig geil aus, die Spiegelungen und Schatten sind beeindruckend. Schatten von weiter entfernten Objekten wie z.B. dem Frachter draußen sind allerdings in Realität deutlich unschärfer. In der Demo fällt der viel zu scharfe Schatten des Frachters sofort als unrealistisch auf. Der sollte deutlich weichere Kanten haben.
 
Alles was mit Licht zu tuen hat ist eben die Stärke des Raytracing. Beleuchtung, Schatten, Spiegelungen usw. lassen sich damit einfach realitätsnäher gestalten.
Diese Effekte sind in der Demo auch sehr anschaulich gelöst aber das Gegenbeispiel ohne Raytracing sind ja wohl ein schlechter Witz. Da habe ich schon deutlich besseres in Spielen gesehen. Vor allem die Schatten kommen in einer absoluten Sparausgabe daher und fehlen teilweise ganz. Lediglich die Spiegelungen wissen soweit zu überzeugen.
 
Also ohne Raytracing werden Spiegelungen ganz bestimmt nicht so schlecht dargestellt wie aus dem Vergleichsbild.

Mir fehlen bei diesem Raytracing die Spiegelungen als Lichtquelle. Der Arm sowie die Schulter müssten beim Raytracing einen anderen Schattenverlauf haben. Überhaupt hat die Figur genau einen Schatten und ansonsten verdunkelt sie gar nichts.

Als die Sonne den gelb-orangen Anzug anstrahlte, hätte die Umgebung gelblicher sein müssen und die Spiegelung an der Stelle auch heller, eben als Lichtquelle. Wo ist da das Raytracing?
 
von Nvidia gibts auch n neues Video zu RTX

https://www.youtube.com/watch?v=tjf-1BxpR9c

Sehr nice muss ich sagen. Wenn dieses ganze DXR dieselbe Quali liefern kann wie die RTX + leicht zu implementieren ist wird das mit steigender GPU / CPU Power die Grafik deutlich aufwerten.
 
Zuletzt bearbeitet:
Wadenbeisser schrieb:
@noxon
Hätte deine Logik auch nur halbwegs Sinn dann würden die Spiele und die Grafikkarten deutlich vor der API raus kommen.
Wieso sollte das denn der Fall sein? Die Spezifikation der Grafikkarten liegen schon laaaaange vor der Serienfertigung der Grafikkarten fest.
Garatiert schon 1 Jahr oder so. Dann können Grakahersteller zu MS gehen und ihnen sagen was sie in Zukunft für eine API benötigen.
Microsoft auf der anderen Seite benötigt auch wieder eine recht lange Zeit um die API zu bauen und eventuell auch das Betriebssystem anzupassen um den neuen Anforderungen gerecht zu werden.
Beim Erstellen der API lassen sie sich dann auch regelmäßig von einer kleinen Gruppe von Entwicklern beraten, die dann parallel dazu ein paar Launchtitel erstellen, die diese API demonstrieren wird.

Wenn dann die Grafikkarten, wie jetzt bei nVidia, fertig ist und auch MS mit der API fertig ist, dann kann alles vorgestellt werden und auch die Spielehersteller können ihre Launchtitel präsentieren.
Genau das passiert doch hier.
Nach diesen Launchtiteln wird es dann allerdings auch lange lange Zeit erst einmal keine Titel geben, die von der Technik gebrauch machen. Das wird dauern, zumal auch sehr wenige die passende Hardware haben um diese nutzen zu können.


das MS hier offenbar nur mit einem zusammengearbeitet hat legt die Vermutung nahe das diese API auch recht deutlich auf dessen Hardware ausgerichtet ist und schon passt es wieder zum Schema von nvidias bisheriger Vorgehensweise.
DirectX vermittelt nur zwischen Programmierer und Grafiktreiber. Da ist nichts auf spezielle Hardware ausgerichtet.
Allerdings muss MS beim Erstellen einer neuen API wissen, was sich beiden Parteien für Features wünschen zwischen denen sie vermitteln soll. In diesem Fall wären das also Spieleentwickler und Graka-Hersteller.
Die Grakahersteller sagen MS, welche neuen Hardwarefeatures sie im Angebot haben und wie sie diese über ihre Treiber dem Betriebssystem zur verfügung stellen könnten und die Spieleentwickler sagen MS, wie sie diese Features gerne programmiertechnisch ansprechen würden.
Microsofts Aufgabe ist es dann eine API zu entwickeln, die zwischen Programmierern und Treibern vermittelt. Features werden in DirectX aber nicht imlpementiert, also wird da auch nichts auf hardware optimiert. Wenn neue Spiele erscheinen und optimiert werden, dann aktualisiert man ja auch nicht DirectX, sondern die Grafikkarten-Treiber, denn dort steckt die hardwarespezifische Funktionalität drin. Nicht in DirectX.
Das ist nur eine Vermittlungsschicht, die durch einen konstanten Dialog zwischen Entwicklern, Graka-Herstellern und Microsoft entstanden ist. Schließlich ist es allen daran gelegen, dass Entwickler jede Hardware auf Windows am besten und einfachsten ansprechen kann.

Wenn nVidia irgendwo Einfluss nehmen will, dann ist das höchstens in Middleware-Bibliotheken wie Gameworks. Die nutzen zwar auch ganz normale die DirectX API und laufen somit nicht schlechter auf AMD Karten als nVidia, aber sie nutzen natürlich auch optimal die Stärken von nVidia Karten aus. Wenn nVidia besonders gut im Tesselation-Beereich ist, dann werden Gameworks Effekte das besonders stark nutzen und wenn nVidia dank Tensor-Cores eine besonders hohe RayTraycing Leistung beherrscht, dann wird es auch davon sehr viel gebrauch machen. Gameworks ist für die Entwickler allerdings auch OpenSource und jeder kann die Effekte so verändern wie er möchte.

Anders herum gibt es so eine Middleware natürlich auch von AMD in der Form von GPUOpen. Dort wird natürlich auch nicht beonsders viel Wert darauf gelegt, dass die Effekte auf nVidia GPUs gut laufen, sondern hauptsächlich so entwickelt, dass sie auf AMD GPUs gut funktionieren. Auch dort hat der Entwickler aber die Möglichkeit alles so zu ändern wie er möchte.

Letztendlich hängt also immer alles vom Entwickler ab, wie gut er seine Spiele optimiert und ob er sich die Arbeit macht herstellerspezifisch anzupassen oder ob er den kostengünstigsten Weg nimmt und einfach eine der kostenlosen Middlewares von nVidia oder AMD nimmt und sie so einsetzt, wie sie ausgeliefert werden.
Aber selbst wenn Gameworks oder GPUOpen einfach nur blind einsetzt werden, so sollten wir froh sein, dass diese Bibliotheken existieren, denn die meisten Entwickler würden ansonsten solche Effekte wahrscheinlich überhaupt nicht einsetzen, wenn sie sie komplett selbst entwickeln müssten.
 
@noxon
Weil das die von dir genannte Reihenfolge ist.
Erst müssten die Features in der Hardware vorliegen, dann die Spiele Hersteller ohne Nutzungsmöglichkeit dafür programmieren und am Ende würde die API erst dazu kommen. Bezieht man dann noch die Entwicklungszeiträume von mehreren Jahren mit ein dann würden die Sachen jahrelang als totes Kapital liegen bleiben weil sie mangels API ganz einfach nicht nutzbar sind und würden erst irgendwann ein API Update erhalten und zeitnah freigeschaltet werden.
Dummer weise ist das aber nicht der Fall.

Und natürlich kann man die API bzw. deren Rahmenbedingungen auf eine bestimmte Architektur hin ausrichten, was glaubst du wohl was z.B. bei CUDA der Fall ist?
Hier geht es um eine Erweiterung der API die aktuell auf einen einzigen Hersteller hin ausgerichtet ist der auch noch mit daran gearbeitet hat. Das sonst übliche abwägen zwischen den Anforderungen unterschiedlicher Hersteller und Architekturen fand ganz einfach nicht statt und entsprechend gering ist die Chance dass ein Mittelweg gegangen worden wäre. Damit ist es automatisch die Bevorzugung eines Herstellers.
 
Im Unreal Livestream von der GDC haben sie gerade eine gute Raytrace Demo gezeigt:
https://www.youtube.com/watch?v=BBhr9oddwR4
4 Tesla Grafikkarten für Echtzeit Rendering haben sie gesagt und Spielen, die die Technik nutzen noch in diesem Jahr. Mit Optimierung, etwas reduzierter Qualität und nicht so übertriebenem Einsatz wird es bestimmt auf den Topkarten auch ordentlich laufen.
 
@Qarrr³:

Aha, also zeig ich eine Demo, die ich danach für ein Spiel mit der Technik ordentlich downgraden muss, da die Hardware das gar nicht hergibt? Wenn man da die Qualität reduzieren muss, weniger RayTracing einbauen kann, so erschließt sich mir momentan der Sinn von Implementierung in Spielen, die dieses Jahr erscheinen, nicht. Eine deutlich gesteigerte Grafikqualität wirst du damit dann auch nicht erreichen.

Ich lass mich gerne überraschen, aber ich bin da eher skeptisch.

Sinnvoller wäre es jetzt weniger auf den Hype zu setzen und die Hardware dementsprechend zukünftig auszulegen damit genügend Leistung vorhanden ist.
 
Enger Raum, wenig Sichtweite, wenig Objekte und dadurch entsprechend sparsam bei den Anforderungen.
Wenn dafür bereits 4 Tesla Karten erforderlich waren kann man ein vielfaches der Rechenleistung für ein Spiel ansetzen. Wer dann auch noch hohe Frameraten verlangt kann das dann noch weiter hochrechnen, von hohen Auflösungen ganz zu schweigen.
Vergleichbares würde ich bei Spielen in frühestens 6 Jahren erwarten.
 
Wadenbeisser schrieb:
Dummer weise ist das aber nicht der Fall.
Beispiele?
Wadenbeisser schrieb:
Und natürlich kann man die API bzw. deren Rahmenbedingungen auf eine bestimmte Architektur hin ausrichten, was glaubst du wohl was z.B. bei CUDA der Fall ist?
hat noxon das Gegenteil behauptet ?

wenn direct x erwähnt wird ist nunmal die gesammte Schnittstelle gemeint. der extra part nennt sich DXR, nvidias pedant dazu RTX
das einzige was dich hier stört und extrem aggressiv macht ist der umstand das amd hier mit keiner silbe erwähnt wird und daraus schließt du das amd außen vor bleibt und ziehst wieder über nvda her usw usw

DXR ist natürlich NICHT nvidia only.

gab auch schon eine "antwort" von amd:
AMD kann das Thema indes nicht ignorieren und hat noch gestern Abend eine Stellungnahme zu DXR versandt: "AMD arbeitet zusammen mit Microsoft daran, die Zukunft von DirectX 12 und Ray-Tracing zu bestimmen, zu verbessern und mitzugestalten. AMD bleibt Technologieführer der neuen Programmiermodelle und API-Innovationen auf der Grundlage einer zukunftsorientierten und grundlegenden System-Level-Kompetenz für die Grafik-Programmierung. Wir freuen uns darauf, mit Spielentwicklern ihre Ideen und ihr Feedback zur PC-basierten Ray-Tracing-Technologie für Bildqualität, Effekte und Performance zu diskutieren."

Laut anandtech.com soll AMD bald einen Radeon-Treiber veröffentlichen, der eine grundsätzliche Unterstützung für DXR mitbringt. Wie es um spezielle Hardware-Funktionen bestellt ist, bleibt offen. Da sich alle Beteiligten darüber ausschweigen, wie diese Features aussehen sollen, darf man abwarten und Tee trinken.
soße: http://www.pcgameshardware.de/Direc.../News/Raytracing-AMDs-Radeon-Support-1252643/

ich erinner mal an async compute, da ist komischerweise keiner so abgegangen wie du grad wadenbeiser. Stichpunkt "Bevorzugung des Herstellers". im Gegenteil: alle haben amd gefeiert so als wenn die Dorfmannschaft der 6. Liga den fc Bayern besiegt.

natürlich wird amd hier überrascht gewesen sein - zumindestens etwas.
mal sehn wie's hier weitergeht, so schnell werden wir vermutlich eh keine Ergebnisse sehen - und bis dahin hats die hälfte bestimmt eh wieder vergessen.
 
Zuletzt bearbeitet:
cruse schrieb:
natürlich wird amd hier überrascht gewesen sein - zumindestens etwas.

Überrascht ist da das falsche Wort würde ich sagen. Man arbeitet ja selbst an der Technologie für Vulcan im ProRender Bereich. Und da AMD da auch mit Microsoft im Boot sitzt, wusste man das vermutlich schon eine ganze Weile.

Es ist aber wie du sagst, Ergebnisse werden wir da so schnell nicht sehen. Da werden ein paar Werbe-Animationen in Spielen zu finden sein, die vermutlich auch noch deutlich die Performance beeinflussen (im negativen Sinne), aber grundsätzlich muss dort auch erstmal die Hard- und Softwaregrundlage geschaffen werden.
 
cruse schrieb:
Beispiele wofür? Für Sachen die es nicht gibt?
Da das nicht möglich ist, wie wäre es mit Beispielen wo das der fall war?
Bisher wurde lediglich die Unterstützung für die neuen APIs nachgeliefert und da kamen keine neuen Grafik Funktionen hinzu.

hat noxon das Gegenteil behauptet ?


Ja hat er und hättest du zumindest die letzte Seite mal gelesen dann wäre dir das auch aufgefallen.
Ich zitiere:

Microsoft legt ja nicht irgend eine API fest und die Grakahersteller gehen dann her und bauen die passende Hardware dafür.

Es läuft umgekehrt. Die Graka-Hersteller entwickeln jahrelang an ihrer Hardware und wenn sie fertig ist, dann gehen sie zusammen mit Spieleentwicklern und auch der Konkurrenz zu Microsoft und entwickeln eine gemeinsame API um ihre zukünftige Hardware ansprechen zu können.
Also erst die Hardware und die Spiele und dann wird erst die API entwickelt. Es würde also Jahre dauern bis das entwickelte nutzbar wäre (siehe Mantle Entwicklungszeit) und man müsste dann noch an den Jahre alten Spielen rumbasteln damit die mit der neuen API überhaupt umgehen könnten.
Das macht absolut niemand. Sowas wird zusammen mit den Hard- und Software Herstellern entwickelt um es zeitnahr zu nutzen und totes Kapital zu vermeiden.

DXR ist natürlich NICHT nvidia only.
Wovon bei mir auch nicht die Rede war.
Es war die Rede davon das sich nvidia eine für seine Hardware optimierte API Erweiterung hat einbauen lassen, womit sie sich gleichzeitig einen erheblichen Vorteil verschafft haben. DXR ist damit keine neutrale API.
 
Zuletzt bearbeitet von einem Moderator:
Enger Raum, wenig Sichtweite, wenig Objekte und dadurch entsprechend sparsam bei den Anforderungen.
Wenn dafür bereits 4 Tesla Karten erforderlich waren kann man ein vielfaches der Rechenleistung für ein Spiel ansetzen.
Bei Raytracing kommt es nicht auf die Größe des Raumes, sondern ausschließlich auf die Anzahl der Lichtquellen, die Anzahl der beachteten Refelxionen und die Dichte der Strahlen an. Man sieht in dem Star Wars Video, dass die es ziemlich übertrieben haben, weil sich einfach alles spiegelt und extrem viele Lichtquellen existieren. Wie bei den ursprünglichen Tessellation Demos wird hier kein optimierter oder vernünftiger Einsatz der Funktionen dargestellt, sondern einfach nur, was möglich ist.
 
Ist bei sowas wie der Raytracing Berechnung eigentlich die GPU zwingend viel schneller als eine CPU? Das ja ggf nicht mehr ganz die typische Rechenarbeit, ggf kann also eine schneller CPU auch schon für zusätzliche Strahlen sorgen.
 
Krautmaster schrieb:
Ist bei sowas wie der Raytracing Berechnung eigentlich die GPU zwingend viel schneller als eine CPU? Das ja ggf nicht mehr ganz die typische Rechenarbeit, ggf kann also eine schneller CPU auch schon für zusätzliche Strahlen sorgen.
Meine Vermutung: Raytracing-Rechenaufgaben sind gut geeignet, parallel und unabhängig voneinander berechnet zu werden. Das ist die Paradedisziplin von GPUs.
 
@Qarrr³
Nur ist es kein reines Raytracing sondern eine Mischform und deshalb werden auch dessen Grenzen des klassichen Renderns mit einfließen. Dann heißt es ganz schnell wieder, mehr Sichtweite, deutlich mehr Objekte, erheblich mehr Last auf der Hardware.
 
Cr4y schrieb:
Meine Vermutung: Raytracing-Rechenaufgaben sind gut geeignet, parallel und unabhängig voneinander berechnet zu werden. Das ist die Paradedisziplin von GPUs.

Naja, GPUs sind sogar an sich relativ schlecht darinnen ihre Rechenkerne bei Raytracing auszulasten: GPUs sind datanparallele Rechner, Raytracing ist im Allgemeinen nur mittelmäßig datanparallel, gerade bei den Sekundärstrahlen fehlt die Datenparallelität. Raytracing verursacht besonders bei den Sekundärstrahlen chaotische Speicherzugriffe, die die kleinen Caches der GPU trashen können. Caches und DRAM sind nicht auf fein granulare Speicherzugriffe ausgelegt, die beim Raytracing aber auftreten. Diverse Beschleunigungsdatenstrukturen benötigen oder profitieren von einen Stack für die bzw bei der Strahlenverfolgung, Stackzugriffe sind auf der GPU wegen den kleinen Caches eher teuer. Strahlenverfolgung besitzt im Vergleich zum Workingset nur eine geringe Instruktionsparallelität, dementsprechend gibt es Probleme bei dem Latency Hiding.
 
Zuletzt bearbeitet:
Joa ich denke dass viel da auch CPU based berechnet wird und eher spezieller Aufgaben GPU zu Teil werden, ggf die interpolation oder so um das Ergebnis zu entrauschen oder so. Würde mich nicht wundern wenn die Technik auch über die CPU skaliert.
 
Zurück
Oben