Unterschiede Videobearbeitung / Rendering 1060 vs. 1070

ronde

PC-Selbstbauer(in)
Hallo Leute,

ich habe eine kurze Frage, zu der ich trotz Recherche, nur wenig Informationen gefunden. Für mein neues System mit i7 6800K suche noch eine adequate Grafikkarte und schwanke zwischen 1060 und 1070.
Mein Fokus liegt auf Audioproduktion (wozu die Grafikkarte natürlich nicht so wichtig ist), jedoch habe ich auch öfters Videproduktionen und Renderings, hauptsächlich mit Adobe Premiere und After Effects. Gerade dafür hilft ja eine gute Grafikkarte um die Leistung vom CPU auf die GPU mit umzulegen. Von den CUDA Cores hat die 1070 ingesamt 1920, die 1060 aber "nur" 1280. Jetzt frage ich mich, wie sich das konkret in der Leistung bei der Videoproduktion niederschlägt. Gibts da spürbare Unterschiede und wenn ja wie groß ca?

(Vom Games spiele ich momentan auf Full HD hauptsächlich Shooter, ich denke da sollten 1060 und 1070 beide mit klar kommen.

Danke :)
 
Videproduktionen und Renderings, hauptsächlich mit Adobe Premiere und After Effects.

Dann kaufe die ne AMD... ;)

Eine RX480 ist bei GPGPU (DP-Berechnungen vorausgesetzt) fast doppelt so schnell wie ne GTX 1070 und kostet gefühlt die Hälfte.
Und die neue AMD-Generation unterstützt OpenCL 2.0, Nvidias Pascal nur Version 1.2.
 
Okay, danke für die Infos.

Ich habe schon viel gegoogelt, aber finde kaum Literatur zu dem Thema (vorallem kaum was aktuelles zu CUDA vs OpenGL und Nvidia vs ATI). Habt Ihr vielleicht noch paar Links, die das genauer erklären, gerade auch was Ihr angesprochen habt mit den schnelleren Berechnungen.

In dem Thread schreiben nun manchen CUDA würde verstärkt werden, ebenso mehr Effekte die unterstützt werden sollen. Anyone using the Nvidia 1080/1070 GPUs in Premiere/Resolve? Have any feedback on playback/render performance? : editors

Ein anderer schreibt in dem Thread

"A year ago I upgraded from a GTX 670 to a GTX 970 and my editing time and workflow got a huge improvement.
I do a lot of commercial work: lots of effects, grades and rendering - all of it got a lot faster with the upgrade by 200-350%.
Once I can find a GTX 1080 in stock somewhere, I'm buying it."

Und die ganzen YouTube Tests sind ziemlich oberflächlich.

Also wenn Ihr mir noch paar mehr Infos geben könntet wäre super, ich hab so gut wie keine Ahnung davon bin aber lern-willig :)
 
Es ist immer extrem davon abhängig was du genau wie machst.
Rein von den theoretischen Werten liefert eine RX 480 genau 365 GFlops bei DP-Berechnungen und eine GTX1070 nur 202 GFlops.
Werden dagegen SP-Berechnungen verwendet liefert die RX 480 "nur" 5834 GFlops und eine GTX1070 6463 GFlops, hier ist letztere also schneller.

Das ist aber nur die Theorie, vielleicht ist der Algorithmus unter CUDA so viel besser oder schlechter, dass das viel mehr in der Performance ausmacht als die Rechenleistungen der Chips.

Und dann gibts noch die Frage ob man überhaupt die GPU benutzen will - denn manche Funktionen sind identisch mit der CPU-Lösung und sehr viel schneller (da ists sinnvoll, Videoeffekte/Filter zum Beispiel), bei anderen Dingen ist die GPU zwar schneller, das Endergebnis aber qualitativ schlechter als auf der CPU berechnet (Videokompression beispielsweise).

Was da wie genau auf deine speziellen Wünsche zutrifft können wir dir aus der Ferne nicht sagen - genauso sind die Aussagen im weiten Netz dazu unbrauchbar weil keiner die ganzen Randbedingungen auflistet und man bei dem "all of it got a lot faster with the upgrade by 200-350%" beispielsweise nicht bekannt ist, ob die Leistungssteigerung auf Kosten der Qualität passiert ist und der Schreiber es ggf. (noch) nicht bemerkt hat.

Du hast Recht, es IST alles sehr oberflächlich - das liegt aber daran dass das Thema technisch derart komplex ist, dass es in üblichen Netzverbreitungsplattformen nicht sinnvoll erklärt werden kann... denn wers so zeigt dass jeder Hornochse was mitbekommt der seinen Pixelbrei auf YouTube verbreiten will ists zwangsläufig oberflächlich (und meist falsch) erklärt und wenn mans korrekt erklärt und entsprechend viele Details und Fachwissen einbringt/voraussetzt bekommt man keine Klicks weil die Masse es nicht versteht und es auch sehr sehr ausufernd wird.


Aber ich kann dich insofern beruhigen: So lange du nicht wirklich professionell einsteigen willst liefern dir sowohl die 1070 als auch die 480 mehr als genug Compute-Power in Adobe-Programmen dass du nicht mehr Tagelang auf Ergebnisse warten musst. ;-)
 
Super, vielen Dank für die ausführliche Antwort.

Wie gesagt liegt mein Fokus auf der Audioproduktion (wo ich mich doch recht gut auskenne). In Premiere / AE bin ich ganz gut unterwegs, aber ist nicht mein Hauptgebiet.

Das mit der Komplexität kann ich nachvollziehen und eine Standardantwort gibts auf das Thema vermutlich auch nicht.
Grundsätzlich könnte man aber sagen, dass die CPU deutlich wichtiger ist, als die GPU, richtig?

Und von den Funktionen die auf die GPU umgelegt werden können, das sind ja sowieso nicht so extrem viele und vorallem sollte die Qualität darunter nicht leiden. Eine schnelle Preview z.b. würde ich sehr gut finden, aber ein finales Rendern das zwar schneller geht, aber qualitativ schlechter ist, nicht :). Da warte ich lieber länger.

Rein interessehalber, gibts irgendwo eine Übersicht, was die Nvidia und ATI Karten in AE und Premiere unterstützen, bzw. nicht unterstüzen? Damit man das mal vergleichen könnte.

Und danke nochmal für die Antwort, war sehr hilfreich!
 
Grundsätzlich könnte man aber sagen, dass die CPU deutlich wichtiger ist, als die GPU, richtig?

Bei Audio (da es da keine OpenCL-Geschichten gibt soweit ich weiß) definitiv ja. Bei Video wie gesagt je nachdem was du machst. Benutzt einen extrem OpenCL-lastigen Filter dann ist ne GTX1070 auf nem 30€-Celeron schneller als ein 6950X. Benutzte einen Filter der wenig von OpenCL profitiert ist der 6950X ohne GPU wesentlich schneller.
Da die Masse der Funktionen zu letzteren gehören dürften würde ich aber auch hier mitgehen und eher die schnelle CPU wählen.

Rein interessehalber, gibts irgendwo eine Übersicht, was die Nvidia und ATI Karten in AE und Premiere unterstützen, bzw. nicht unterstüzen? Damit man das mal vergleichen könnte.
Die gibts wahrscheinlich, ich weiß aber nicht wo bzw. kenne sie nicht^^
 
Okay, verstehe.
Aber grundsätzlich macht man mit beiden eigentlich nichts falsch, sofern man ein "normaler" Premiere / AE Nutzer ist, der mal paar Effekt in AE bastelt (Text / Grafik Animationen, vll mal Chromakey, Audiovisualizers..) und in Premiere 1080p Filme schneidet :)
 
Warum ist das so?
Dafür zuerst ein paar Grundlagen:
Eine CPU ist eine extrem vielseitige Recheneinheit, sprich das Ding hat nur eine sehr geringe Kernzahl, dafür kann man darauf so ziemlich jede Aufgabe ziemlich effizient und schnell berechnen. Eine Art eierlegende Wollmilchsau.

Eine GPU ist eine extrem spezialisierte/einseitige Recheneinheit, dafür hat sie aber extrem viele Kerne (teilweise über 4000 heutzutage!), sprich Aufgaben die sehr gut parallelisierbar sind und die der Architektur "gut liegen" sind extrem schnell, Dinge die nicht parallelisierbar sind und schlecht auf der Architektur laufen sind extrem langsam.

Bei Videokompression ist es nun so, dass moderne Codecs sehr sehr viele Methoden und Algorithmen anwenden um die Bilder eines Videos möglichst platzsparend aber dennoch in bestmöglicher Qualität abzuspeichern (kannst ja mal hier reinschauen was man da so alles einstellen kann: Command Line Options — x265 documentation). Diese Codecs sind heutzutage extremst komplex und dafür sehr effizient in Sachen Qualität pro Speicherverbrauch, dafür brauchen sie sehr viel Rechenleistung beim komprimieren.

Gerade weil diese Algorithmen sehr komplex sind liegt es in der Natur der Sache, dass es sehr schwierig bis unmöglich ist, diese komplexen Operationen auf einem so spezialisierten Chip wie der GPU vernünftig laufen zu lassen, erst recht nicht parallel. Es gibt Teile des Codecs die sehr gut auf einer GPU laufen können (etwa eine Aufgabe "vergleiche jedes Pixel von Frame 1 mit jedem Pixel an gleicher Stelle von Frame 2" - da können alle Shaderprozessor der GPU gleichzeitig Abgleiche machen) und es gibt Dinge die sehr schlecht laufen (etwa "Untersuche Objekt A in Frame 1 in welche Richtung es sich in den darauffolgenden Frames bewegt und speichere nur den Bewegungsvektor ab" - da sind Ergebnisse von anderen Ergebnissen abhängig und im Extremfall müssen 3999 Shadereinheiten auf das Ergebnis eines einzelnen warten bis es weitergehen kann).

Nun sind die modernen Codecs so ausgelegt, dass ihre Grundfunktionen möglichst "freundlich" gegenüber verschiedenen Chiparten sind und die GPUs teilweise sogar extra Schaltkreise in Hardware haben um genau das bewerkstelligen zu können - das ist die viel zitierte Videobeschleunigung von Grafikkarten wie auch Shadowplay usw..
Hier geht es aber nur um Grundfunktionen, sprich weiterführende Algorithmen eines Codecs werden schlicht nicht verwendet da die GPU das nicht sinnvoll kann oder wenn mans erzwingt viel langsamer als eine CPU wäre (und das ist nunmal nicht werbewirksam).

Wenn du also deinem Encoder sagst "kodiere mir das Video in den HEVC mit 5000 kbit/s" (macht man heutzutage nicht so, nur als Beispiel), dann kann die CPU alle Funktionen nutzen die der Codec beherrscht (sofern der Benutzer in der Lage ist es einzustellen...), eine GPU aber nur die Grundfunktionen. Sprich die CPU hat viel mehr Möglichkeiten, mehr Informationen in die gleiche Datenmenge zu pressen weil die verwendeten Algorithmen vielseitiger sind (Details würden zu weit führen). Dann hast du am Ende zwei gleich große Dateien, bei der die auf der CPU berechnete version besser aussieht als die die auf der GPU (schneller) berechnet wurde. Es ist übrigens so, dass eine sehr schnelle CPU wenn man auch ihr sagt sie soll alle komplexeren Algorithmen weglassen nicht mehr langsamer ist als die GPU auch - das Ergebnis aber eben auch nicht mehr besser.


Moderne Kodierverfahren laufen etwas anders ab, hier lässt man den Codec selbst entscheiden wie viel Bitrate er dynamisch gerade verwenden muss um eine definierte gewünschte Bildqualität zu erreichen ("ConstantRateFactor"-Methode). Dann ist es so, dass die Qualität beider Versionen fast exakt gleich ist (fast deswegen weil die Quantizerfunktion etwas anders aussieht aber das ist vernachlässigbar). Da aber die CPU alle Funktionen des Codecs nutzen kann und die GPU nicht ist die Datei die am Ende bei der GPU herauskommt zwar schneller fertig und sieht gleich gut aus, ist aber viel größer.
 
Super, danke für die Aufklärung. Das Thema scheint in der Tat komplex zu sein :).

Hast du vielleicht eine gute Quelle die erklärt, wie man Premiere und AE mit seinem CPU und GPU passend einstellt und optimiert. Da gibts ja die offizielle Seite bei Adobe aber die scheint mir nicht mehr so ganz aktuell zu sein und auf YouTube oder in anderen Foren kursiert hauptsächlich so Halbwissen wie mir scheint.

Achja und wegen Nvidian vs. ATI - wenn ich es richtig verstanden habe, nutz Nvidia CUDA und ATI Open GL für die Grafikprozesse (wenn man das so nennen kann). Gibts dazu dann gesonderte Einstellungen, sprich muss ich für Nvidia Karten andere Optionen einstellen, wie für ATI?
 
Wie gesagt ich hab da keine guten Quellen einfach weil ich keine derartigen Programme/Funktionen nutze.

Was die Hersteller der Karten angeht:
OpenGL und OpenCL sind offene Standards, die beherrscht jede aktuelle Grafikkarte, wobei AMD aktuell in der Version etwas weiter fortgeschritten ist.
CUDA ist ein NVidia-eigenes/exklusives Feature und läuft entsprechend nur auf NV-Karten.

Die Software sollte eigenständig erkennen und zur Auswahl anbieten was funktioniert und was sinnvoll ist. Wie oben schon erwähnt wurde geht hier der Trend auch bei Adobe zu OpenCL, einfach weil das frei Verfügbar ist und keine Einschränkungen/Lizenzen/usw. wie CUDA hat.
 
So ich hätte da noch kurze eine Frage bezüglich CUDA Treibern. Die 1070 ist installiert und alles läuft super. Habe den neusten Nvidia Treiber installiert und nun die Fage, ob ich zusätzlich noch den CUDA Treiber installieren muss?
Wenn ich das nämlich machen möchte, bekomme ich den Error (Anscheinend wird die 1070 noch nicht supported)

Capture.PNG

In einem Forum habe ich gelesen, dass man den CUDA Treiber einfach drüber installieren kann und danach wieder den aktuellen Grafikkarten Treiber. Ist dann den so das richtige Vorgehen?
 
Zurück