views:

155

answers:

1

Hey,

So, I have an application which streams two video sources over a local area connection. Each video has its own filter graph, puts the video through a decoding filter, and an Inifinite Pin Tee filter, and then there is a GMFBridge filter, which is used to turn on/off recording using the WM ASF Filter. There is also a video renderer running off a different output of the tee filter.

Now, this all works no problem, however the memory consumption for the entire application is well over 80 MB, and can hit more than 100 when recording is turned on.

I am wondering if there are any tips for minimising DirectShow memory consumption?

I am using DirectShow from C# (.NET 2.0), via the DirectShowLib interop library.

Cheers

A: 

My first suggestion w/ a .NET application is to not trust task manager. Use the Performance Monitor and add the Private Bytes counter. That will tell you your true memory usage.

Another note, because you are using 3rd party filters (closed source), there are really no options for lowering your memory usage besides lowering your video resolution and framerate.

Jeremiah Morrill
Have done individual filter measurements, I think the 3rd party component thing is the problem, as you say. Accepted for pointing it out.
Kazar