News Nvidia GameWorks: Quellcode für HBAO+ und weitere Effekte veröffentlicht

HBAO+ ist zwar meist ganz schick, aber mittlerweile sind die Umgebungsverdeckungen der Entwickler meist besser auf das Spiel angepasst.

HABO+ erfasst in Division z.B. nicht den Schnee am boden. Die Schneetexturen sind deshalb mit dem entwicklereignenen AO deutlich kontrastreicher und strukturierter bzw. schärfer.
Zudem fehlen mit HBAO+ die Schatten unter den ganzen Autos, was furchtbar aussieht. Nicht umsonst ist der Effekt selbst mit Ultra Preset deaktiviert....
Bei TombRaider hatte HBAO+ anfangs das Problem, dass der Effekt in mittlerer Entfernung nicht mehr funktionierte (wurde gepatcht) dafür werden aber hier viele Oberflächen detaillierter und kontrastreicher, da das standard AO die Tessellation nicht berücksichtigte.

Trotzdem agiert in TombRaider das standard AO großflächiger, als HBAO+, was vor allem dem gesamtbild der Szene mehr Tiefe gibt und nicht nur einzelnen Oberflächen/Winkeln.

Mittlerweile nutze ich HBAO+ in neuen Games nur noch selten, da es ein Effekt ist, der einfach drübergeklatscht wird, ohne ihn großartig anzupassen. Oft ist es nur eine Verschlimmbesserung, die zusätzlich noch deutlich mehr Leistung kostet.
Ich würde sagen, HBAO+ wird schon bald tot sein, die Lösungen der Spieleentwickler werden immer effizienter und sehen zudem noch besser, natürlicher und realistischer aus, da sie eben schon von grund auf optimal aufs Spiel angepasst werden und auch auf Konsolen laufen.

VXAO kommt jetzt genau zum richtigen Zeitpunkt, um das alte HBAO+ zu ersetzen. Leider ist der Performanceverlust nochmals deutlich größer, als bei HBAO+. Schade. Wird wieder so ein effekt, den man nur aktiviert, wenn man mit ner 600-700€ Karte in 1080p Spielt und zudem auf 60 FPS verzichten kann. :freak:
 
Leider können aber nur nvidia karten VXAO und das ganze geht auch nur unter Dx11.

Hier , das ist da drin.
 
strex schrieb:
Kleines Beispiel, FaceWorks völlig offen und ohne das Gameworks Framework laufbar. Der gesamte Code für das Sample ist einsehbar und lässt komplett ohne Gameworks Framework in die eigene Engine integrieren. Scheinbar noch nicht auf github geschaut: https://github.com/NVIDIAGameWorks/FaceWorks

Soweit ich das sehe, ist der max. Tesselationsfaktor auf 3.0 festgesetzt (tess.hlsli).
Die dynamisch errechnete Tess.-Stufe wird auf max. diesen Wert geclampt (tess_hs.hlsl).

Weshalb Aussagen wie "Die Benachteiligung erfolgte bisher immer über lächerlich hohe Tesselationstufen" in dem Thread hier einfach lächerlich sind.
 
kisser schrieb:
Soweit ich das sehe, ist der max. Tesselationsfaktor auf 3.0 festgesetzt (tess.hlsli).
Die dynamisch errechnete Tess.-Stufe wird auf max. diesen Wert geclampt (tess_hs.hlsl).

Weshalb Aussagen wie "Die Benachteiligung erfolgte bisher immer über lächerlich hohe Tesselationstufen" in dem Thread hier einfach lächerlich sind.
Wie schon mehrfach im Thread erwähnt muss der jetzt veröffentlichte Quellcode nicht gleich der in der Vergangenheit verwendeten, geschlossenen Binaries sein.
 
pipip schrieb:
Siehe meinen Post mit the Division, welcher 1 Woche später nach Release gemacht wurde und AMD Karten aufgeholt hatten. Bis auf den Tests sehen aber die meisten Leute nur jenen von CB, wo die AMD Karten deutlich besser laufen.
Bezieht sich das "besser laufen" denn ausschließlich auf die Gameworks Effekte?
Wohl eher nicht. :rolleyes:
AMD ist einfach langsamer damit, ihre Treiber zu optimieren. Und das hat nichts mit Gameworks zu tun.

