We are facing a memory leak when using .net Application (.net 4.6.1 C# Windows Forms with OpenTK GLControl) with Intel HD graphics (inside igdgmm32.dll). Our capabilities are limited, can you help further analyzing?
Intel HD Graphics
- Intel UHD 630 (Driver: 184.108.40.20611), Windows 10 => igdgmm32.dll
- Intel HD 530 (Driver: 220.127.116.1142), Windows 7 => ig9icd32.dll
- Intel HD 620 (Driver: 18.104.22.16888), Windows 10 => igdgmm32.dll
Steps to reproduce:
- Create Windows Form
- Add GLControl (make sure property "Dock" is set to "DockStyle.Fill"
- Shrink or grow GLControl on every frame
Note: when removing the dock-style setting, the leak does not occur.
Note: this is not representing the actual usage, this is just to make this issue occur more likely.
Attached you will find a screenshot of growing memory consumption in igdgmm32.dll ("ANTS_ProfilerScreen_1450-800.png")
Also attached you will find a sample project (C# .net 4.6.1 VS) to reproduce the memory leak ("MemLeakTest.zip")
When starting the application, the Back and Front Buffer starting to get switched. Actually no specific content is drawn. By pressing the key 's', a thread is started to shrink and grow the embedded GLControl (UserControl that is used as GLContext) and you can see the memory usage growing.
For further insight, I also attached the Redgate ANTS Profiler Result ("MemleakTest_ProfilerResults_101819.zip").
To open that file, you need Redgate ANTS Memory Profile. It is available as free trial at https://www.red-gate.com/products/dotnet-development/ants-memory-profiler/
In that application, I use OpenTK as a wrapper for OpenGL (https://github.com/opentk/opentk).
I sent the same request to their board as well in order to isolate the faulty behavior.
Operating system: Windows 10 (OS build 17134.1006)
Packages: OpenTK 3.1.0, OpenTK GLControl 3.1.0 through NuGet
Runtime: .net Framework 4.6.1