FCPX 10.4.7. egpu problem

So, i just updated Catalina to my macbook pro and installed FCPX 10.4.7...

Am i missing something or what the heck is going on with the external GPU support here? I'm using Blackmagic eGPU pro btw.

That checkbox is now gone (right click on fcpx program icon) where you could select the use of eGPU on 10.4.6.

FCPX 10.4.7 use now eGPU render/export only. Not for playback what i'm used to. So this 10.4.7 is useless to me right now...

Anyone have same problem?

MacBook Pro with Touch Bar

Posted on Oct 8, 2019 8:08 AM

Reply
Question marked as Top-ranking reply

Posted on Oct 16, 2019 8:51 AM

Let me preface this by saying that this is the fastest FCPX has ever run on any system i have ever had, its amazingly fast - Im super super happy with it.


My setup when i updated to FCPX 10.4.7 & Catalina was as follows:

Late 2014 5K iMac 27inch - 4 GHz Quad-Core Intel Core i7 - 32 GB 1600 MHz DDR3

AMD Radeon R9 M295X 4 GB graphics

MacOS Catalina 10.15

FCPX 10.4.7

Target Display mode with a late 2011 27inch iMac and external 55inch UHD monitor connected to an

Akitio Node Pro - Vega 64 daisy chained to an Akitio SSD bay (4TB Raid0)


The above setup worked very well in FCPX 10.4.6 & Mojave - FCPX would use both internal and external GPU in tandem and never would i experience any lag though i had to open FCPX in low resolution mode for it to work properly. I would force the eGPU & Low Resolution mode from the Finder.


Original Setup with an older iMac as a secondary display.

Before the Update - with a Vega64


After the update (to FCPX 10.4.7 & Catalina) only the internal GPU was utilised so i tried testing various setups and options finally concluding to remove the 2nd iMac (Target Display) from the equation and use an external monitor powered from the eGPU directly instead.


From the System Preferences i set one of the external monitors as the main monitor (Dragged the menu bar). Then i opened FCPX and chose through Preferences my external GPU. After that - wow - everything was been running super smooth super fast - with my usual effects maxed out. And the thing is that now the internal GPU is only used for h.264 sharing.


.


Also i have noticed that if you choose an external monitor powered through an eGPU as your main display MacOS will recognise the eGPU as your main graphics card.

So now my main monitor now is a 27inch BenQ. Doesn't look that nice but if im getting the performance boost who cares.


When external monitor is used as main Display


When iMac is used as main Display


Which could essentially mean that we are getting full eGPU support across the board. I don't have the time to test this but im sure someone out there could test it out.

227 replies

Jan 7, 2020 9:29 AM in response to janne76

This thread is like a loop, I have done all that attach eGPU to monitor etc etc etc etc, and it still *****. Im back to 10.4.6 and it works like it should without having to read a PhD in whatever is being explained by Interceptor. FCPX should be like it was during 10.4.6 going forward or backward. Dont care about this test and that test.

Jan 8, 2020 1:59 AM in response to MrBroons

For a Share option as explained there are few things that happen

  1. Render any parts not yet rendered
  2. Compression
  3. Upload if you use the native YouTube export

If background rendering is active the timeline will be almost fully rendered so performance will be according to standard multi core benchmarks

https://browser.geekbench.com/mac-benchmarks/ and fundamentally driven by the number of cores as well as RAM

The i7 would do worse than the Mac Mini 3.2 has it has same cores but less speed the i9 should do better but if it has 16 MB it won't


The key is background rendering the concept apple implements is as follows:

GPU controlling the display (in the case of macbook the internal or discrete) -> Live tasks

eGPU -> rendering tasks


This allows you to focus all the internal resources on the live tasks and at the same time the eGPU is doing the crunching when you get to the point of sharing 90% of the timeline is rendered so only the residual part will be done and the rest will be CPU work as this is hardware accelerated


If you do not subscribe to this and want to disable background rendering altogether you will have to wait when you share until your timeline is rendered here the speed is dictated only by the power of the graphic card. This however is not the best scenario to get the most of your eGPU.

