V.23.12.15 Slow rendering and Memory Leak crash

What is your operating system?
Win11 Pro 22H2 build 22621.1848
48GR RAM
RTX2080ti and second card GTX1070ti

What is your Shotcut version (see Help > About Shotcut)?

23.12.15 (was the version I experienced this but I downgraded

Can you repeat the problem? If so, what are the steps?

(TLDR: v23.12.15 doesn’t fully utilize the GPU during export where as v23.11.29 did using the same file and export settings [even after re-detecting the hardware])

With one video I noticed an excessive memory leak. I noticed this on the previous version (v23.11.29) and really hadn’t had this issue before. This is the first time I experimented with a transparent WEBM video that I used for some reusable episode text. I actually used ShotCut to create this transparent WEBM video in another file. That may or may not be related.

Regardless, when attempting to export the video using the standard YouTube settings (gameplay captured using NVidia Shadow Play) I noticed the CPU would cap out and then memory would gradually increase until the UI crashes (melt keeps going though and eventually generates the video). That’s not really the issue since the previous version did the same thing, HOWEVER the GPU would only be used at 10% with the 23.12.15 version and the 23.11.29 version would max it out at 50 to 100% which is what it usually did before v23.12.15.

I attempted to update my Nvidia drivers to the latest version and then restarted but it was still an issue with 23.12.15. Reverting to 23.11.29 lets the CPU max out and the GPU as well. It also takes a lot less time to complete the export.

Since I exported the exact same file with each version, this looks like it’s definitely an issue with v23.12.15

From the FAQ

Have you tried converting your video footage to Edit Friendly? Click on the video clip, then Properties. There is a button on the properties panel Convert….

Does Shotcut crash or does the Export fail?
If Shotcut does crash there might be useful information in the shotcut-log.txt file. Just drag and drop the file into the reply window to upload.
explorer_2023-12-30_04-02-24

If the Export fails, save the job log file.

What is the project Video Mode set to? Click on Output (Timeline), then Properties.

  • Resolution?
  • FPS? (Frames per second)

What are the source video specifications? Click on a clip, then Properties.

  • Resolution?
  • FPS?

Sometimes mismatched FPS source video to project video mode will produce undesired results. For example, if your video mode fps is set to 30.00000 fps, and your source video fps is 30.002339, then your next source video fps is 30.002349, these are mismatched. Converting your video to Edit Friendly may help resolve the issues.

When you selected the YouTube preset for Export, did you enter into Advanced and change any settings? If so, what settings were changed?

Are you running any anti-virus programs? If so, have you attempted to turn them off and then export them again?

I tested this with a one hour 1080p video on a RTX 4070, but I did not reproduce it. It is possible that performance degraded with the FFmpeg upgrade on some video sources, perhaps something with the way Shadow Play records, but I am skeptical.

You did not say what kind of WebM - vp8, vp9, or av1. I assume you used an alpha export preset so I chose the “WebM VP9 with alpha channel” export preset. No memory problem while exporting 30 minutes of timecode. Next, I opened a 30 minute long project, added a track, and added the timecode.webm to the new track. Playing this for several minutes, and I see no increase in memory problem. Finally, I export this using the defaults, but with hardware encoder and parallel processing turned on - no memory problem.

I used GeForce Experience to record a half hour of game play at 4K60 across 3 clips. I put them in a project and compared exporting from each version. Negligible difference in both export time and CPU and GPU difference.

I’m assuming you means that you also have an RTX2080. Hmm then I wonder what would be the problem. I reverted back to the previous release and it works like it did before. Memory leak has been a thing. It’s annoying but manageable as long as I save regularly.

Is there any other diagnostic information I can gather for this? I know I was using the X.264 encoding. I didn’t try HEVC. Maybe that’s the issue. These are large files. multiple GBs and hours of recording, but multiple files adding into a single project.

As for the transparent video I just used the preset vp9. It took way too long to process but I was able to cancel it part of the way and got a usable file for my purposes. Maybe I’ll try to redo it with the previous version and see if that’s the root.

Regarding the source videos, I am using proxies exclusively for these since they are big files. Would that be an issue? Original source files are: 1600x900 60fps Project video mode is set to the preset HD 1080 60fps. Should I consider switching that to the native resolution?

The export actually succeeds but the ShotCut UI crashes (Melt.exe keeps running until it’s done). Didn’t change any advanced settings in the YT preset and the only AV is defender that comes with Windows.

Incidentally I checked the resources and it showed I had an “warning” on one of the files, but it was a proxy converted file so not sure what was going on there. I just split the project and removed it but I’m still seeing the memory leaking slowly so that’s not the issue there.

I’ll watch the shotcut-log next time it crashes and post it here. Maybe cutting down the project size will help and when I start my next project I’ll do a fresh install of the latest version start a new file. Maybe something held over from a previous version is causing problems.

Well I just opened ShotCut and left it up and the bottom of the file just ticks down the memory:

[Info ] Util::isMemoryLow available RAM = 41650756 KB
[Info ] Util::isMemoryLow available RAM = 40505444 KB
[Info ] Util::isMemoryLow available RAM = 38763188 KB
[Info ] Util::isMemoryLow available RAM = 36009944 KB
[Info ] Util::isMemoryLow available RAM = 33301536 KB
[Info ] Util::isMemoryLow available RAM = 28755844 KB
[Info ] Util::isMemoryLow available RAM = 23369688 KB
[Info ] Util::isMemoryLow available RAM = 17912276 KB
[Info ] Util::isMemoryLow available RAM = 12700624 KB
[Info ] Util::isMemoryLow available RAM = 7681288 KB
[Info ] Util::isMemoryLow available RAM = 1180652 KB
[Info ] Util::isMemoryLow available RAM = 1518616 KB
[Info ] Util::isMemoryLow available RAM = 1254536 KB

Nothing else I can see in the log file for warnings except for
[Warning] [consumer 0x2361bc6ecc0] The DeckLink drivers not installed.
Which searching through the forum seems isn’t really a problem since I don’t have anything fancy like that. :slight_smile:

Looks like the memory leak was something to do with the project file I was working in. (see Stuttering and memory leak, Is this normal?) Not sure about the Export situation though. I’m going to get finished with my current project and then upgrade to the latest release and see if I see the strange non-using-GPU export thing again.

Can confirm that this was a me issue with some type of corrupted project file. I exported a video with a preset with no changes on v 231129 and then the same with v231215, both took about the same to export. 26 vs 24 minutes. So technically the new version is faster but I figure that’s within margin of error. Thanks for your help and sorry to waste time.