Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/339.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/jquery-ui/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 最小化DirectShow内存消耗_C#_.net_Memory_Directshow - Fatal编程技术网

C# 最小化DirectShow内存消耗

C# 最小化DirectShow内存消耗,c#,.net,memory,directshow,C#,.net,Memory,Directshow,因此,我有一个应用程序,它通过一个局域网连接流式传输两个视频源。每个视频都有自己的滤波器图,将视频通过解码滤波器和有限针T形滤波器,然后有一个GMFBridge滤波器,用于使用WM ASF滤波器打开/关闭记录。还有一个视频渲染器使用不同的tee过滤器输出 现在,这一切都没有问题,但是整个应用程序的内存消耗远远超过80MB,并且在录制打开时可以达到100多个 我想知道是否有一些减少DirectShow内存消耗的技巧 我正在通过DirectShowLib互操作库使用C#(.NET2.0)中的Dire

因此,我有一个应用程序,它通过一个局域网连接流式传输两个视频源。每个视频都有自己的滤波器图,将视频通过解码滤波器和有限针T形滤波器,然后有一个GMFBridge滤波器,用于使用WM ASF滤波器打开/关闭记录。还有一个视频渲染器使用不同的tee过滤器输出

现在,这一切都没有问题,但是整个应用程序的内存消耗远远超过80MB,并且在录制打开时可以达到100多个

我想知道是否有一些减少DirectShow内存消耗的技巧

我正在通过DirectShowLib互操作库使用C#(.NET2.0)中的DirectShow


干杯

我对w/a.NET应用程序的第一个建议是不要信任任务管理器。使用性能监视器并添加专用字节计数器。这将告诉你你的真实内存使用情况


另一个注意事项是,由于您使用的是第三方过滤器(封闭源代码),因此除了降低视频分辨率和帧速率之外,实在没有其他降低内存使用率的选项。

这些是实时流吗?您可以尝试通过调用图形上的SetSyncSource(null)来禁用时钟。您使用的是什么windows平台,其中100 MB被认为是很多?XP-自定义硬件-用户交互可以在任何地方持续长达6小时。我在这里关注的是加载/重新加载过滤图时内存中的潜在跳跃,而不是高内存消耗的任何单一实例。我已经做了单独的过滤测量,我认为第三方组件是问题所在,正如您所说。因为指出这一点而被接受。