ffmpeg h264-Encoding-Vergleich: Q9550 bis Ryzen 5 2600

Sound, Digitalkameras, TV+Video und Spiele.
Antworten
Benutzeravatar
hikaru
Moderator
Beiträge: 13593
Registriert: 09.04.2008 12:48:59

ffmpeg h264-Encoding-Vergleich: Q9550 bis Ryzen 5 2600

Beitrag von hikaru » 22.12.2020 17:38:31

Hallo,

ich wollte kürzlich so schnell wie möglich einen Schwung h264-Videos (1080p25) zwecks Platzersparnis reencodieren und habe deshalb fast meinen gesamten Rechnerpark eingespannt. Es sind verschiedene Videos, aber da sie alle aus der selben Quelle stammten und ähnlichen Inhalt haben, dachte ich, ich blase die Encoding-Session zum Benchmark auf. Auf allen Rechnern lief Buster/amd64 mit Xfce (bzw. Mate auf dem Ryzen).

Das ffmpeg-Kommando sah so aus:

Code: Alles auswählen

ffmpeg -i INPUT -c:v libx264 -preset slower OUTPUT
Die beteiligten Rechner:

Code: Alles auswählen

Intel Core2Quad Q9550; 4x 2,53GHz
Intel Core i7 2700k;   4x 4,2GHz (OC-Boost-Takt auf allen 4 Kernen) + Hyperthreading; je ein Durchlauf in einer VBox-VM und einer auf dem Host
Intel Core i5-3320M;   2x 3,1GHz +HT
Intel Core i5-3360M;   2x 3,3GHz +HT
Intel Core i7-3720QM;  4x 3,4GHz +HT
Intel Core i3-4330;    2x 3,5GHz +HT
AMD Ryzen 5 2600;      6x 3,7GHz +HT; je ein Durchlauf mit "ondemand"-Governor und einer mit "schedutil"
Die Ergebnisse:

Code: Alles auswählen

CPU         Bogomips  FPS Codierungsgeschwindigkeit (1x=Echtzeit)
Q9550       5666.81:  7.7 0.309x
i7-2700K    7020.48: 16.0 0.649x
i7-2700K_VB 7020.61:  9.0 0.360x
i5-3320M    5187.96:  6.5 0.260x
i5-3360M    5581.96:  5.8 0.234x
i7-3720QM#1 5187.86: 16.0 0.632x  
         #2          14.0 0.580x
         #3          16.0 0.645x
i3-4330     7000.62:  9.3 0.372x
Ryzen5 odm  6786.26: 17.0 0.677x
       sch           29.0 1.15x
Hier zeigt sich gut, wie bogo die mips sind. ;)
Ich bin erstaunt, wie gut sich der alte Q9550 schlägt und dass er die beiden mobilen Ivi-Bridge-i5 hinter sich lässt.*
Vor diesem Hintergrund überrascht es mich wiederum, dass der mobile Ivi-Bridge-i7 mit dem nur eine Generation älteren einstigen Sandy-Bridge-Desktop-Flagschiff mithalten kann.**
Auch interessant ist, wie viel Performance allein VBox schluckt, obwohl alle CPU-Kerne (inkl. HT) durchgereicht waren und es der VM auch nicht an RAM mangelte.

Der Ryzen war nicht Teil der ursprünglichen Encoding-Session. Ich habe ihn nur in den Benchmark einbezogen weil das der leistungsfähigste Rechner ist auf den ich Zugriff habe. Dass er beim ersten Durchlauf nicht besser abschnitt als die beiden betagten Core i7 hat mich stutzig gemacht und mich letztendlich auf die Spur mit dem Governor geschickt. [1] Mir fiel auf, dass mit "ondemand" die CPU trotz 100% Auslastung auf allen Kernen und reichlich thermischem Spielraum meist beim idle-Takt von 1,5GHz blieb und es nur vereinzelte Sprünge einzelner Kerne auf 3,7GHz gab.


*) Dass der kleinere i5 hier besser abschneidet als der Größere liegt wohl daran, dass ich auf dem i5-3360 angefangen habe zu codieren bevor mir der Gedanke zum Benchmark kam und ich ihn daher erst nach etwa der Hälfte der Zeit von anderen (allerdings leichten) Aufgaben befreit habe.
**) Der i7-2700k musste wegen der Anzahl der Videos zweimal ran und weil er in VBox so langsam war, musste der i7-3720QM sogar drei Videos umwandeln.
[1] viewtopic.php?f=13&t=179734
Zuletzt geändert von hikaru am 23.12.2020 09:29:09, insgesamt 1-mal geändert.

Benutzeravatar
ThorstenS
Beiträge: 2875
Registriert: 24.04.2004 15:33:31

Re: ffmpeg h264-Encoding-Vergleich: Q9550 bis Ryzen 5 2600

Beitrag von ThorstenS » 23.12.2020 08:50:51

Danke, das ist sehr spannend! Hast du das ffmpeg aus buster dazu benutzt, oder ein selbstkompiliertes?

Benutzeravatar
hikaru
Moderator
Beiträge: 13593
Registriert: 09.04.2008 12:48:59

Re: ffmpeg h264-Encoding-Vergleich: Q9550 bis Ryzen 5 2600

Beitrag von hikaru » 23.12.2020 09:30:46

Das war Debianffmpeg aus Buster.