Davon mal abgesehen:
Was ist mit dem neuen Hitman?
Wo bleiben die Heuler, die da unterstellen, daß NVidia ausgebremst wird?
40% mehr Leistung bei AMD sind schon ziemlich offensichtlich.

Aber mit Objektivität haben's hier einige offensichtlich nicht so.
Jetzt veröffentlicht NVidia den Quellcode einiger Gameworks-Effekte und es wird wieder gemotzt und mit Händen und Füßen versucht, das irgendwie in ein schlechtes Licht zu rücken.
 
inspectah schrieb:
Wie schon mehrfach im Thread erwähnt muss der jetzt veröffentlichte Quellcode nicht gleich der in der Vergangenheit verwendeten, geschlossenen Binaries sein.

Auch in der Vergangenheit war der Quellcode für Entwickler einsehbar, er war nur nicht öffentlich einsehbar.
Wie ebenfalls schon mehrfach im Thread erwähnt lässt sich leicht nachprüfen, ob der nichtöffentliche und der öffentlich Code voneinander abweichen.
 
UltraWurst schrieb:
Bezieht sich das "besser laufen" denn ausschließlich auf die Gameworks Effekte?
Wohl eher nicht. :rolleyes:
AMD ist einfach langsamer damit, ihre Treiber zu optimieren. Und das hat nichts mit Gameworks zu tun.

Davon mal abgesehen:
Was ist mit dem neuen Hitman?
Wo bleiben die Heuler, die da unterstellen, daß NVidia ausgebremst wird?
40% mehr Leistung bei AMD sind schon ziemlich offensichtlich.

Aber mit Objektivität haben's hier einige offensichtlich nicht so.
Jetzt veröffentlicht NVidia den Quellcode einiger Gameworks-Effekte und es wird wieder gemotzt und mit Händen und Füßen versucht, das irgendwie in ein schlechtes Licht zu rücken.

Ich würde mir an der Stelle mal die Links durchlesen, Faktisch machen TressFX und Hairworks das gleiche, nur komisch dass AMD Karten einen höheren Performance Einbruch erleiden als Nvidia Karten.

Die Leute komme hier mit wilden Theorien aber warum bitte ist Tressfx ziemlich gleich performant auf Nvidia Karten und Nvidia dafür aber unter Gameworks nicht.

http://www.hardwareluxx.de/index.php...im-detail.html
http://wccftech.com/tressfx-hair-20-...tform-support/
 
burnbabyburn2 schrieb:
Ich würde mir an der Stelle mal die Links durchlesen, Faktisch machen TressFX und Hairworks das gleiche, nur komisch dass AMD Karten einen höheren Performance Einbruch erleiden als Nvidia Karten.

Das lag/liegt an dem (warum auch immer, spekulation dazu gibt es ja genug) zu hoch gewählten Tesselations-Faktor. Sah man sehr gut bei The Witcher 3. Bei den AMD Karten kann man die Tesselation begrenzen und mit Faktor 16 oder 32 sahen die Haare bei Hairworks immer noch genauso aus wie bei Faktor 64, aber die Performance war um einiges besser.
Die Diskussion, warum der Faktor so hoch gewählt wurde, ging dann dahin, dass die AMD Karten in Sachen Tesselation immer schwächer waren als die NVidia Karten und der Faktor daher mit Absicht so hoch gestellt wurde um einen Nachteil zu bilden.

Der Gedanke dahinter war schon (in meinen Augen) ganz schlüssig, aber es ist leider nur eine Vermutung, solange sich NVidia selbst nicht dazu äußert.
 
@Relaxo32:

Ergänzend muss man dazu noch sagen, dass die hohen Tesselationsfaktoren bei Witcher 3 nicht nur AMD sondern auch nVidia-Karten wie auch Maxwell geschadet haben. Zur Folge hatte dies, dass in den Release-Witcher 3-Benchmarks mit aktivem Hairworks nur noch Maxwell spielbare Frameraten erzielt hat, was an sich eine perfekte Promotion für die neue Generation darstellt. Kepler war sowieso selbst ohne Hairworks deutlich abgeschlagen.

Problematisch ist das insofern, dass aktives Hairworks auf jeder GPU der Framerate einen massiven Hit gegeben hat, bei manchen Karten diese sogar einfach halbiert hat.

