multicore encoding - i7-860 oder AMD 1090T?

  • Servus,

    ich bräuchte einmal dringend Tipps und Erfahrungen was das multicore encoding angeht.

    Ich bin derzeit im besitz eines AMD Athlon X4 630 (4x2,8GHz) @ SB600 + DDR2-800. Möchte aber gerne umsteigen auf einen der beiden genannten CPUs.

    Jetzt muss ich ehrlich zugeben das ich noch nie einen Intel mit HyperThreading vor mir hatte den ich ausgiebig testen konnte. Wie effektiv ist HT beim encoden? Oder bringt es gar nichts?

    Mir gehts vor allem um x264.

    Würde nun ein i7-860 4x2,80GHz mit HT oder ein AMD Phenom 1090T mit 6x3,20GHz den gewünschten Leistungsschub bringen?

    Natürlich würd ich beim AMD auch versuchen auf 3,4 o. 3,6 zu ziehen nach Möglichkeit aber das ist ja sone Glückssache.

    Danke schonmal

  • K, ich hab den anderen Thread nu durchgelesen. Nu bin ich bissl verwirrt. Dem Link hier nach wäre der AMD 1090T vorm Core i7-860:

    http://www.techarp.com/showarticle.aspx?artno=520&pgno=7

    Und der PDF mit HT und genanntem Wert wärens 22% Vorsprung zum AMD Phenom 955, der schonmal 200MHz langsamer wäre und 2 physische Cores weniger. Kann man natürlich nicht alles 1:1 hochrechnen...

    Also Preisregion 400€ CPU+MB+RAM = AMD 1090T spricht für sich?

    Ich hatte mal bei meiner aktuellen CPU beobachtet, dass das Bild ausfranst je mehr Threads (4,6,8,10,12) ich einstelle bei x264. Das lässt sich nicht vermeiden oder? ^^

    Sry wegen der Unwissenheit :>

  • Im Preis-Leistungs-Verhältnis sind AMD-Prozessoren häufig im Vorteil; wenn es um maximal mögliche Leistung geht, liegen dagegen die teureren intel-Prozessoren oft vorn.

    Mehr Threads zu verwenden beschleunigt die Encodierung deutlich, kann aber die Qualität der Komprimierung verschlechtern, weil jeder Thread für sich nicht mehr den gesamten Videostrom in der direkten Umgebung jedes zu encodierenden Frames kennt.

  • Die Testwerte von TechArp sind mit Vorsicht zu genießen:

    a) man hat ja beschlossen, dass Intels Turbo deaktiviert werden muss, um "vergleichbare" Ergebnisse zu bekommen. Was immer das auch bedeuten mag.

    b) In den Ergebnissen ist der 1st-pass überbewertet: er zählt zu 50%, obwohl er in der Praxis viel weniger Gewicht hat.
    (Böse Zungen behaupten: die Leute von TechArp können nicht rechnen.)

    a) PLUS b): Intels Turbo sorgt im 1st-pass für eine noch deutlichere Beschleunigung als im 2nd-pass. Erstmal wird also der 1st-pass überbewertet, und dann bekommt Intel gerade dort auch noch einen nicht praxisgerechten Klotz ans Bein gehängt.


    1280x720, Huffyuv, x264 rev.1703 @default settings, i7-860@3.2

    CRF 22, Turbo AUS.: 31.79 fps
    CRF 22, Turbo AN...: 33.56 fps (+5.5%) (ca. 10-11% beim i7-870!)

    pass 1, Turbo AUS.: 75.50 fps
    pass 1, Turbo AN...: 86.29 fps (+14.3%)

    Die Prozentzahlen sind die Werte, die dem i7-860 im TechArp-Test fehlen. Wegen "Vergleichbarkeit" deaktiviert.

    Zweck ist nicht, Intel schönzureden. Es geht nur darum, dass der Test von TechArp nicht unerheblich "windschief" ist. Und da er desöfteren als "Referenz" zitiert wird, sollte man schon darauf hinweisen, dass man die Ergebnisse "interpretieren" muss. Mit "normalen" Einstellungen ist Intel schneller als im TechArp-Test. Grob über den Daumen: um etwa 10%.

  • Das aufrüsten lohnt sich ja kaum, das konvertieren kann man notfalls auch über nacht laufen lassen.

    Die Intel sind meistens recht gut wenn man von vornherein vorhat zu Übertakten, dann stimmt mit etwas Glück auch das P/L Verhältnis :)

    Ob nun AMD oder Intel mit oder ohne Turbo wenige Prozent interessieren mich da auch nicht wirklich, wenn ich mir was neues kaufe dann hätte ich schon gerne einen deutlich spürbaren Geschwindigkeitsschub :)
    Der X6 1090T hat meines Wissens übrigens auch einen Turbo.

  • Na ja, was heißt hier kaum. 40% schneller encoden ist schon ne Menge.

    Ich krieg derzeit mit x264 rev 1713 - CRF 18/ref9/umh/subme 9/merange32 und co. knapp 6-12 fps je nach Quellmaterial @ 720p. Bei 1080p ballerts runter auf 2-4fps~

    Da lohnt sich das Aufrüsten doch schon.

    Didée

    Wundert mich ja nun doch das der i7-870 mal eben so 5% mehr macht mit HT als der i7-860? ô.o
    Würd ich jetzt die 10% draufrechnen würd der Intel i7-870 (265€) ja fast gleichziehen, aber nicht vorbeiziehen an dem 1090T (230€)...

    Also letztendlich leistungstechnisch "egal" welchen ich mir zulege?

  • Wenn es dir nicht besonders um Qualität ginge, könntest du auch (Nvidia GeForce 8 ff. vorausgesetzt) Selurs aktuelles "Hybrid" mit CUDA-Encoder verwenden und sicherlich an die 120 fps erreichen (ohne zusätzliche Filterung). Aber eine Mehrkern-CPU bringt sicher mit x264 und AviSynth-Filtern das bessere Verhältnis zwischen Geschwindigkeit und Qualität, wenn Qualität ein hoch gewichtetes Kriterium ist -- was bei "umh" und "subme 9" der Fall zu sein scheint.

    Die paar Prozente zwischen i7-860 und 1090T fallen jedenfalls weder im Vergleich zu CUDA noch im Vergleich zu deinem aktuellen Stand wirklich stark ins Gewicht, finde ich persönlich. Da wird es schon eher interessant, ob du vielleicht noch das AviSynth-Skript mit Multi-Threading parallelisieren kannst.

  • Wundert mich ja nun doch das der i7-870 mal eben so 5% mehr macht mit HT als der i7-860? ô.o
    Würd ich jetzt die 10% draufrechnen würd der Intel i7-870 (265€) ja fast gleichziehen,


    860 und 870 haben unterschiedliche Turbostufen. Beim 860 ist der nominelle Multiplikator x21, und die erste Turbostufe ist x22. Der 870/875k taktet nominell x22, und der erste Turbo ist x24.

    Dieser "erste" Turbo greift immer, auch bei voller Auslastung von allen Kernen bzw. Threads. (Die "höheren" Turbos greifen nur bei Teil-Auslastung, in Phasen wenn einzelne Kerne nicht benutzt werden. Z.B. beim 1st-pass von x264, weil da bestimmte Teile nicht vollständig parallelisiert sind.)

    D.h.: gemäß TechArp-Setup läuft der 860 mit x21, der 870 mit x22. Bei "normalem" Setup läuft der 860 mit x22, der 870 mit x24.
    Beim 1st-pass ist's noch schlimmer.


    ...mit CUDA-Encoder ... sicherlich an die 120 fps erreichen
    Aber eine Mehrkern-CPU bringt sicher mit x264 und AviSynth-Filtern das bessere Verhältnis zwischen Geschwindigkeit und Qualität, wenn Qualität ein hoch gewichtetes Kriterium ist -- was bei "umh" und "subme 9" der Fall zu sein scheint.


    Hast Du mein Fallbeispiel gesehen? Weiß nicht, vielleicht ist meine GT240 beim Encodieren nicht so das Monster wie beim Decodieren - es fehlen die Vergleichswerte, was Leute mit GTX2xx oder GT4xx / Fermi so für Geschwindigkeiten erreichen - aber jedenfalls bei mir war x264 einen guten Zacken schneller als CUDA, und hat überdeutlich bessere Qualität.

    Bei dem was mir zur Verfügung steht, heißt das: CUDA wird nur verwendet, um zu demonstrieren, dass man es besser nicht verwendet. Von x264 krieg' ich in jedem Fall bessere Qualität als von CUDA, und wenn ich will, dann ist x264 auch noch schneller als CUDA.

  • Danke für die Intel Core i Turbo Erklärung ^^; Dann ist Turbo Stufe I ja nichts anderes als EIST/CnQ im vorletzt höchsten Multiplikator. Ich wusste bisher nicht, dass alle Kerne in der ersten Stufe übertaktet werden - dachte immer nur auf Kosten von wegschalten der Hälfte von den verfügbaren Kernen.

    Was das GPGPU angeht hab ich mir noch nie großartig Hoffnungen gemacht das da was anständiges kommt fürs H.264 encoden. (Lediglich dieser IGHASHGPU Kram ist eindrucksvoll was GPGPU angeht ^^) Aber die beiden Cuts von Didée mit CUDA & x264 sagen wirklich alles aus... :nein: Ich möchte scho Quali haben, aber trotzdem mehr fps beim rattern.

  • Den Turbo finde ich auch Garnicht so schlecht bei Programmen (leider noch fast alle) die nur einen oder zwei kerne nutzen bringt es noch etwas mehr Leistung, vorausgesetzt man hat eine Gute Kühlung.
    Wenn alle 4 Kerne ackern wird aber meines Wissens der Tackt nicht erhöht.

    Die Kommandline kann man sicherlich noch etwas verbessern, wie LigH schon schrieb mit Multi-Threading parallelisieren und CUDA falls möglich zum Decodieren benutzen.

    Mein Favorit währe eine ordentlich Große Festplatte, wenn du das Geld was du fürs aufrüsten ausgeben willst in Festplatten investierst dann hast du erstmal ausgesorgt :)

  • Wenn alle 4 Kerne ackern wird aber meines Wissens der Tackt nicht erhöht.


    Der Tackt wird vermutlich nicht erhöht, sowas kennt der PC überhaupt nicht.
    Auf jeden Fall wird aber der Takt (per Multiplikator) erhöht, so wie ich's beschrieben habe. Auch wenn alle Kerne ackern.

  • Etwas anders formuliert, wenn die CPU im Leerlauf um Energie zu sparen mit einem kleineren Multiplikator läuft wird sie unter last (alle 4 kerne ackern) nicht den Turbo aktivieren sondern den für die CPU spezifischen Multiplikator benutzen. Den Turbo (einen höheren Multiplikator) wird die CPU erst dann zuschalten wenn (je nach CPU) mindestens 2 kerne nicht gebraucht werden und abgeschaltet sind und die thermische Belastung es zuläßt einen höheren Multiplikator zu benutzen.

    Persönlich würde ich einen guten Kühler kaufen eine einigermaßen günstige CPU bei der ich weiß das man gut Übertakten kann und sie dann ca. 200 Mhz unter der maximalen stabilen Taktfrequenz die ich ohne Erhöhung der Spannung erreiche betreiben.
    Immer um einiges unter der maximalen Taktfrequenz bleiben denn je heißer die CPU desto höher der Stromverbrauch, bei hohen Temperaturen braucht man für den stabilen betrieb noch einige Reserven.

  • Etwas anders formuliert, wenn die CPU im Leerlauf um Energie zu sparen mit einem kleineren Multiplikator läuft wird sie unter last (alle 4 kerne ackern) nicht den Turbo aktivieren sondern den für die CPU spezifischen Multiplikator benutzen. Den Turbo (einen höheren Multiplikator) wird die CPU erst dann zuschalten wenn (je nach CPU) mindestens 2 kerne nicht gebraucht werden und abgeschaltet sind und die thermische Belastung es zuläßt einen höheren Multiplikator zu benutzen.

    Nein. Das ist nicht richtig.

    i860 hat einen nominellen Multiplikator von x21 (133 x 21 = 2.79 GHz). Wenn alle 4 Kerne ausgelastet sind, dann wird der Multi auf x22 geschaltet. (133 x 22 = 2.92 GHz).

    Beim 870/875k das gleiche Spiel mit x22 / x24 (2.92 GHz / 3.19 GHz).


    Nochmal: die erste Turbostufe zündet immer. (Vorausgesetzt TDP und TMax wird nicht überschritten, das ist richtig. Aber wir gehen einfach mal davon aus, dass ein Kühler vorhanden ist, und die CPU nicht mit 2 Volt gebraten wird....)
    Die zweite Turbostufe zündet nur, wenn 2 Kerne in einem C-State parken.
    Die dritte Turbostufe zündet nur, wenn 3 Kerne in einem C-State parken.

    So ist das richtig. Bitte keine Fehlinformationen verbreiten.


    Wenn's unbedingt nötig ist, kann ich gerne Screenshots als Beweis liefern. Kannst's mir aber auch ganz einfach glauben. Habe diese Zahlen jeden Tag auf'm Schirm.

  • Klingt für mich eher wie eine Milchmädchenrechnung :D ;)

    Das macht eventuell beim Notebook mit winzigen CPU-Kühler sinn wo dann die CPU mangels Kühlung langsam bis zum stillstand gebremst wird um das überhitzen zu vermeiden :)

  • Was erzählst Du eigentlich für einen Quark? Was soll da eine Milchmädchenrechnung gewesen sein? Und was haben kleindimensionierte Kühlung und CPU-Throttling wg. Überhitzung mit dem zu tun, was ich vorher gepostet habe?


    Mir kommt's gerade so vor, als ob Du des abends gerne mal kurz 'reinschaust und ein wenig Unsinn verzapfst, weil man den Didée so schön damit ärgern kann. ??


    Falls Du etwas ernsthaftes gemeint haben solltest: Bitte näher erklären. Ansonsten: Troll-Alarm ...

  • Meines Wissens funktioniert es so wie ich oben schon beschrieben hatte.

    Wenn du einen Link hast wo man das nochmal genau nachlesen kann dann lasse ich mich gerne eines besseren belehren.

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!