Edit:
Der Ryzen 5 war übrigens die Ersatzanschaffung für den Q9550 und Videoencodierung war genau das Leistungsszenario weshalb es keine kleinere CPU wurde. Da ist es schon interessant zu sehen, dass allein die richtige Scheduler-Wahl den Unterschied zwischen Faktor 2 und 4 in der Geschwindigkeit ausmacht.

Benutzeravatar
MSfree
Beiträge: 10776
Registriert: 25.09.2007 19:59:30

Re: ffmpeg h264-Encoding-Vergleich: Q9550 bis Ryzen 5 2600

Beitrag von MSfree » 23.12.2020 10:27:00

hikaru hat geschrieben: ↑ zum Beitrag ↑
23.12.2020 09:30:46
Da ist es schon interessant zu sehen, dass allein die richtige Scheduler-Wahl den Unterschied zwischen Faktor 2 und 4 in der Geschwindigkeit ausmacht.
Jetzt wäre es noch interessant, ob der Q9550 nicht auch ein wenig davon profitieren kann. Allerdings ist der Frequenzbereich beim Q9550 nicht so groß wie bei dem Ryzen. Mein Q9300 taktet im Leerlauf auf 2GHz runter und geht bei Bedarf bis 2.5GHz hoch, der Q9550 variiert vermutlich zwischen 2GHz und 2.63GHz, so daß mit dem Performance-Governor hier bis zu 33% mehr zu erwarten sein könnte.

Und ja, mein alter Q9300 versetzt mich auch immer wieder in staunen, was der noch alles reißt. Lahm fühlt der sich jedenfalls nicht an, nur der Stromverbrauch (46W Leerlauf) ist nicht mehr ganz zeitgemäß.

Benutzeravatar
hikaru
Moderator
Beiträge: 13593
Registriert: 09.04.2008 12:48:59

Re: ffmpeg h264-Encoding-Vergleich: Q9550 bis Ryzen 5 2600

Beitrag von hikaru » 23.12.2020 10:55:03

Der Q9550 hat nur 2,53GHz Nominaltakt und keinen wie auch immer gearteten Boost.
Alle Intels im Test takteten permanent auf Maximaltakt, auch ohne am Scheduler zu drehen. Ich kann gerade nur den i7-3720QM überprüfen, aber bei dem funktioniert das sogar mit "powersave". Nur der Ryzen blieb mit "ondemand" weitgehend auf idle-Takt.

Benutzeravatar
MSfree
Beiträge: 10776
Registriert: 25.09.2007 19:59:30

Re: ffmpeg h264-Encoding-Vergleich: Q9550 bis Ryzen 5 2600

Beitrag von MSfree » 23.12.2020 11:01:43

hikaru hat geschrieben: ↑ zum Beitrag ↑
23.12.2020 10:55:03
Der Q9550 hat nur 2,53GHz Nominaltakt
Der hat laut Intel sogar 2.83GHz Grundtakt.
Alle Intels im Test takteten permanent auf Maximaltakt... Nur der Ryzen blieb mit "ondemand" weitgehend auf idle-Takt.
Kurios. Das hört sich an, als ob da noch ein wenig am Kernel gearbeitet werden sollte, um die Ryzen hier besser zu unterstützen.

Benutzeravatar
hikaru
Moderator
Beiträge: 13593
Registriert: 09.04.2008 12:48:59

Re: ffmpeg h264-Encoding-Vergleich: Q9550 bis Ryzen 5 2600

Beitrag von hikaru » 23.12.2020 11:13:40

MSfree hat geschrieben: ↑ zum Beitrag ↑
23.12.2020 11:01:43
hikaru hat geschrieben: ↑ zum Beitrag ↑
23.12.2020 10:55:03
Der Q9550 hat nur 2,53GHz Nominaltakt
Der hat laut Intel sogar 2.83GHz Grundtakt.
Ja, hat er. Ich weiß nicht wie ich vorhin auf 2,53GHz kam. Jedenfalls war er beim Encoding auf Maximaltakt - mit welchem Scheduler weiß ich nicht.
MSfree hat geschrieben: ↑ zum Beitrag ↑
23.12.2020 11:01:43
Kurios. Das hört sich an, als ob da noch ein wenig am Kernel gearbeitet werden sollte, um die Ryzen hier besser zu unterstützen.
Genau das soll wohl "schedutil" leisten. [1][2] Die Frage ist für mich eher, warum Debianlaptop-mode-tools ungefragt den Scheduler verstellt, ohne darüber im Log Auskunft zu geben.


[1] https://lwn.net/Articles/682391/
[2] https://lkml.org/lkml/2016/3/17/420

Edit: Quote-Tag repariert
Zuletzt geändert von hikaru am 29.12.2020 18:32:50, insgesamt 1-mal geändert.

Benutzeravatar
hikaru
Moderator
Beiträge: 13593
Registriert: 09.04.2008 12:48:59

Re: ffmpeg h264-Encoding-Vergleich: Q9550 bis Ryzen 5 2600

Beitrag von hikaru » 29.12.2020 18:29:42

Nachtrag:
Ich habe noch einen kurzen Test mit dem Notebook mit dem i7-3720qm gemacht (Thinkpad T530) und die Leistungsaufnahme beim codieren gemessen: 160-170W mit 90W-Netzteil. :shock:
Das hat mein Desktop-PC mit dem i7-2700k vor der Übertaktung auch unter Volllast gezogen.

Antworten