latenitefilms / GyroflowToolbox

Allows you to import Gyroflow Projects into Apple's Final Cut Pro
https://gyroflowtoolbox.io
MIT License
25 stars 1 forks source link

FCP not responding #4

Closed JWuStudio closed 1 year ago

JWuStudio commented 1 year ago

I do not know exactly what I did, but now after importing the gyroflow data, FCP would completely freeze with the spinning ball. It will not recover on its own, force quite is the only way.

I have restarted the computer, deleted and reinstalled Toolbox in to motion template, re-exported processed gyroflow data. Now I can open the fop project, and I can apply the Toolbox as an effect on the clip just fine, but as soon as I import the gyroflow data, it would freeze. just trashed FCP preferences, did not help. Before it freezes, I can see that the gyro stabilization has been applied to the video in the viewer. It just would not playback.

I am not sure how to provide you with more necessary files for you to troubleshoot this.

update: now that I have basically reset and reinstalled everything, it is kind of working again, but it is play7ing back at about 1fps. it is the exact same clip as before and the performance was definitely much better.

latenitefilms commented 1 year ago

If you open Console.app and filter by the Gyroflow process, do you see any helpful errors:

image

Have you been using any of the "Advanced" preferences in Gyroflow? If you untick things like "Use GPU decoding" or change the "Device for video processing" to something other than Metal, etc. it can have a big impact on performance.

My GUESS is that you've done something in the Gyroflow project itself. Maybe try trashing that and creating it again?

latenitefilms commented 1 year ago

Also, if you look in Activity Monitor, is Gyroflow Toolbox Renderer taking up a large amount or RAM or anything?

image
JWuStudio commented 1 year ago

So this is what the ram usage ended up looking like. I am also using Google Drive to Archive things overnight, so that would have an impact on performance as well.

But, following your advice, I used Gyroflow to generate two different processed gyro data (both with "Use GPU decoding" checked), one with OpenCL, which is the default when I "reset all settings to default" in Gyroflow, and one more with Metal. then I loaded the Toolbox on a clip in a 1080p30 timeline and switched between the two, only this time I had lens correction turned down to 0, which I think helped making the playback speed back to 1fps again, instead of spinning beach ball. interestingly, I do not see a big difference in playback performance between Metal or OpenCL, is that normal?

I have attached my RAM usage below, it is taking up a decent amount of ram. This is when I paused playback. gyroflow was taking up a consistent 1GB during playback. My video clip is on my internal SSD. now if I close FCP and reopen it, with the project that contain Toolbox open, it will immediately go into the spinning beach ball for a while, but then eventually recover.

I will use the console.app tomorrow and see if I can dig a little deeper. I definitely feel like I am still doing something wrong though, because the same clip with the same stabilization setting plays back in real time in 60p in Gyroflow no problem.

Screen Shot 2022-12-21 at 1 24 50 AM

latenitefilms commented 1 year ago

To be honest... I'm not sure what's happening on your machine. I haven't seen Gyroflow Toolbox Renderer go above 1GB yet.

What's the "Gyro_FxPlugXPCService (Final Cut Pro)"?

What kind of hardware are you using? What version of macOS?

Currently I'm on a MacBook Pro (16-inch, 2021), M1 Max, 64GB RAM running macOS Monterey 12.5.1. If you're on older hardware, or an Intel machine, there may be things I haven't accounted for.

latenitefilms commented 1 year ago

Also, what version of Final Cut Pro?

JWuStudio commented 1 year ago

M1Max MacbookPro, 64GB ram, MacOS 12.6.1, latest FCP.

Give me a few days to look into it. I feel like I am doing something stupid.

latenitefilms commented 1 year ago

Weird - that's similar configuration to us, so that rules out most things. We'll keep doing some digging. Hopefully more people start beta testing it, and we can get some more feedback.

latenitefilms commented 1 year ago

Curious... Does closing the Final Cut Pro Inspector have any impact on playback performance?

I have a feeling maybe FCPX doesn't like the fact we're storing all the Gyroflow data with the library.

latenitefilms commented 1 year ago

I think I've solved the Inspector freezing in 1.0.0-beta.2, so I'm going to close this issue for now, but reach out if it doesn't actually fix the problem.

JWuStudio commented 1 year ago

You did fix it!!! It still needs time to start playback every time, but it is more like a performance optimization, rather than "FCP not responding".

what was the problem exactly? I would not really understand, just curious.

latenitefilms commented 1 year ago

I'm currently preparing a new beta, which hopefully has better performance. Should be up shortly.

Basically, we store all the Gyroflow Project data in a hidden text-box in the Final Cut Pro Inspector. However, even though it was hidden, Final Cut Pro seemed to still be reading it, and when you have ~5MB of text, apparently it slowed down Final Cut Pro a lot! I tweaked some things in the Motion Template and code, and that seemed to workaround the slow-down.

JWuStudio commented 1 year ago

did a quick test with the beta2 again with closing the inspector window, and no, closing the inspector window did not help performance.

latenitefilms commented 1 year ago

Give Beta 3 a go.

JWuStudio commented 1 year ago

pretty much realtime playback even in 4k60 projects now, totally usable now! WOW, I wish I was more helpful haha. this is amazing. should I post it in the Sony A7siii Facebook group to get more people to test it?

btw this is also not the first open-source project I have done beta testing for, so I kind of know what is going on, but since I am not a programmer myself, I cannot really be more helpful.

latenitefilms commented 1 year ago

Great news!

No stress - I'm a filmmaker, not a coder as well, so I'm just making it up as I go along, haha.

Yes, feel free to share and promote!

latenitefilms commented 1 year ago

@JW144754 - Let me know if Gyroflow Toolbox 1.0.0-beta.6 is working better for you now in terms of playback performance.