I believe I may have encountered a memory leak in the latest versions of nvoglv64.dll. I have tested both the “Studio Driver” and the “Game Ready Driver” at versions 30.0.15.1259, as well as another recent version of the “Game Ready Driver” but did not copy its version number; all three cases resulted in the behavior I will outline below.
In testing some Vulkan software I’ve been playing with, I noticed that memory was accumulating each frame when I combined compute and graphics operations per frame (ie. dispatch and draw). Using Microsoft’s Performance HUD, I was able to gather that the cause was an accumulation of unhandled events: (Manually formatting HUD results since new users can only include one screenshot)
| Category | Type | Outstanding | Outstanding (delta) |
| Kernel | Event | 10,199 | 10,199 |
Going deeper with WinDbg, I was able to step through the assembly and verify that CreateEventA() is being called each frame in the following stack:
This call to CreateEventA() occurs directly before calling DrvPresentBuffers+0x8a70 in the dll.
Following the assembly, it appears that the resulting event is indeed never cleaned up in the driver nor is it returned to the calling code.
This is not my area of expertise, so I could be missing something and am open to feedback, but it appears to be an odd bug in the nvoglv64.dll driver.
All help is appreciated.