High Memory Leak: FxSound using over 1GB of RAM

Hi support team and community,

I am experiencing a severe memory leak issue with FxSound. Normally, the app only consumes around 50MB to 100MB of RAM. However, recently it has been spiking up to over 1 GB of RAM, which heavily impacts my system performance.

I have tried restarting the app and my PC, but the high memory usage returns after a few hours of normal playback.

Here are my details:

  • FxSound Version: 1.2.13.0
  • OS: Windows 10 Pro 64

Is there any known fix or workaround for this issue? Thank you

Thanks for reporting this. I will take a look at the RAM consumption and work on the fix.

FxSound is taking up 4.7 GB of RAM after running overnight (screenshot attached). My PC runs 24/7, so this memory leak is a big issue for me. Please fix this in the next update.

1 Like

how the heck it go 4 gb ram bro =))))))))

:skull:

Today I can barely type anything into windows, takes 5 sec for characters to appear. Thought I had a virus but After much troubleshooting this stopped after I diasbled FXSound.

@Dsotm in which version did you observe the unresponsiveness?

@hoanmt I will try running audio playback overnight to see if I can reproduce this issue.

1.2.13.0

Turned FXsound back on - problem not present. I will run this again over the weekend to see if it reoccurs

So. Happened again this morning - definitely FXSound causing the issue. Whatever App I am in, typing results in characters not appearing on screen for 2-3 seconds. Once I kil FXSound it goes away. Would appear to definitely be some form of memory leak

I have been using FxSound for 2 years and always keep it updated to the latest versions. Since my PC runs 24/7, I constantly encounter a severe memory leak issue. To temporary fix this, I have to close FxSound after 6 PM and reopen it at 7 AM the next day. However, it has become too disruptive, so I’m reporting this heavy RAM consumption issue for 24/7 systems. I hope the developers can look into and fix this bug soon. Thank you!

Thanks for reporting the memory leak issue. I am looking into it.

So. Did a Claude session on this:

# FxSound & Windows Audio Service System Lag Investigation

Problem Statement

When utilizing FxSound alongside multiple system playback devices, typing text within various applications (e.g., Discord, browsers, text editors) eventually slows down to a crawl. The only temporary fix is toggling FxSound off and back on. During these slowdown periods, `Service Host: Windows Audio` (System Service Name: `Audiosrv`) exhibits heavy, intermittent power usage spikes in the Windows Task Manager.


1. Underlying Technical Cause

The Core Loop

FxSound functions as a virtual audio driver that sits directly on top of the Windows audio architecture, intercepting all system sound streams. When a driver synchronization breakdown occurs, it causes a severe memory/buffer leak within the Windows user-mode audio graph engine (`audiodg.exe`).

Why Text Typing Lags

Many modern applications bind their text-input threads to core UI accessibility features hooks (such as character audio feedback or screen-reader text hooks). When the Windows audio pipeline bottlenecks, the audio system struggles to flush out stuck data packets. This creates a thread block, forcing text entry to lag heavily behind keystrokes. The high power usage seen in Task Manager is the audio engine entering a continuous “race condition” loop attempting to process the queue.


2. Structural Fixes & Device Cleanup

Step A: Purging Ghost & Duplicate Profiles

When Bluetooth headsets disconnect or go into sleep mode, Windows frequently splits them into multiple dynamic profiles (e.g., *Stereo High Fidelity* vs. *Hands-Free Mobile Audio*). FxSound continually pings these inactive or disconnected profile hooks in the background, which triggers the processing loop.

  1. Open **FxSound Settings**.
  2. Navigate to the **Audio** tab (*Output Device Preference* panel).
  3. **Uncheck** the option at the bottom labeled **“Prioritize new output devices”** to stop automatic device switching loops.
  4. Locate hidden, stale, or duplicate device configurations (indicated by the red minus circle icons, such as *Hands-Free* or old *Headset* entries). Click the **red minus icon** on each to completely wipe them from the virtual driver’s active polling registry.

Step B: Disabling Hands-Free Telephony Device Hooks

The legacy Bluetooth Hands-Free profile forces low-fidelity mono audio and collides severely with virtual audio routing matrices.

  1. Press `Win + R`, type `control printers`, and press **Enter** to open the classic **Devices and Printers** window.
  2. Locate your active Bluetooth headsets (e.g., Sony WH-CH720N or Bose QC Ultra).
  3. Right-click the headset icon and select **Properties**.
  4. Switch to the **Services** tab.
  5. **Uncheck** the box next to **Hands-Free Telephony**.
  6. Click **Apply** and **OK**.

3. Mandatory Hardware Sample Rate Alignment

A major catalyst for `Audiosrv` power spikes is matching mismatched sample rates. If FxSound, Windows, and physical hardware interfaces are set to different bit depths or frequencies, Windows forces the CPU to upsample or downsample data streams continuously on the fly.

Optimal Configuration Target

To minimize software engine rendering overhead, target a unified **44100 Hz** or **48000 Hz** frequency space across all playback configurations.

Device Property Window Recommended Format Setting Intent / Reasoning
**Physical Headphones** (e.g., Bluetooth Profiles) `16 bit, 44100 Hz (CD Quality)` Aligns with standard hardware baseline limitations for stable wireless playback pipelines.
**FxSound Speakers Properties** `24 bit, 44100 Hz (Studio Quality)` *or matching bit depth* Matches the primary sample rate frequency of the target headphone hardware to bypass resample loops.
**External DAC / Main Interface** (e.g., Yamaha Sound Device) `24 bit, 44100 Hz (Studio Quality)` *or* `24 bit, 48000 Hz` Lowers processing overhead from ultra-high rates (like `96000 Hz`) which tax virtual software processing layers.

Steps to Apply Format Configurations:

  1. Press `Win + R`, type `mmsys.cpl` and hit **Enter** to bring up the classic **Sound Control Panel**.
  2. Right-click your target output hardware and select **Properties**.
  3. Navigate to the **Advanced** tab.
  4. Under the **Exclusive Mode** group, **uncheck both configuration boxes** (*“Allow applications to take exclusive control of this device”* and *“Give exclusive mode applications priority”*). This prevents single apps from breaking the FxSound intercept loop.
  5. Under **Default Format**, select the unified sample rate matching your global topology (e.g., `24 bit, 44100 Hz`).
  6. Apply changes and exit.

4. Resetting the Audio Graph State

After cleaning device lists and aligning frequencies, you must flush the cached system states to complete the optimization.

Method A: Via Windows Task Manager

  1. Open **Task Manager** (`Ctrl + Shift + Esc`).
  2. Switch over to the **Services** tab.
  3. Locate the short system service name **`Audiosrv`**.
  4. Right-click it and select **Restart**.

Method B: Via Admin Command Prompt

To completely clear the cascading dependency stack, open an elevated Command Prompt and run:
```cmd
net stop Audiosrv
net stop AudioEndpointBuilder
net start AudioEndpointBuilder
net start Audiosrv
```
*Note: System sound will drop out for a brief moment and instantly reinitialize.*

On a separate note - this setting is a massive culprit for screwing up bluetooth or wireless headphones. EVERY time you get updates from either Windows, or sound driver from graphic cards - This setting WILL revert to on (ticked). You have to go and turn it off.