FreeShow Memory Leak With Motion Backgrounds: A Deep Dive
Understanding the FreeShow Memory Leak Issue
Hey there, fellow FreeShow users! Ever encountered your FreeShow app slowing down, crashing, or just acting plain wonky when you throw in a motion background? If so, you're definitely not alone. It sounds like you've stumbled upon a memory leak issue, and we're going to break it down. You've described the problem perfectly: FreeShow app slows and crashes, because of a memory loop buildup. You have two NDI outputs, one for full-screen text and another for lower-thirds lyrics or Bible passages, all set at a resolution of 1280x720 and utilizing invisible windows. The trouble arises when a Full HD motion background (a 10-second loop video) is introduced to the first slide of the Bible passage. This background then applies to all subsequent slides, causing the memory usage in FreeShow to skyrocket, eventually leading to a crash. You have a setup with a powerful PC, including 64GB of RAM and a 16GB RTX 5060 Ti, so your hardware should handle this with ease. Your network infrastructure shouldn't be the bottleneck, either, as you have a 2.5Gb Ethernet setup. The problem isn't likely related to network bandwidth. This leads us to believe that this is a bug in FreeShow. Your experience with FreeShow since November 2024 and the recent emergence of this issue after the upgrade to version 1.5.2 strongly suggest a potential bug related to how the software handles motion backgrounds in conjunction with NDI outputs.
The Core Problem: Memory Buildup
The heart of the problem lies in the way FreeShow appears to be handling these motion backgrounds. When the background is activated, the app starts to consume an ever-increasing amount of memory, building up rapidly. You've observed this firsthand, with memory usage climbing from a normal range of 800-900MB to a staggering 15,000MB before the program crashes. This is a telltale sign of a memory leak – where the application allocates memory but doesn't properly release it when it's no longer needed. In this case, it seems the motion background is the culprit, and it gets exponentially worse as it's applied to multiple slides or outputs.
The NDI Output Factor
Your use of NDI outputs adds another layer of complexity. NDI, or Network Device Interface, is a low-latency IP video transmission protocol. It allows you to send and receive high-quality video over a network. The fact that you're using two NDI outputs, coupled with the motion backgrounds, might be exacerbating the issue. Each NDI output represents a separate stream of video data being processed by FreeShow. If each output is trying to render the motion background simultaneously, it could potentially double or even triple the memory load, making the leak much more severe. Your observation of output lag when transitioning slides further supports the idea that the system is struggling to keep up with the processing demands. The app is likely struggling to keep up with the task of rendering, encoding, and transmitting the NDI streams.
Version Specificity
Your suspicion that the problem emerged after updating to version 1.5.2 is also a key piece of information. This points towards a specific version-related bug. Software updates often introduce new features and improvements, but they can also inadvertently introduce regressions or bugs. It's possible that a change in how FreeShow handles video rendering or NDI output in version 1.5.2 caused this memory leak when motion backgrounds are involved.
Troubleshooting Steps and Potential Solutions
Checking the Obvious
Before delving into more advanced solutions, let's cover some basics. First, ensure your graphics drivers are up to date. Outdated drivers can cause various problems, including memory leaks and performance issues. Next, verify that your Windows 11 installation is up-to-date and all the other software packages are also up-to-date. Inconsistent or missing updates might cause unexpected conflicts. Although you have a robust system, monitor your CPU and GPU usage during the FreeShow operation to see if either one is maxing out when the issue occurs. This will tell you where the bottleneck is.
Investigating FreeShow Settings
Within FreeShow, explore its settings related to video rendering and NDI output. Look for options like