图形驱动程序是否会导致应用程序中的内存泄漏?

时间:2013-08-30 04:02:28

标签: c++ video memory-leaks drivers ms-media-foundation

我有一个.NET WPF应用程序,它使用我们编写的C ++ / CLI库来通过Microsoft Media Foundation库控制视频。

在各种设备上监视专用字节性能计数器时,此计数器在几周内保持稳定。但是,在具有Intel GMA3650显卡的系统上,当应用程序运行时(播放视频),此性能计数器会以明显稳定的速率增加。如果我通过切换到Windows 7 Basic主题禁用Aero,这个计数器明显更好,尽管有轻微和稳定的增加stll。

C ++ / CLI代码主要执行基本的视频传输控制功能,以及添加/删除序列中的视频片段。它还通过IMFSourceReader::ReadSample拍摄当前视频的快照。

看起来这个驱动程序在我的应用程序中导致内存泄漏但我甚至不确定是否可能。所有应用程序是否都容易受到OS在执行应用程序时使用的任何底层操作系统库或库中的内存泄漏的影响?

1 个答案:

答案 0 :(得分:1)

任何可以在进程虚拟地址空间中分配内存的软件都能够导致内存泄漏。驱动程序可以通过ZwOpenSection等函数以这种方式分配内存。因此,它们可能导致进程泄漏内存

现在只是因为它可以泄漏内存并不意味着它会泄漏内存。您的应用程序中存在错误的可能性更大。第一步是剖析并弄清楚哪些内存泄漏并从那里继续