This is weird. I have added a 960GTX (unflashed) inside a Mac Pro 2008 - everything else works great. I have some 4K material, and I have optimised it. When I throw the material in a project, the playback is really stuttery. Now, I noticed that adding a color corrector effect on the footage, makes it run real smooth!??. It seems that playback on this system is not (really?) accellerated by the graphics card, but when I add an effect on, it might pass it through the Nvidia and play it back properly. Any ideas on how to get this working the right way?
That makes sense. I can't confirm this as my Mac will play 4K 60fps clips back fine without issue. But I guess one thing you could try is apply a color corrector or some other filter to each clip in the Event. Basically right click each clip and select "Open in Timeline" and then apply a filter that does next to nothing but requires rendering when put on the Project timeline. Like maybe a Color Corrector with the saturation bumped up a single point. You'd have to do this for all your 4K clips. At least that way it'd all feel normal and work normally as you'd edit.
nick314 wrote: This is weird. I have added a 960GTX (unflashed) inside a Mac Pro 2008...It seems that playback on this system is not (really?) accellerated by the graphics card, but when I add an effect on, it might pass it through the Nvidia and play it back properly...
In general a GPU cannot meaningfully accelerated H264 playback or encoding, as the core algorithm is serialized and not amenable to GPU-style parallelization.
However separate fixed-function encode/decode logic is sometimes bundled on the GPU card distinct from the GPU itself. nVidia calls theirs NVENC. It is conceptually similar to Intel's Quick Sync which is on Intel Sandy Bridge and later CPUs (excepting Xeon).
NVENC and the competing AMD logic VCE are not automatically used -- they each have their own APIs and software must write specifically to these APIs to use them. In general I don't think FCPX uses either of these, else we wouldn't have cases where a MacBook Pro can export H264 faster than a 12-core D700 New Mac Pro.
So how to explain your results? One possibility is your timeline is not rendered but adding the effect makes it render. So in this case it's not really the GTX-960 making the playback faster but the timeline gets rendered to temp files which makes playback smoother.
In both of your cases (with and without effects) is the timeline rendered or not? Do you have background rendering on?
Re optimized media, in general you will get better 4k editing performance using proxy than optimized. It also produces smaller files and is faster to create.
Thank you for taking the time to give such an indepth view on the core processes. Since the footage is optimised (transcoded to prores) the clips don't require rendering. Also, when adding the color corrector, the clips while unrendered play back smoothly. That's what was weird for me. I am wondering if switching to an amd card, fcpx will use the VCE logic to accelerate playback?
nick314 wrote: ...Since the footage is optimised (transcoded to prores) the clips don't require rendering...
Is that confirmed by there being no orange render bars? If the orange bars are there it requires rendering, although that's normally not necessary for smooth playback. If by chance it's orange, select the clip and do CTRL-R to render it, then try scrubbing the timeline.
nick314 wrote: ....when adding the color corrector, the clips while unrendered play back smoothly. That's what was weird for me. I am wondering if switching to an amd card, fcpx will use the VCE logic to accelerate playback?
I agree that is odd and I haven't heard of that before. Optimized media is *much* larger than most compressed camera-native media, up to 8x. This would increase the I/O load. Is there any possibility the disk holding your optimized media is too slow? However that wouldn't explain why adding color correction made it fast and smooth.
Re VCE I would definitely not assume that. There is no information from Apple (or Adobe for that matter) about whether FCPX or Premiere use NVENC or VCE.
We do know FCPX uses Quick Sync but unfortunately Xeon CPUs don't have this. You are right if your content is optimized Pro Res, that does not require decoding. So Quick Sync, NVENC or VCE should not apply in that case.
If you simply need a quick solution other than adding color correction to every clip, you could create proxy media and switch to that.
One other thing to check is whether your timeline is set to 'better performance', or 'better quality' playback, as if it's set to 'better quality', it may just be bumping the playback quality down with an unrendered clip, allowing it to play smoothly.
Odd but interesting topic indeed. If you do end up placing a color correction on clips to achieve performance, try considering the use of an adjustment layer with the color corrector applied to that. See if that also allows smooth playback. Not sure why it would, but if the single effect per clip seems to make a difference, then it would be much faster to apply the adjustment layer across the whole timeline and then remove it before exporting. I'd be curious to know how this works for you. If it doesn't work the same way that applying an effect to a single clip does, then this just gets more puzzling.