Alternatively for those macs that do not have a display like the Mini or if you want to use an external display with your laptop you can connect a GPU to the display this will accelerate all live tasks regardless of any eGPU preferences in the application as the eGPU drives the display. You cannot accelerate live tasks on a display not connected to a GPU

It is important to understand how Apple envisages the eGPU workflow as well as to understand that compression which is one of the two key parts of the share process is not a GPU task but a CPU task using the embedded GPU when there is graphic acceleration or using only the CPU if there is only sofware encoding. I think this last part is what confuses people

An external eGPU may be very well worth for gaming on an old machine as this has discrete unit of code that can be give to an external eGPU and this allows for a real acceleration. A game all in all is a series of expected results

With final cut live effect there is no way to predict what a user will do and therefore eGPU cannot be involved in live tasks if it is not connected to the display.

Resolve as it is provided by blackmagic that produces an eGPU is likely to make better use of it than apple that does not manufacture one themselves however this does not mean Resolve is a better solution for your needs so you need to consider what you require.

Feb 28, 2020 3:18 AM in response to Interceptor121

This is what I encounter:

MBP 13" 2017 with Catalina (10.15.3) & Razer Core X (Radeon RX Vega 64 8 GB) & FCPX 10.4.8


During import of media and generating optimized & proxy media, only the internal GPU is used

During timeline/background rendering, the eGPU is used

During share rendering, the eGPU is used.


With FCPX 10.4.6 also during the import of media and generating optimized & proxy media the eGPU was used. In short everything was fast.

With FCPX 10.4.7 the eGPU wasn't used at all, also not for timeline/background rendering, so that version was useless.

With FCPX 10.4.8 it is useable again, but importing and generating proxy files is a pain with my MBP 13" as during this process it sounds it will take off any moment.

Oct 15, 2019 4:09 PM in response to TheSultan88

I have the same issue. Instead of the Get info -> Prefer eGPU option in 10.4.7 you select to use external GPU in Preferences.

The only problem is you are right it doesn't help for playback anymore!!! FCPX 10.4.7 is completely useless to me now too with an eGPU.


I did some tests here to compare the versions 10.4.6 and 10.4.7 and the older version is better overall in terms of playback/render. https://discussions.apple.com/thread/250745284?page=1

An eGPU is completely useless it seems for this on FPCX now. So sad, especially since the update was advertising how great it was with eGPU support.



Dec 11, 2019 3:27 PM in response to vh78

I’ve been having this problem too. I was using Red Giant Denoiser. I removed it and tried the built in denoiser and now the egpu is used for export. I’m not using any other third party plugins at the moment, perhaps 3rd party plugins are where the problem lies (due to switch to Metal?).


Not exactly a solution but perhaps useful info.


2018 Mac mini. Razor Core X. Sapphire Vega 56. All latest versions ( Catalina 10.15.2/FCP 10.4.8).

Dec 27, 2019 11:22 AM in response to Interceptor121

The most recent few posts are incorrect. My display is connected directly through the eGPU and performance is suffering. Previously it didn't matter if it was connected through the eGPU or the Mac mini (though there was a slight performance bump if connected through eGPU). Encoding video is very much a task that can be accelerated through a GPU and having a Vega 64 over thunderbolt used to render videos an order of magnitude faster. Other software still accelerates through the eGPU -- just not FCPX.


To say that this is expected behavior or that it works correctly the display if connected through the eGPU or that the CPU is a more powerful way to process graphics than an external GPU is all, very simply, mistaken and doesn't help move the conversation forward. In what world is an internal Intel UHD chip going to be faster than a Vega 56 or 64 over TB3?


Apple has been made aware of the issue by a number of people on this thread, and the more people who have the issue and can call and discuss it with them, the better, so that renders can work properly again (as clearly intended by FCPX letting you choose which GPU is the "render/share" GPU).

Feb 16, 2020 8:00 AM in response to vh78

There is nothing to be fixed