Die Polemik von Strex in allen Ehren, natürlich optimieren die Grafikkartenhersteller ihre Effekte auf die eigene, neueste GPU-Architektur, aber bei Witcher 3 war der Effekt einfach -mit Verlaub- s**eisse programmiert/optimiert. Eine Rechtfertigung für die hohen Tesselationsfaktoren gab es nicht, sie haben nur die Performance aller Karten zerstört. Welche Intention dahinter stand ist höchst spekulativ und durch nichts beweisbar. Dennoch ist der einzige kongruente Weg der, dass dadurch andere Karten ausgebremst /Maxwell promotet werden sollte. Wenn man sich im Gegensatz TrueHair in RotTR (als ein Abkömmling von TressFX) ansieht, dann erkennt man, wie so ein Effekt sich eigentlich leistungsmässig zu verhalten hätte. Auf jeder GPU-Architektur kostet er max. um die 10% Leistung, nicht 25% auf Maxwell und 50% auf allen anderen Karten.

(Des weiteren hat HairWorks immer noch den Bug, dass es Geralts Bart unnatürlich nachdunkelt, aber vielleicht hat das PureHair auch, nur hat Lara zum Glück keinen Bart :D )
 
UltraWurst schrieb:
AMD ist einfach langsamer damit, ihre Treiber zu optimieren. Und das hat nichts mit Gameworks zu tun.
Wenn der Spieleentwickler vertraglich verpflichtet ist AMD nicht vorher Einblicke zu gewähren so hat das nicht viel mit "langsamer" zu tun.

kisser schrieb:
Auch in der Vergangenheit war der Quellcode für Entwickler einsehbar, er war nur nicht öffentlich einsehbar.
Nö, laut diversen Quellen ist dies nicht so, zB 3DCenter
Als Problem wird hierbei ausgemacht, daß jene zu GameWorks gehörenden Software-Bibliotheken "closed Source" sind, sprich selbst von den Spieleentwicklern letztlich nicht einsehbar ist, was da jeweils vor sich geht.
http://m.3dcenter.org/news/hardware-und-nachrichten-links-des-27-dezember-2013
 
burnbabyburn2;18600837 Die Leute komme hier mit wilden Theorien aber warum bitte ist Tressfx ziemlich gleich performant auf Nvidia Karten und Nvidia dafür aber unter Gameworks nicht. [/QUOTE schrieb:
Möglicherweise kommen die Nvidia-GPUs oder vielmehr deren Treiber mit "unoptimiertem" Code besser zurecht.
Ich zitiere mal von gpuopen.com:

Highlights of TressFX 3.0
GCN-optimized rendering and simulation
Ergänzung ()

Conceptions schrieb:

Na, die müssen es ja wissen.:freak:
https://developer.nvidia.com/what-is-gameworks

Many NVIDIA GameWorks components including tools, samples and binaries are freely available to all developers. For other binary or source code access please contact us at Game Works Licensing: VisualFX-Licensing@nvidia.com
 
Was nichts daran ändert, das nVidia jederzeit die Möglichkeit hat seine Treiber dafür zu optimieren. Da nVidia von Beginn an Einblick darauf hat. Anders als bei Gameworks wo AMD erst dann wirklich anfangen kann zu optimieren wenn das Spiel draußen ist. Was man dann immer wieder sieht wie zu Beginn AMD meist hinterher hängt, aber nach und nach wieder ran kommt, teilweise mittlerweile sogar besser ist. Aber jetzt da nVidia die weniger wichtigen Softwarefeatures freigibt, ist natürlich wieder alles im Lot und nVidia ist sooooooooo großzügig. ;)
 
sie haben einfach schon die Nachfolger der freigegebenen Effekte parat, also freut euch nicht zu früh.
 
Dark_Knight schrieb:
Was nichts daran ändert, das nVidia jederzeit die Möglichkeit hat seine Treiber dafür zu optimieren. Da nVidia von Beginn an Einblick darauf hat. Anders als bei Gameworks wo AMD erst dann wirklich anfangen kann zu optimieren wenn das Spiel draußen ist. Was man dann immer wieder sieht wie zu Beginn AMD meist hinterher hängt, aber nach und nach wieder ran kommt, teilweise mittlerweile sogar besser ist. Aber jetzt da nVidia die weniger wichtigen Softwarefeatures freigibt, ist natürlich wieder alles im Lot und nVidia ist sooooooooo großzügig. ;)

