所以,我有一个应用程序通过局域连接流式传输两个视频源。每个视频都有自己的滤波器图形,通过解码滤波器和Inifinite Pin Tee滤波器放置视频,然后有一个GMFBridge滤波器,用于使用WM ASF滤波器打开/关闭录制。还有一个视频渲染器在tee过滤器的不同输出端运行。
现在,这一切都没有问题,但是整个应用程序的内存消耗超过80 MB,并且在打开录制时可以达到100以上。
我想知道是否有任何关于最小化DirectShow内存消耗的提示?
我通过DirectShowLib互操作库使用C#(。NET 2.0)中的DirectShow。
干杯
答案 0 :(得分:1)
我对.NET应用程序的第一个建议是不信任任务管理器。使用性能监视器并添加专用字节计数器。这将告诉你真正的内存使用情况。
另一个注意事项,因为您使用的是第三方过滤器(封闭源代码),除了降低视频分辨率和帧速率外,实际上没有降低内存使用率的选项。