This post is on eGPU forum where some wise people were trying to test the impact of eGPU on transcoding clips


https://egpu.io/forums/pro-applications/easy-video-encoding-benchmark-test-your-gpu-within-seconds/


Except Radeon GPU do not have any H264 or any other codec hardware acceleration for compression the only card that can do that are Nvidia that are not supported by OSX


That post realises at the end that in all circumstances the eGPU is not used and this is because it can't as it has not got the resources to compress.


The only thing an eGPU does if not connected to the primary display is to render. Compression in ANY scenario is done by the CPU as GPU do not have enough instructions to compute things like entropy encoding


There is possibly a regression for some people from metal 10.4.7 onwards this is more likely a teething issue that needs to be resolved and unrelated to eGPU use


In so far as legendary use of eGPU for transcode or encode that will not happen with Radeon and actually it never happened despite some movement in activity monitor as the GPU simply can't that is also true for DaVinci resolve as it is a hardware limitation



Feb 17, 2020 1:31 AM in response to mathieu241

The process used is the same as when you do render all. Then the H264 uses the CPU not the GPU.

Have you tried what I said before or not? You cannot base your conclusion on some graphic of activity monitor when you don't even know what task is being performed.

GPU is used at the start of the share process but only if render files are not available for the project.

If you tell me what source file you have, if you use original or optimised media and the project render setting I can tell you exactly the program behaviour and you can check it otherwise you are drawing some conclusions that are incorrect

Am not saying that 10.4.7 is better than 10.4.6 in fact most cases show it is not but this is not eGPU related is a code regression across the board

Feb 17, 2020 11:34 AM in response to abjacobs

OSX does not support either of encoding or decoding hardware acceleration through a GPU not now not before never. The only supported hardware acceleration is using VT API and that uses Intel Quick Sync in the CPU not on the GPU


With regards to poor understanding of English maybe you need to read what apple says about eGPU in final cut let me write it down for you here then we can have an english understanding competition?


Render/Share GPU

  • Render/Share GPU: Use this pop-up menu to choose which graphics processing unit (GPU) to use in Final Cut Pro when rendering or sharing. This choice affects only rendering and sharing; real-time effects use the default GPU.


Can you tell me what the part in bold means in English? In case you are struggling let me try and help you

The GPU selected in preference is the one you can use for render and share (that does NOT mean encoding will happen using the eGPU as that is physically NOT possible as the code does not exist) this can be integrated, discrete or external you choose

The second sentence means that the default GPU which is the one attached to the display perform real time tasks


So a device like that only has an internal display like an iMac or a macbook has the default GPU set to the onboard or discrete GPU and this will be used for live effect this never changed and does not depend on final cut


What I am trying to say to you guys that if prior to 10.4.7 you had a better performance has NOTHING to do with eGPU unless the GPU is not used for rendering as per document. If you have a problem with live tasks simply is a performance regression issue not eGPU related and has to be logged as such not as an eGPU issue (that can't physically be) otherwise you are not going to get any answer ever as the eGPU is out of scope for live tasks despite some graphics on activity monitor


Has someone here demonstrated that final cut pro does not respect the GPU selected in the playback preferences yes or no?

Feb 26, 2020 2:00 AM in response to radspeed

SO..........


I have tested this on my mac mini & 16" mpb and got my egpu to work!!!!


See if this works for you.....


Goto share......Add Destination.


In here you can add/delete/edit your Destinations.


I chose to edit my master file.


Go to format and select Mastering Video And Audio (it's at the top). Change your codec to whatever you want (I kept h.264 just to prove the naysayer WRONG!


The GPU history is showing 50% in the bars whereas it would show 100% in 10.4.6 and before.......


BUT....I am back to 5 minute renders as I was getting before :)


Let me know if it works for you guys too??


This thread has been closed by the system or the community team. You may vote for any posts you find helpful, or search the Community for additional answers.

FCPX 10.4.7. egpu problem

Welcome to Apple Support Community
A forum where Apple customers help each other with their products. Get started with your Apple Account.