Performance is miserable with almost 5 GB RAM usage

Before I ask my question,
I’m using Shotcut 23.09.29 on Windows 10 Home.
My PC has 16 GB DDR4 RAM with a Ryzen 5 2600 CPU.

I’m reading a lot about these performance Issues on the forum and to be honest, I don’t understand half of it. I would be more than thankful if someone could explain it to me if my problem seems really familiar.

While editing, everything becomes very laggy, to a point everything runs really slow even when I just use a simple zoom in filter for example.
After a while it becomes worse and looking into my task manager, I often see my RAM being taking up to 5 GB of Ram.

Lowering my preview quality to 360p and use proxy didn’t really fix something, it becomes more bearable but very often it happens, that after shotcut converts my clips to proxy, everything of these clips become white and I can’t edit with them until I eventually turn Proxy off to see them again.
Incase people might ask, my projects contain editing Stream highlights. It’s either editing with a handful of clips or an hour long VOD.

Could it be, that shotcut is simply not working well with too many clips or with a long video file or is it my PC that causes these problems? What can I do, to improve my performance.

Thanks!

Perhaps there is something about your source files that is difficult for Shotcut to work with. Can you share a screenshot of the properties panel for one of your clips?

As a test, you could try a completely different test clip. For example, here is a clip I like to test with.

I also witnessed this issue with long videos. For me it looks like the beginning and ending thumbnails photos in die Video clips on the timeline are causing memory leaks and a lot of maybe unnecessary copy action. Restarting Shotcut frequently or splitting the the one video into more video projects and joining them in a master project together was the solution for me!
I never did use a proxy and lowered the playback to 720p or 560p. It looks like it is the count of clips that matters and not the duration of the clips!

Screenshot_20

Is this the properties you mean?
This clip is a VOD from one of my streams, currently 2,5 hours long. But i still have those issues with much shorter clips.
I stream in 720p if that is important.

Thanks for your answer btw!

Screenshot_21

I forgot to include these last two things in my screenshot, sorry!

I only use Settings->PreviewScaling with 720p or 540p. Depending on the used filters for the particular playback clip is playing smooth or too slow with interruptions!
Especially the stabilization filter makes clips very slow in playback!
Maybe turning of some filters from the clip temporary to improve the speed!

Personally I do only 1080p or 4k videos and I do use my GTX 1660 TI for encoding (hevc_nvenc, h264_nvenc) and I do have 32GB RAM.
The Option gpu accelleration is diabled, too.

I am a big witness to shotcut being slow after a certain number of operations.
on memory, 5GB or 30% of 16GB, don’t complain! On large projects, shocut’s memory footprint is close to 80% (32GB of Ram). Especially with the latest version (I barely used the previous version)
As for slowness, the observation is the same. What I understand is that Shotcut is not made for projects with many elements in the timeline. A cut in a clip “makes” two clips, therefore two elements… etc. Some of my projects can reach 10,000 elements. Generally, 30min in the timeline and I put Shotcut OUT.
In other words,
either you have to organize yourself differently for large projects (by large we mean many cuts, or many elements - the structuring of the MLT (xml) file means that an overall slowness appears too quickly for my taste) - in particular multiplying the MLT clips and use an MLT master - but again, shotcut will take a long time to open the master (nearly an hour in some cases, for a total video of 90min)
or for large projects change software!

Shocut is developed to do “complex” operations in a simple way… and it works.
On the other hand, I don’t know what is “blocking” but we can’t ask him to do too much. So projects with a lot of elements (> 1000, some say > 100, which is a very short project), shotcut can no longer manage. The consequences are the slowness of the timeline after 30 minutes of clip, the difficult opening of projects (in this case for me, systematic crash after opening, the second opening works), difficult use of filters (movement, rotation, etc.). .), systematic shift of the audio waveform synchronized with a video… and I’m not even mentioning Glaximate! and other filters…

In short, Shotcut is not designed for “complex/large” projects.
However, its base is very well thought out.
In my opinion, the obstacle to superior development to better manage the hardware (and therefore the memory) is QT… it’s only my opinion, I assume.

Today, I make the same observations as you. Shotcut quickly becomes slow and unusable (the master with linked clips is not a cure, only a way to better organize yourself)

