Skip to content

High CPU usage and memory leak when the last active physical output device disconnects. #580

Description

@Snipakillah

Description

This issue occurs specifically when the last active physical playback endpoint disconnects, leaving only the FxSound Audio Enhancer virtual device available.

Most of the testing described below was performed with FxSound 1.2.9.0. However, the issue first appeared in FxSound 1.2.8.0 and is also reproducible in later versions (Including the latest version 1.2.11.0).

Environment

  • System: Windows 10 22H2
  • Primary test version: FxSound 1.2.9.0
  • Affected versions: FxSound 1.2.8.0 and later
  • Output device used for testing: Bluetooth speaker
  • FxSound Audio Enhancer is configured as the Windows playback device

Test results

  1. When both the laptop's built-in speakers and a Bluetooth speaker are enabled, disconnecting the Bluetooth speaker works correctly.

    FxSound automatically falls back to the laptop speakers, and CPU and memory usage remain normal.

  2. When the Bluetooth speaker reconnects, FxSound also switches back to it normally.

  3. When the laptop speakers are disabled and the Bluetooth speaker is therefore the only active physical playback device, disconnecting the Bluetooth speaker causes the issue.

  4. After the Bluetooth speaker disconnects, the device correctly disappears from FxSound's output-device list.

    FxSound does not continue displaying or selecting the disconnected Bluetooth device. Therefore, this does not appear to be only a stale-device issue in the user interface.

  5. While no active physical playback device exists and only the FxSound Audio Enhancer virtual device remains:

    • FxSound CPU usage increases significantly.
    • The Windows Audio service CPU usage rises to approximately 30–50%.
    Image
    • FxSound memory usage continuously increases over time.
    • After several hours, FxSound.exe can consume more than 3 GB of memory.
  6. Exiting FxSound immediately causes the Windows Audio service CPU usage to return to normal.

  7. Starting FxSound again while no physical output device is available does not immediately reproduce the issue.

    The problem appears to be triggered specifically by the transition from one active physical playback device to zero active physical playback devices.

This appears related to issue #513 and PR #537. However, fallback logic may not fully cover the case where no ACTIVE physical playback device exists.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions