CUDA/NVENC Leistung: GTX 660 -> GTX 1060

Tronix

Commander
Registriert
Sep. 2010
Beiträge
2.851
Ich codiere öfters Videos und nutze dazu XMedia Recode und die Nvidia NVENC Codecs. Primär deswegen habe ich die GTX660 gegen die GTX1060 ausgetauscht, denn laut Online Recherchen sollte sich die CUDA Leistung etwa verdoppeln.

- Mit der GTX660 habe ich etwa 290 FPS geschafft. CPU Auslastung bei 40-50% und GPU Auslastung bei ca 60%.
- Jetzt mit der GTX1060 komme ich gerade mal auf 320FPS. CPU Auslastung ebenfalls bei 40-50% und GPU Auslastung nur bei ca 30%.

Es macht keinen Unterschied ob ich die NVENC H264 nehme oder die NVENC H265. Jeweils knapp über 300FPS.

Jemand eine Idee woran es liegt? Anscheinend limitiert weder CPU noch GPU und es sollten noch genug Reserven vorhanden sein. Irgendeine Einstellung die ich übersehen habe?
 

Anhänge

  • CUDA1060.jpg
    CUDA1060.jpg
    93,7 KB · Aufrufe: 638
Bin gerade mit dem Smartphone online und kann deine Signatur nicht sehen.

Ist evtl. der Arbeitsspeicher ausgelastet? Cpu und Gpu haben ja noch reichlich Luft.
Videobearbeitung empfiehlt schon ab 16GB RAM und mehr.

Ich kenne das Programm nicht. Ist evtl. eine Limitierung in den Einstellungen gesetzt?
 
Woher hast Du die Info, die 1060 hätte 100% mehr GPGPU / CUDA Leistung, als die 960?
 
16GB verbaut, RAM Auslast vielleicht bei 3,5GB während des codierens. Codiert wird von SSD auf SSD, also wird die auch nicht blocken.


@BlubbsDE
Es geht um die GTX660. Siehe hier zb: https://browser.primatelabs.com/cuda-benchmarks

CUDA Benchmarks:
GeForce GTX 1060 3GB > 137345 Punkte
GeForce GTX 960 > 74834 Punkte
GeForce GTX 660 > 52628 Punkte

Demnach müsste sich die CUDA Leistung sogar knapp verdreifachen. Aber ganz abgesehen von irgendwelchen Benchmarks: Wenn ich mit der GTX660 60% Auslastung habe und mit der GTX1060 30% Auslastung bei selber FPS Anzahl, ist das logischerweise ein theoretische Verdopplung.

Ich erhoffe ich mir jetzt keine 800FPS, aber irgendeine Verbesserung hätte ich mir schon erwartet. Daher die Frage...
 
antwort: das ist normal! diese benchmarks haben in der hinsicht null komma garkeine aussagekraft!

bsp firmenrechner: ich hatte vorher eine 8800 gts, jetzt eine 980 ti. die encodiergeschwindigkeit von videos per cuda hat sich höchstens verdoppelt! und da liegen einige grafik generationen dazwischen ;)

die neusten nvidia karten sind zwar beim gamen xmal schneller als alte generationen. bei cuda sieht das aber ganz anders aus! da geben die sich nicht viel. du musst nur mal gucken wie hoch eine grafikkarte beim encodoeren ausgelastet ist. wenns hochkommt grade mal 20%.
 
Zuletzt bearbeitet:
10 Minuten für 400MB?

Meine 1070 schafft das in paar Sekunden via NVENC in x265. (Aktuelles xmediarecode)
Prinzipiel ist es aber Stark davon abhängig in welcher Quallität die Videos vorliegen.
 
Zuletzt bearbeitet:
Wenn Du via CUDA Videos renderst, dann lastet es die GPU eben nicht ansatzweise aus. Dafür hat sie spezielle Hardwarekomponenten. Was und wie wurde denn bei dem nichtssagenden Benchmark auf Primetimelabs gebencht ? Ich sehe da nur blaue Balken ohne jeden Sinn.

Die CUDA Leistung wurde nicht um 100% gesteigert. Von einer zur nächsten Generation. Und die reine CUDA Leistung spielt in Deinem Anwendungsfall auch keine Rolle. h.264 und h.265 Kodierung ist noch mal ein anderes Thema. Das macht sie eben mit speziellen Funktionen.

Wenn ich ein h.264 oder h.265 mit meiner 480 kodiere, dann taktet die GPU nicht einmal komplett hoch.

Und dann kommt auch noch hinzu. Arbeitet da wirklich die GPU? Bei NVENC Kodierung bist Du sehr eingeschränkt, was die Einstellungen angeht. Vielleicht hast Du da auch welche gewählt, die mit der GPU gar nicht möglich sind und dann die CPU übernimmt.
 
Zuletzt bearbeitet:
@McMOK
400MB in 2,5min. Eine komplette 2h DVD braucht etwa 10min mit 1600MB Endgröße.

MP4 Container, normale DVD zu H.264, 2000kbps, und die Auflösung liegt auch nur bei 720x576, also weit entfernt von HD Material…

Könntest du mal einen Blick auf deine Auslastung werfen? Deine FPS? Mich würd nur interessieren ob der Fehler bei irgendwelchen NVIDIA Settings liegt, an XMEDIA oder komplett woanders…
 
Die Frames lagen glaube ich was zwischen 300 und 900 je nach Material. Die 1070er Taktete dabei aber auf meine 2Ghz im Boost und 4400Mhz beim GPU Speicher..
Auslastung hab ich grad nicht im kopf.
 
Dein 900FPS Posting hat mich weitersuchen lassen und: Problem gefunden.

Lag nicht an der Grafikkarte, sondern am Interlacing. Dieses wird von der CPU berechnet, und bremst somit aus. Deaktiviere ich Deinterlace, komme ich auch mit der GTX1060 auf etwa 720FPS und die Auslastung der Grafikkarte liegt bei 60%. Deaktiviere ich Deinterlace auf der GTX660 komme ich auf ca 400FPS. Somit habe ich jetzt den vermissten Leistungszuwachs > ca +80%. :D

Thx!



Edit:
Hier noch der Vergleich falls es jemanden interessiert – 90min 720x300p Video:

i5-3570K + H.264 ohne Deinterlace = 180FPS
i5-3570K + H.264 mit Deinterlace = 170FPS

GTX1060 + H.264 NVENC ohne Deinterlace = 1370FPS
GTX1060 + H.264 NVENC mit Deinterlace = 870 FPS

Interessant was Interlacing ausmacht… :p
 
Zuletzt bearbeitet:
Das liegt nicht am Interlacing. Wie ich im Beitrag #7 schon schrieb. Settings in der Software benutzt, die NVENC (teil)deaktiviert haben.
 
Anscheinend doch. Fakt ist, das ich nochmal die GTX660 verbaut habe und mit den kompletten identischen Settings, mehrere Codier Vorgänge gemacht habe. Einzig Interlacing wurde deaktiviert/aktiviert. Die GTX660 ist ohne Interlacing am Limit = 90-95% Last. Mit Interlacing liegt sie bei den im Ausgangsposting genannten 60% Last.

Die GTX1060 liegt mit Interlacing bei den im Ausgangsposting genannten ca 30%. Ohne Interlacing verdoppelt sich die Leistung, und auch die GPU Auslastung steigt auf ca 60%. Theoretisch sind also immer noch ca 30-40% Spielraum nach oben.

Somit decken sich meine Ergebnisse auch mit den verlinkten Benchmarks: Die GTX1060 ist theoretisch bis zu 3x schneller in NVENC Berechnungen gegenüber der GTX660. Praktisch sind es aber nur 80-100% Zuwachs. Vielleicht kann man aber mit besserer Software auch die 300% Zuwachs rausholen… Aber ich bin absolut zufrieden, das Upgrade hat sich gelohnt…

Noch zur Vervollständigung zu Post #10:

GTX660 + H.264 NVENC ohne Deinterlace = 750 FPS
GTX660 + H.264 NVENC mit Deinterlace = 580 FPS
Ergänzung ()

yaegi schrieb:
du musst nur mal gucken wie hoch eine grafikkarte beim encodoeren ausgelastet ist. wenns hochkommt grade mal 20%.

BlubbsDE schrieb:
Wenn Du via CUDA Videos renderst, dann lastet es die GPU eben nicht ansatzweise aus.

Hier noch der Gegenbeweis, danach kann das Thema abgehakt werden. Sämtliche CPU Lastigen Eigenschaften deaktiviert, vorher noch die Tonspur rausgelöscht, damit selbst muxen/demuxen und Audiostream codieren flach fällt:

1700 FPS und eine Auslastung der GTX1060 von über 80%.
90min Film in 720x300p in etwas über 1 Minute codiert... ;)
 

Anhänge

  • 1060.JPG
    1060.JPG
    63,9 KB · Aufrufe: 511
wenn man progressives material hat wozu ist dann deinterlaced an
 
Zurück
Oben