GPU doesn't seem to get tasked


#1

I have 3 tracks, one is a green screen track with some masking. The other two tracks are still images, one is just cropped. The other has been masked (to add a frame), has a text addition, cropped and sized and positioned. I realize the more I add, the more choppy real time rendering will be. But, I noticed that my GPU doesn’t seem to be used at all, and my CPU spikes to only about 45% (Shotcut is using about 35%)

I have Settings set to OpenGPL. Anything else I should do to try to get it to use the GPU?


#2

You could try using GPU processing, but it’s experimental and things might go very wrong.


#3

I saw that mentioned in some of the other threads, but it doesn’t appear to be an option anymore. Isn’t it supposed to be under settings?


#4

It was removed a while go. Now you have to enable it in the registry if you’re using Windows.

You might want to read a bit more about GPU processing before trying it. Many have been unhappy with it.


#5

I enabled it in the registry and it shows that my gpu is being used now (only about 34%) and the main CPU kicks up also still (40% ish). But, the jitter didn’t really go away. It’s not a super high end video card, but I was hoping it would make some difference. I’m a new shotcut user (and new to video editing in general), and I’m enjoying the experience, but the jitter during the realtime rendering prior to export makes it hard to know if you are producing a good product until you do the actual export. Not sure if this is a shotcut thing, or just the nature of the beast when it comes to video editing. Chroma Key obviously has a big impact on the jitter, so I can disable that when I want to check out my transitions to make sure they sound and look good.

If I thought buying a better graphics card would make a difference, I would spend the money. But, it doesn’t sound like anybody has any sure solid recommendations on how to get smoother playback during the edit process. Considering neither CPU nor GPU is spiking to 100% ever, I’m not sure bigger and better hardware is the answer.

Thanks for the reply!

Dave


#6

If Shotcut is not using 100% of your CPU, then you might be I/O bound. What kind of hard drive do you have? I saw my performance improve drastically when I switched to an SSD.

What kind of files are you trying to edit (file type, codec and bitrate)? Some types of files are more challenging to decode than others.

I can’t tell from your screenshot, but I do not think your computer could handle 4K if you are editing that.

Is the performance poor when playing a file with no filters? Or, can you identify a specific filter that seems to cause the most problems?

Have you tried changing the display method? (Settings->Display Method)?

If your files are interlaced, try changing Settings->Deinterlacer to “one field”.

Changing Settings->Interpolation to “nearest neighbor” can improve real-time response (at the cost of preview quality).

None of the player settings affect export quality, by the way. So feel free to experiment.


#7

Yes, my main drive is a SSD. From the screenshot above, you can see it’s sitting at 1% utilization, so I don’t think it’s disk IO. The video file is actually shot using an iphone XR front camera. 1920x1080 h.264p. It’s not super high quality. These videos are just facebook promos.

My computer is running an i5-4590, 4 cores at 3.3Ghz with 16GB of RAM. My single thread rating is almost as high as the latest 9th gen i5s, and the only real difference is number of cores (6 versus 4).

You can build a faster computer, but I would not call mine slow. But, again, the CPU is NOT maxing out. So, would bigger actually help?

I increased the priority of shotcut to “realtime” but that didn’t make a difference either. I guess I’ll just have to live with it. Shotcut is the first real video editor I’ve used. I’ll try to download some of the other video editors and see if they have similar issues… again, it might just be the nature of video editing that I will have to learn to live with!

Thanks again for the input!

Dave


#8

I agree. Your computer is no slouch. I would expect it to work fine with 1920x1080 h.264 files.

Can you narrow your performance issue to any particular filter?

It is almost acting like Shotcut is only using one thread for some reason.

You didn’t accidentally install the 32bit version, did you?


#9

It’s the 64 bit. The latest installer I used was shotcut-win64-190127.exe.

chroma key is definitely a big one. And then when I add transitions, fade in, fade out, it really jitters during those renders.


#10

The multi-threading in Shotcut (and MLT and FFmpeg) is complicated. There are many threads and many areas of code where there is parallelism, and many other areas of code that are not thread safe and have locks to protect them. It most certainly using multiple threads but there are bottlenecks that prevent maxing it out, not to mention many areas of code that are not optimized for SIMD CPU instructions.

