Skip to content

[Bug]: Performance issue with distroAV filters, time to render frames increases drammatically #1231

Description

@Marsic1

Is there an existing issue for this?

  • I have searched the existing issues and did not find a similar issue

This bug exists on the latest available release of DistroAV and supported environment?

  • I have checked this bug still exist on the latest available version of DistroAV
  • I have checked that my OS / OBS / NDI versions are supported

OBS Log [URL] - Important!

https://obsproject.com/logs/jOeGyPZNrOAT0gBj

Issue reported - Current Behavior

TLDR: DistroAV NDI added as source/scene filter increases render frame times drammatically while streaming (below i'll provide all the tests done, with possible solutions to mitigate) and i'm getting a constant encoder overloaded error.

I haven't been streaming since months so i'm not sure if this issue has been triggered lately or it was already present and i just did not notice it, but i've rolled back to a version of obs which i was using when i used to stream months ago and the issue is still happening.

I'm on a well built machine (threadripper 3970x + RTX3090) and neither seems to be bottlenecking, the issue occours only while streaming, while not streaming the framerate is stable at 60 with 2 DistroAV NDI filters/scenes.

here's the tests i've done so far while displaying an empty scene:
disable/enable game mode/ hags/ dvr etc -> no tangible difference
use latest version of obs/previous working version -> no tangible difference
switch nvenc encoder to x264 -> no tangible difference
decrease enhanced broadcasting video tracks -> render frame time decreases/encoder overload error decreases/disappears
removing ndi filter from one of the 2 scenes -> render frame time decreases, fps goes to ~40
removing ndi filter from both scenes -> render frame is good, fps is stable at 60, no overload
no ndi filter, distroav ndi enabled for main and preview scene -> render frame is good, fps around 50, no overload
no ndi filter, distroav ndi enabled only for main scene -> render frame is good, fps is stable at 60, no overload
Extreme test to rule out system limitations:
no ndi filter, distroav ndi enabled for main scene + nditools screen capture for whole screen + nditools cam capture for nvidia broadcast camera which routes obs virtual camera (enabled) of a scene -> render frame is good, fps is stable at 60, no overload

something while running the plugin as a filter does impact the frame render time while doing multiple encoding, it doesn't happen with nditools app or main feed

if it would be possible to set the feed framerate or resolution the issue could be mitigated even if not fixable
it may be related to this:
#872

Expected Behavior

NDI filter on sources/scenes should impact the same way as main ndi feed does

Steps To Reproduce

With my environment, setting any source/scene with ndi filter and starting a stream with enhanced broadcasting video tracks will impact the frame render time and overload the encoder

Environment

- OS: Windows 11
- OBS: 30.2.3 / 31.0.2
- DistroAV: 6.0.0
- NDI: 6.1.1.0

Pre-Check for Bug Report

  • I am able to reproduce the bug following the steps provided above
  • I have confirmed this bug exist on more than one device/computer
  • I have tested using a new scene collection to reproduce the issue
  • I have tested on a 'clean' OBS installation (aka with no other scripts or plugin installed)

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions