Dear forum members,
we experience a serious memory leak when continuously updating a 2D texture displaying a live image from a physical camera. From some version of NVIDIA graphics drivers on this process continuously eats CPU memory away finally resulting in an ‘out of memory’ situation.
Details are as following:
Driver versions we tested that show the problem: 573.42, 576.02, 576.52, 576.61
Graphics hardware we tested: A400, T400, P400
Windows 11 OS, but issue also shows on Win10 using same driver versions. We have drivers for Win10 not showing the problem but these are not compatible with Win11, so this problem currently prevents us from delivering Win11 to customers.
Technique used is OpenGL, using glTexImage2D() or glTexSubImage2D(), behavior does not change when switching between creating a new texture for each camera image or reusing existing one.
We did not change relevant application software, just changing driver versions causes the problem. Last known driver version we know of not showing the problem is 475.14
Problem does not show on NVIDIA RTX 2080 with same driver versions.
I am attaching NVIDIA system information exported on a system showing the problem
NVIDIA System Information 06-30-2025 15-50-20.txt (3.4 KB)
Any help on this issue is greatly appreciated since customers are urgently asking for Win11 updates.
Hello @michael.hardwiger, welcome to the NVIDIA developer forums.
I will try to reach out to the GL team if they have some input on this. Meanwhile, would you be able to narrow down the driver version a bit? 475.14 to 573.423 is a rather big gap.
Also, if you would have a minimal repro app, that would be even better to replicate the issue in-house, in case it really is an NVIDIA driver issue.
Thanks!
Hello @MarkusHoHo,
we narrowed the driver version down from the version 553.62 (R550 U13) which showed no memory leak to version 572.16 (R570 U1) which showed the memory leak. We tested the drivers on a RTX A6000. The drivers were downloaded via the manual search for the RTX A6000 on your website.
Development of the repro app will take some time as there are hardware requirements (camera) in our program. We are also using OpenCascade (7.5) to create the OpenGL textures.
We’ll get back to you when it’s ready.
Hello @MarkusHoHo,
our minimal reproduction code is ready.
We got a Visual Studio 17 solution at this github repository.
Just open the solution and compile and run the code.
All of the dependencies are checked into the repository and don’t need to be compiled.
When testing with the T400 the memory jumped a lot and you might need some time to see the memory go up in the Task Manager. Setting the Priority for the programm to high seemed to help decreasing the spikes so you can concentrate on the memory leak.
We also tested the programm on a laptop NVIDIA GPU where the memory seemed to calm down after a while and start leaking memory slowly but constantly. The laptop also had an Intel iGPU which seemed to work fine without the memory moving, as long as all monitors are connected to the iGPU.
For the program, it’s a slightly changed Version of the OpenCascade Viewer2D example, loading a bmp file every 5ms and printing it on a document.
Hope it helps.