When you turn off Settings > Realtime, it will use more threads for something that is equivalent to Export > Advanced > Video Parallel processing. It enables something called “frame threading,” but that setting also requires rendering each frame even if it makes playback slower than realtime and makes the audio stutter. Also, there are a few filters that are not compatible with frame threading (e.g. Sharpen), and that introduces a bottleneck. It is complicated, it depends on many things, and there is not much you can do except try what has already been suggested here including the above.


#11

Just read up on the use of “proxy” files. I think that’s going to be the trick from here on out. Even if shotcut used 100% of my cpu, i would probably still get some jitter. Now that I’ve added multiple alpha channel filters, and key spill filter, it’s crazy jittering. unwatchable. Using the low quality proxy file is going to be the answer. I’ve been reading that no matter what product you are using or how fast your computer, this is an issue, and most folks are creating proxy files for this very reason (or some software products create a temp low res file for editing)… That would be a cool feature on shotcut. Maybe a pop up when something HD or higher is imported that says “you’ve imported a high resolution file. Would you like to temporarily lower the quality for better playback during editing? This will not effect the final export quality.” And I’ll click YES every time. :slight_smile: And it can convert it for me and do all the file swapping at time of export.

thanks!

dave


#12

Proxy is on the near term road map, but it must be accompanied by conversion to edit-friendly (optimized media in other programs) as a strongly encouraged option. Otherwise. there will be many support issues where the final output does not look like the version previewed (edits in the wrong place, files not seeking good, audio artifacts, etc.). People throw all sorts of garbage media at Shotcut. At least currently people can usually experience some issues in preview and convert manually to resolve. Proxy media will mask all the possible issues that will occur at the time of export.

One of the design goals of Shotcut is that you can quickly and easily drag-n-drop files from a file manager to the player to preview them before deciding to include them your project. Displaying a modal dialog for all HD+ is a major impediment to that workflow, and I will not be doing that. Proxy media will be an option in the New Project view and convert basically all media at the time it is added to either Playlist or Timelime. Maybe there will also be a per-file option somewhere when not using a project folder, but I have yet to fully design this.


#13

Sounds awesome! Looking forward to it. I was planning on converting my media to lower res using handbrake for my next video (I’ll start on it this weekend), so I promise not to complain when I screw it up! :):roll_eyes:


#14

Before you go through that effort, have you tried using the “Convert to edit friendly” feature in Shotcut? It might make a difference.


#15

Where can I select that “Convert to edit friendly” function?
I have also experienced problems that affected the visualization of my project.
This is an important handicap.
Most of my edits are a video track FullHD 1920 x 1080px at 30fps, some static images and some waveform effect or audio spectrum. There is no problem with this.
However when I incorporate filters (Chroma Key for example) the workflow is not fluid. .

I’m very happy with the roadmap about the proxy files. I hope you achieve this goal.

I still keep Shotcut as my favorite editor, although for more complex projects I was forced to use other editors for the performance in the preview.I will keep an eye on the news.
Thank you.


#16

Select the video. Click the properties tab. Click the hamburger button.


#17

Hello. Maybe can be useful for you look for the work “proxy” in the forum. You can read about people using what you suggest before.
Ah! and read this: Proxy files - different approach from my workflow with GoPro footage and this Keyframes & Proxy Editing if you plan to use proxy files
I’m experimenting with this too, lowering video quality (using h.264 very fast preset in handbrake, with a quality adjust of RF 29-32) for editing, and substituting files with the full quality ones for export.
Please, tell me about your results.


#18

Thank you very much for the information.:slightly_smiling_face:
I try to understand how to improve the editing experience in Shotcut.
This “To Edit-friendly” function generates a larger intermediate file.
So is this intermediate file the one that I should use in the editing project?
Does the conversion to ProRes cause any loss of quality?
Is the editing-previewing experience better because, although the video file is larger, it requires fewer resources to decompress?
I know there are many doubts. I’m a rookie in all this.
Thanks in advance for any help with this.


#19

I read the linked thread.
I understood is that we can work with converted video files (reducing the quality but not the resolution), with the same name but locating in different folders (clip - proxy), edit and exchange names of folders to render (from this way the video files with the original quality would be used).
Is this correct?
What is the difference in terms of performance in the preview between using intermediate files or proxy files?
Where can I learn more about this? (I still did not find information comprehensible for me on the internet)
Thanks.


#20

Additionally, intermediate files created with the option “Convert to Edit-Friendly” can also be created in the export panel, choosing one of the custom settings included in “Intermediate” or even “lossless”?