Mal unabhängig davon sollte man doch nun davon ausgehen können, dass bei Verwendung von HBAO+ in zukünftigen Spielen die Performance ähnlich verlaufen sollte und AMD deren Treiber analog zu Nvidia optimieren können.

Zu mehr möchte ich mich in die Politik gar nicht einmischen :D

icetom schrieb:
sie haben einfach schon die Nachfolger der freigegebenen Effekte parat, also freut euch nicht zu früh.

Es dürfte die AMD Kartenbesitzer eher weniger stören, wenn HFTS exklusiv auf Nvidia Karten verfügbar ist.
 
kisser schrieb:
Möglicherweise kommen die Nvidia-GPUs oder vielmehr deren Treiber mit "unoptimiertem" Code besser zurecht.
Ich zitiere mal von gpuopen.com:

Highlights of TressFX 3.0
GCN-optimized rendering and simulation
Ergänzung ()

Na, die müssen es ja wissen.:freak:
https://developer.nvidia.com/what-is-gameworks

pure Behauptung und zweitens kann es nicht stimmen wenn der Code Open Source ist, schon alleine von der unterschiedlichen Anzahl der Threads von AMD und Nvidia Hardware muss der Code an die Hardware angepasst werden, kein Code läuft nahe am Optimum schon gar nicht ohne irgendwelche Verbesserungen

Daher glaube ich eher, dass dir die Argumente ausgehen, zuerst solltest du deine Behauptung beweisen

es spricht auch gegen deine These wenn die Performance Verlust in etwa das gleiche mit Tress Fx als auch mit Gameworks ist, da hat sicher jemand an den Schrauben gedreht

Hardwarenahes programmieren erfordert immer das der Code an die Hardware angepasst werden muss, da kommt man nicht herum sonst läuft es einfach nur schlecht.

http://www.gamespot.com/forums/syst...hows-nvidia-gpus-losing-performance-32925136/
 
Zuletzt bearbeitet:
burnbabyburn2 schrieb:
schon alleine von der unterschiedlichen Anzahl der Threads von AMD und Nvidia Hardware muss der Code an die Hardware angepasst werden,

Dafür ist der Treiber zuständig. DirectX enthält keinerlei hardwarespezifischen Code, das ist ja gearde der Sinn einer hardwareunabhängigen API!
 
@burnbabyburn2
Ich geh mal davon aus, dass die meiste Arbeit im Kernel gemacht werden soll von dem her spielt es keine Rolle was im eigentlichen Hauptprogramm passiert, das betrifft nämlich auch AMD nicht nur Nvidia.
Ich meinte es so: Der Treiber ist mehr oder weniger an die Befehlsfolge gebunden die er von der API bekommt. Während "kleinere" Abweichungen von der Befehlsfolge noch problemlos möglich sind (wie zum Beispiel die Befehle etwas umzusortieren oder beim Compilieren den Shader durch eine optimierte Version zu ersetzen) wird es sehr schnell problematisch (programmieraufwändig, fehleranfällig und rechenaufwändig) wenn der Treiber anfängt etwas komplett anderes zu machen (z.B. erkennen wenn Hairworks verwendet wird und die Befehle dann so "umzuinterpretieren", dass die GPU stattdessen das Haar mit Tress-FX berechnet)
 
kisser schrieb:
Auch in der Vergangenheit war der Quellcode für Entwickler einsehbar, er war nur nicht öffentlich einsehbar.

War er nicht, wie often denn noch .. Lern bitte erstmal was eine Library ist bevor du wieder irgendetwas dazu schreibst.
Glaubst du die VW Ingenieure würden die "Abgasmesssoftware" unverändert als OpenSource freigeben?

mfg,
Max
 
Doch, war er, wie oft denn noch.
Glaubst du Nvidia würde veränderten Code veröffentlichen, wenn dadurch leicht nachzuweisen wäre, dass der nichtöffentliche Code den Konkurrenten benchteiligen würde. Denk mal nach!
 
Zurück
Oben