Bruce Allen
Well-known member
Regarding background rendering... the problem is that the background rendering in FCPX pauses even when you scrub through your timeline. If you are actively editing then it's pausing way too much. Actively editing means scrubbing, playing or browsing through clips.... basically interacting with your timeline. Now that doesn't make any sense. It's not really background rendering. It's waiting for FCPX to be idle so it can render.
What you want is:
FOREGROUND (EDITING) THREADS: sufficient cores and hard drive bandwidth allocated in order to keep things realtime
BACKGROUND (RENDERING) THREADS: everything unused should be rendering the timeline like crazy, stopping for now man.
This is theoretically possible.
I think the problem is that it's REALLY HARD to predict in advance exactly how much resources the foreground thread is going to need.
I mean... FCP X would have to predict: oh shit, the user hit play and there's a bunch of layers coming up... and they have a 3rd party plugin on them adding flares to the highlights - and I think there are 25 highlights in the next shot... and one of them is using footage that is on some fragmented files so drive latency is going to go up... I'd better take 3 cores off of the background tasks, give it 90% of my GPU and restrict background storage bandwidth to 38.3MB/s.
...and then you have the variable of all of the other processes running in your system. That's really difficult to get right and not drop frames!
For now I think they just said "screw it, we'll just tell it to render the moment the user stops editing."
Acceptable compromise for now, I think!
Bruce Allen
www.boacinema.com