Obviously, the developers will not be happy with my words. But know that I really like Shotcut. And that’s why I’m writing these words, to move things forward. Because if no one says things, then improvement is not possible.
And I’m sure that future versions will be able to support heavy projects. Otherwise, I would be sad to have to change software, and to do like many people, use non-free software (free in the open source sense and not in the free sense!) open source is a guarantee of quality .

Proxies do not change the problem; opening some of my projects on 64GB PCs and 8GB GPUs (shotcut portable version) I don’t see any difference with my 32GB/4GB GPU systems…
Project: MKV video/audio in 1080p or 2160p; Synchronized AAC audio; PNG images; SVG; filters; Glaximate animation; final project of 60 to 90min
I have already given the data of my typical projects several times… in feedback.

1 Like

I really appreciate your opinion and words about this.
I’m using Shotcut for 10 Months now I still love it and got used to everything it offers.
Don’t want to change to another program, even if it lags and works slow. It’s a good Idea to organize my progress in a different way, personally never thought of that until now.
Also, thanks for your explanation on MTL and elements. You written this very well!

Hope my 16 GB /8GB GPU System will not die on me on the way out to look out for new organizing strategies :slight_smile:

The main strategy is to make small clips, do what needs to be done on them and bring them together in a project (open MLT) But be careful opening the Master project can take time.
The small clips become chapters of the video…
Easier said than done actually… Homogenization gets complex along the way, even with recordable filters.
But for the moment it is the only way.

What do you do for video?
you can also do 30fps… depending on the type of videos you make

How do you open MLT ?

I’m editing stream highlights and often they are already on 720p 60FPS, I really don’t have a clue how to
configure the render settings.

Out of curiosity, what does a 10,000 element project look like? That’s almost three hours if there is a jump cut once per second every second. That’s a lot even by Hollywood fight scene standards. :grin:

same problem with me. shotcut consuming lots of ram and the software is too slow if compared to Shotcut 22.12.21. really slow when i add any source to the timeline.

i see another thing here. when I install this new version at the end of it a error is showed but i click ok and the program runs regardless this error.

sad that after Shotcut 22.12.21 this software is getting laggy on my end :frowning:

ps.: new pc with ryzen 5600 + 32g ram ddr4 + 1 tera nvme and back to Shotcut 22.12.21 again…

1 Like

Thank you so much!

Your system is awesome btw and if an older version works better than I would also just use that instead.
I began to organize the portions of my video now and it runs a bit better. Obviously the problem stays but I don’t have to worry to get my RAM getting eaten to 8GB on the way.

Try it our yourself!

I do have the same issues, too! When I did try to make a 16h long diashow in one project I gave up after a week. Splitting it up to 2 hour sequences and putting the 2 hour sequences into a new project was the only solution.
Now I am also trained to Shotcut and really like to use the program despite this big memory issue.

So I think it is time to fix the memory leak problem.

My suggestion is to create a global data storage playlist of all playback items without gui elements.
The playback items stored in a gui object should only point to this data storage item (even the GUI playlist items). This playback item should carry also carry all thumbnails used in the project. Every playback item should carry by an observer pattern the gui object using the the playback item. The same should be done with the thumbnails (icons) which are also stored as list in the global playback item.
If an playback item is used somewhere the gui element has to register on the item this->PlaybackItem->attach(this) and this->PlaybackItem->GetThumbnail(this,FrameNumber) which creates a thumbnail list entry if it does not exist and adds the pointer of the gui pointer to the observer list of the thumbnail. If an gui element gets destroyed it has to call PlaybackItem->detach(this) or/and PlaybackItem->detachThumbnail(FrameNumber, this) to deregister from the observer pattern.

It is a lot of work to do, but this structure could eliminate almost all video and audio content memory leakes or unwanted copies in Shotcut. You might need more lists like a pointer list to the playback, a list of pointers to the timelineobjects, an list for the gui playback list and so on! It is somehow straight forward and does not change the user experience or the standard work flow of this program.

2 Likes

by element we mean in the sense of shotcut… I just opened an MLT, for 45 min 3765 chain and there are still elements… I carry out projects that can reach more than 120min, with more than 4 hours recording…

1 Like

That makes a lot more sense. Thanks.

As FranckB said if you have trouble with the memory edit your long video in small parts in separate projects and include the small parts via open MLT XML as clip in your master video project! This is now for me the right work around that works dealing with the memory leaks and slow work issue with large video projects. Thank’s for the hint!

Most important is to do a restart of the PC before using SHOTCUT & check that your browser doesn’t open in the background.

Other question - HDD or SSD?