HEVC Exportproblem mit FCPX 10.4.7 Compressor 4.4.5

  • Wenn ich das BruceX Projekt als HEVC 8 Bit exportiere, dauert das mit aktivierter iGPU wie gesagt 14 Sekunden und in HWMonitorSMC2 wird mir angezeigt, dass die Vega 64 hierbei am Arbeiten ist (und die iGPU natürlich nicht --> iMacPro1,1 SMBIOS). Bei deaktivierter iGPU dauert es 42 Sekunden und in HWMonitorSMC2 bleibt die Utilization-Anzeige der Vega dabei stattdessen die ganze Zeit auf 0%, dafür geht die CPU auf Volllast.

    Bei HEVC 10 Bit sieht das anders aus, da arbeitet die Vega eh grundsätzlich nicht.

    sorry jim aber du deutest es leider falsch ich habs dir weiter oben schon mal erklärt und auch chris versucht das seit längerem... nochmals die hwdecoderleistung wird im brucex test leider falsch interpretiert weil eben der compositing Part mit in die zeit einfließt.

  • Ja, das verstehe ich mittlerweile – es tut mir auch leid, wenn ich da manchmal so wirke, also wollte ich es nicht verstehen.

    Ich habe es gerade mit einem echten Videoprojekt in Final Cut versucht. Einmal mit und einmal ohne aktivierte iGPU. Das Hintergrundrendern war zuvor jeweils vollständig abgeschlossen.

    Mit aktivierter iGPU hat der HEVC 8 Bit Export (3,5-minütiges Musikvideo) genau eine Minute gedauert. In HWMonitorSMC2 war dabei auch deutlich zu sehen wie die Vega gearbeitet hat.

    Mit deaktivierter iGPU hab ich es nach einer knappen Minute bei 7% abgebrochen. In HWMonitorSMC2 war hier keine (oder so gut wie keine) Nutzung der Vega zu beobachten:

    Utilization eigentlich durchweg auf 0%, vielleicht zwischendurch mal auf irgendwas zwischen 5 und 10 %.


    Hab ich jetzt immer noch was nicht verstanden? Ich glaube euch ja, dass die Vega trotzdem dran beteiligt ist. Aber mit BruceX und wie dort die Leistung interpretiert wird hat das jetzt zumindest nix mehr zu tun. Es äußert sich aber halt alles genauso.


    EDIT: Wie zu erwarten war (und hier auch schon geäußert wurde), besteht das Problem nur in Final Cut und Compressor, aber nicht in Adobe Premiere Pro (aktuellste Version). Dort wird auch bei deaktivierter iGPU superschnell im Format HEVC (H.265) exportiert.

    HACKINTOSH für Musik- und Videoproduktion

    EFI-Ordner für mein System:

    Gigabyte Z390 DESIGNARE: OpenCore-EFI-Ordner und Anleitung

    Einmal editiert, zuletzt von JimSalabim ()

  • Wenn ich das BruceX Projekt als HEVC 8 Bit exportiere, dauert das mit aktivierter iGPU wie gesagt 14 Sekunden und in HWMonitorSMC2 wird mir angezeigt, dass die Vega 64 hierbei am Arbeiten ist (und die iGPU natürlich nicht --> iMacPro1,1 SMBIOS). Bei deaktivierter iGPU dauert es 42 Sekunden und in HWMonitorSMC2 bleibt die Utilization-Anzeige der Vega dabei stattdessen die ganze Zeit auf 0%, dafür geht die CPU auf Volllast.

    Bei HEVC 10 Bit sieht das anders aus, da arbeitet die Vega eh grundsätzlich nicht.

    Den Encoder der Vega, der für den Export zuständig ist, siehst du aber nicht. Es kann nur die Auslastung der GPU-Kerne ausgelesen werden, der VideoEncoder ist eine eigene fixed Unit von welcher man in Mac OS X die Auslastung nicht auslesen kann. Ich merke es nur wenn der Encoder aktiv ist weil die Temperatur der Karte ein paar Grad nach oben geht.

    Workstation:

    Threadripper 3990x - Gigabyte TRX40 AORUS XTREME - 256GB DDR4 3200 MHz RAM - 2x RTX 3090 FE


    Notebook:

    Acer ConceptD 7 Ezel - I7 10875h - 32GB DDR4 - RTX 2080 S

    Dell XPS 15 - I7 10750h - 64GB DDR4 - GTX 1650ti

    Dell XPS 17 - I9 10885h - 64GB DDR4 - RTX 2060 Max-Q


    Handy:

    iPhone 12 Pro Max

  • Nun wer es mal genauer untersuchen will lässt neben der App welche man bezüglich GPU Decoding /Encoding prüfen will den OPENGL DRIVER MONITOR (Tools zu Xode) mitlaufen. Der zeigt bzw. kann wesentlich mehr GPU Parameter abfragen als nur Overall GPU Last Temp .

    zB. Dec ..UVDDec Commands submitted (Videodaten zum DEC an die GPU gesendet).

    Bei dem Screenshoot sieht man zb. - Videoplayback erzeugt UVDDec Werte (im Test max. 32) wenn das Video läuft. Ansonsten ist dieser Wert (ohne Video am laufen) immer 0, klar :)

    Das gleiche wird passieren wenn man was encodiert - dann beim Wert ..UVDEnc Commands submitted.

    Das Beste zum Schluss: Für die die auch iGPU aktiv haben, kann man dem Monitor auch die iGPU auf gleiche Weise überwachen lassen.

    PS: Selbst bei einem reinen Encoder - m FCP / Bruce Test - wirds so sein, dass die GPU nicht dauerhaft volllast anzeigt - sondern durchaus auch mal paar Sekunden nix und die CPU mehr arbeitet (jedoch nicht encodiert) um das Material zum enc vorzubereiten und per Commands an die GPU zu schicken.



    EDIT: So nach ein paar Tests hab eich meine AMD GPU Menue App auf Version 0.7 um die Funktion Encoding: YES / NO erweitert. App zeigt diverse AMD GPU Parameter (Load, Temp, CLK, PWR etc. an).

    Tests mit imovie / Davinci Resolve : wenn AMD GPU Encodiert wird YES angezeigt. Sonst NO.


    Bsp_ Videoproc - GPU ENC aktiv (tut was :) ) jedoch GPU Load trotzdem "sehr gering"= 0


    Insofern lässt sich nun - wie ein Vorredner schon gesagt an - aufzeigen, dass beim GPU Encodieren die GPU Load (leider) nicht aussagekräftig ist, weil diese trotz HW GPU ENC auch 0 sein kann. Ist sie größer 0, wie bei komplexeren Schnittapps kommt das nicht vom encodieren sondern anderen Taks die nebenbei auf die GPU verlagert werden - wohl Filter werden ins Bild berechnet, resize etc.

    Auch ist das mit den (vielen) Parametern welche OpenGL Monitor anzeigt komplexer.

    Gibt nicht nur einen Parameter der ENC anzeigt sondern mehrere - h264 und h265 haben zwei verschiedene. Da diese Parameter nur ANzahl Commands (wohl pro Sec oder pro mS) ausgeben, hab eich schlicht YES /NO gewählt. Macht wenig Sinn diese Enc Comandanzahl anzuzeigen.





    LINK zum DL: AMD RX4xx/5xx etc. GPU CLK+ENC+Temp+Fan+Power V 0.7

    2 Mal editiert, zuletzt von mitchde ()

  • Danke, das ist ja sehr interessant.


    Der Normalfall beim Export meines 3,5-Minuten-Videos als HEVC 8 Bit wäre dann aber schon, dass es ca. 1 Minute dauert und nicht über 10 Minuten, oder?

    Das würde wieder zu dieser Annahme führen:

    Nur FCPX macht "Probleme" in dem Sinne, dass es erwartet, eine Unterstützung durch IGPU oder T2 zu bekommen, die es zum Beispiel bei meinem Ryzen-Hack eben nicht gibt.

    … die sich wiederum dadurch zu bestätigen scheint, dass FCPX in der aktivierten iGPU irgendetwas erkennt, das es dazu bringt, korrekt zu arbeiten, wohingegen eine deaktivierte iGPU (aber wohl nur auf bestimmten Boards) auslöst, dass es nicht korrekt mit der Vega arbeitet.

    HACKINTOSH für Musik- und Videoproduktion

    EFI-Ordner für mein System:

    Gigabyte Z390 DESIGNARE: OpenCore-EFI-Ordner und Anleitung

  • Die Frage ist doch was genau zu diesem Boost führt. Wir haben hier ja schon festgestellt, dass wenn es so schnell geht Last auf der DGPU liegt. Das bedeutet, dass GERENDERT wird. Und das ergibt beim Encoding KEINEN SINN.


    Wiederhole den Encoding Test mal mit VideoProc und sage mir ob du dieselbe Beobachtung machst wie ich weiter oben im Topic.

    LG Chris


    Meine Hardware:

  • Zum Testen (Enc) geht auch ein Export vom Quick Time Player (den hat ja jeder :) ).

    Bei encodiert die GPU (wie bei Videoproc).

  • Ja, das kann ich so bestätigen. Beim HEVC-Export mit Quick Time Player macht es bei mir keinen Unterschied, ob die iGPU aktiviert ist oder nicht. Es geht in beiden Fällen so schnell wie es soll, die CPU bleibt ruhig. Allein in Final Cut und Compressor ist eben diese "Bremse" drin, wenn die iGPU deaktiviert ist.

    HACKINTOSH für Musik- und Videoproduktion

    EFI-Ordner für mein System:

    Gigabyte Z390 DESIGNARE: OpenCore-EFI-Ordner und Anleitung

  • Somit ist wahrscheinlich klar, das FCP / Compressor die Sache (rendern+Enc) mit iGPU / GPU + eGPU anders handhaben als zb. Davinci Resolve oder einfach Videoencoder die die iGPU nicht brauchen /Nutzen.

  • Genau, Apple dokumentiert es auch selbst, dass ihre Produkte sich je nach Material zwischen Quicksync und AMD Encoder entscheiden. Ich habe das Beispiel eines Films mit gemischt 25/50 fps Material. Wenn ich das mit 50 fps exportieren will, rechnet die IGPU alles um und die AMD bleibt still. Der selbe Film wird bei Davinci rein auf der AMD exportiert, da es kein Quicksync nutzt. Der Unterschied ist dann 2:30 zu 5:00 Minuten, die Davinci mehr braucht. Quicksync ist gerade bei HEVC nicht langsamer als der AMD Encoder (auch wenn das hier immer wieder behauptet wird).


    Problem u.a. für Ryzen-Hackintosh: Final Cut ist jetzt sehr viel langsamer, weil es entweder eine IGPU (iMac) oder einen T2 erwartet (iMacPro), der bestimmte Codierungen übernimmt. Ohne rechnet die CPU dann im Software-Modus. Weshalb der Film, der auf dem echten Mac in 2:30 fertig ist, auf dem Ryzen nun 6 Minuten braucht.

    Intel Core i5 11500, Gigabyte Z590i Vision D, 64GB RAM, XFX Radeon RX 6600, macOS 12 (OpenCore 0.7.7 / iMacPro SMBIOS)

    Original MacBook Air M1 (2020), MacBook Pro 15 (Late 2013)

  • das FCP / Compressor die Sache (rendern+Enc) mit iGPU / GPU + eGPU anders handhaben

    Eher ein Bug. Die IGPU hat ja trotz dem Geschwindigkeits-Boost nichts zu tun.

    Apple dokumentiert es auch selbst, dass ihre Produkte sich je nach Material zwischen Quicksync und AMD Encoder entscheiden

    Mag sein aber in der Realität habe ich das NIE beobachten können. FCPX und Compressor orientieren sich strikt nach dem was in der AppleGVA steht. Configs mit ForceOnlineRenderer = AMD, alles andere ist IGPU und die AMD hat nie was zu tun - völlig egal welches Format.

    Wenn ich das mit 50 fps exportieren will, rechnet die IGPU alles um und die AMD bleibt still.

    Und wie hast du das festgestellt? Welches SMBIOS genutzt? Da fände ich einen Screenshot interessant.

    Quicksync ist gerade bei HEVC nicht langsamer als der AMD Encoder

    Meine Benchmarks - und davon habe ich weiß Gott genug gemacht - sagen was anderes. Ich orientiere mich bei den Benchmarks allerdings auch an verlässlichen Tools (VideoProc, Handbrake) und nicht an dem Bug-Haufen von Apple aka FCPX und Compressor. Schneller ist die IGPU in HEVC nach meinen Erfahrungen nur unter Windows weil die AMD Karten da aus irgend einem Grund viermal so lang fürs HEVC Encoding brauchen wie unter macOS.

    LG Chris


    Meine Hardware:

  • Du wirst es nicht glauben, aber ich habe auch zahlreiche Benchmarks gemacht ;) Habe ich ja auch schon geteilt. (Ryzen Hack mit iMacPro, Intel mit IGPU und ohne sowie MacMini 2018 Original mit EGPU und ohne).
    FCPX ist nicht verbugt, sondern es soll so sein, das ist ja der Witz.


    MacMini mit IGPU und T2 schafft in bestimmten Projekten die selben Exportraten wie die Vega64 im Hack. Gleiches gilt für MacMini mit Vega56 Egpu. Es kommt auf das verwendete Ausgangsmaterial und die Encoding-Variante an. Quicksync ist bei bestimmten Anwendungen schneller. Rendern in der Timeline ist dank zugeschalteter Vega56 verbessert.

    Videoproc zum Beispiel nutzt auf meinem MacMini Quicksync statt der AMD, auf meinem Ryzen-Hack natürlich die Vega. Selbe Datei: Intel auf MacMini 150fps, Hack mit Vega64 152fps.

    Intel Core i5 11500, Gigabyte Z590i Vision D, 64GB RAM, XFX Radeon RX 6600, macOS 12 (OpenCore 0.7.7 / iMacPro SMBIOS)

    Original MacBook Air M1 (2020), MacBook Pro 15 (Late 2013)

  • Du wirst es nicht glauben, aber ich habe auch zahlreiche Benchmarks gemacht ;) Habe ich ja auch schon geteilt. (Ryzen Hack mit iMacPro, Intel mit IGPU und ohne sowie MacMini 2018 Original mit EGPU und ohne).

    Das haben wir bereits mehr als genug durchgekaut. Die IGPU hat nichts zu tun, der Boost kommt nicht von der IGPU. Dass die IGPU bei dir genutzt wird hast du noch nicht belegt.

    FCPX ist nicht verbugt, sondern es soll so sein, das ist ja der Witz.

    Was genau soll wie sein?

    MacMini mit IGPU und T2 schafft in bestimmten Projekten die selben Exportraten wie die Vega64 im Hack.

    Ist mir bekannt. Hier wird auch der T2 mit genutzt. Reine IGPU ist langsamer als die AMD.

    Gleiches gilt für MacMini mit Vega56 Egpu

    Natürlich weil sich nichts ändert. Die EGPU wird nicht zum Encoding genutzt sondern nur für Compute und Render Tasks.

    Quicksync ist bei bestimmten Anwendungen schneller.

    Wie gesagt, liefere Belege mit Tools bei denen bekannt ist, dass alles so läuft wie es soll (VideoProc, Handbrake).

    Selbe Datei: Intel auf MacMini 150fps, Hack mit Vega64 152fps. Online

    Sowas zum Beispiel. Die Vega ist etwas schneller. Würdest du den Vergleich auf einem Rechner ohne T2 durchführen wäre die IGPU nochmal deutlich langsamer.


    Edit: Hier noch ein Vergleich meinerseits den ich hier schon öfter geteilt habe, stammt noch aus Mojave Zeiten:

    Vega 64 Standalone (iMacPro1,1)

    Quellmaterial 4k60 (1:47)

    H.264 zu H.265: 1:30 Minuten

    H.265 zu H.264: 1:56 Minuten


    Vega 64 + IGPU (Quick Sync) (iMac18,3)

    Quellmaterial 4k60 (1:47)

    H.264 zu H.265: 3:05 Minuten

    H.265 zu H.264: 2:25 Minuten


    IGPU UHD 630, selbe wie im Mini Mac.

    LG Chris


    Meine Hardware:

  • Zitat
    Wie gesagt, liefere Belege mit Tools bei denen bekannt ist, dass alles so läuft wie es soll (VideoProc, Handbrake).

    Schau dir noch mal den Titel dieses Threads an. :)

    ASUS PRIME X299-DELUXE i9-9940X • DDR4 64GB • SSD 960 PRO 1TB • Thunderbolt3 Titan Ridge • 2x AMD Radeon RX Vega 64 • BMD Intensity Pro 4K

    ASUS WS X299 SAGE/10G i9-10980XE • DDR4 64GB • SSD 970 PRO 1TB • Thunderbolt3 Titan Ridge • 2x AMD Radeon VII • BMD DeckLink 4K Extreme 12G


    Ordnung ist die primitivste Form von Chaos. (Hans-Jürgen Quadbeck-Seeger)

  • Was willst du mir damit sagen? Ich weiß dass es hier um FCPX und Compressor geht. Das haben wir aber längst durchgekaut und festgestellt, dass es sich um einen Bug handeln muss. Lies doch den Topic mal durch. Aktuell geht es hier um generelle Grundlagen und bewiesene Fakten die mal wieder versucht werden zu verdrehen.

    LG Chris


    Meine Hardware:

  • Dass es sich um einen Bug handelt, ist eine These. Ich habe bereits argumentiert, dass es Absicht ist. Gerade die neuen FCPX Versionen setzen auf Intel bzw. T2 Support. Das kannst du auf einem Hack nicht ohne Weiteres darstellen. Natürlich sind deine Werte mit iMac SMBIOS schlechter, weil du keinen T2 hast. Das ist auf meinem Intel-Hack auch so. Der original MacMini 2018 steckt die Vega in meinem Hacks aber in die Tasche. Mein altes MacBook ohne T2 ist auch beim neuen FCPX lahm wie eh und je.

    Intel Core i5 11500, Gigabyte Z590i Vision D, 64GB RAM, XFX Radeon RX 6600, macOS 12 (OpenCore 0.7.7 / iMacPro SMBIOS)

    Original MacBook Air M1 (2020), MacBook Pro 15 (Late 2013)

  • Also, dass, so wie es mit diesem Verhalten ist, alles läuft wie es soll, kann eigentlich nicht sein. Das würde nämlich bedeuten, dass die iGPU in meinem Fall mitarbeitet. Tut sie aber nicht. Kann sie ja offensichtlich auch gar nicht —> iMacPro1,1 SMBIOS.

    Außerdem funktioniert der HEVC-Export mit dem Quick Time Player und Adobe Premiere ja mit deaktivierter iGPU genauso schnell (und offenbar auf dieselbe Weise) wie in Final Cut/Compressor mit im Bios aktivierter iGPU. Das macht also auch dort definitiv die AMD, nicht die iGPU, aber das haben wir ja schon längst festgestellt.

    Es liegt also mehr als nahe, dass es sich um einen Bug handelt. Warum sollte der Quick Time Player den Export sonst anders (und schneller) handhaben als Final Cut Pro?

    HACKINTOSH für Musik- und Videoproduktion

    EFI-Ordner für mein System:

    Gigabyte Z390 DESIGNARE: OpenCore-EFI-Ordner und Anleitung

  • macinsane Offenbar kannst du es oder willst du es nicht verstehen. Naja, ich habe hier mein Bestes getan und melde mich aus dem Topic ab. Irgendwann ist auch mal gut.

    LG Chris


    Meine Hardware:

  • Ich könnte dasselbe sagen, also: agree to disagree. Am Ende geht es ja darum, hoffentlich Probleme zu lösen :)

    Intel Core i5 11500, Gigabyte Z590i Vision D, 64GB RAM, XFX Radeon RX 6600, macOS 12 (OpenCore 0.7.7 / iMacPro SMBIOS)

    Original MacBook Air M1 (2020), MacBook Pro 15 (Late 2013)

  • Ich denke das Thema FCP iGPU/ GPU ist echt komplex.

    Zudem würde ich vorschlagen, dass wenn Test (Schwerpunkt Encoding) dann alle das gleiche Quellmaterial nutzen. Zum Beispiel einen freien 1080p Filmtrailer / andere freie HD Demos oder 4K. Dann kann man die runterladen (nur 500 MB - 2 GB) und so jeder die Tests machen und Ergebnisse viel besser vergleichbar - selbst bei unterschiedlicher HW.

    Vielleicht kommen wir so der Sache näher...