@ManuelG See here: http://steamcommunity.com/sharedfiles/filedetails/?id=1186784066 Nvidia driver polling Shift key every frame -- causing frametime variability depending on what has hooked input (Steam, Uplay etc), according to Kaldaien.
This button is part of combination of buttons which are polled every frame. It's used for debugging, to toggle on/off async device. You can disable async device, then Shift button won't be polled every frame, but depending of game it may cause performance degradation.
Why users should need this debugging poll?? The poll request should have another key to be enabled in NvInspector, and should be disabled by default.
Maybe you a right and Nvidia should more carefully remove debug features in consumer drivers. But I don't think, that polling Shift key even every frame can really have any performance impact.
Surely it's not a big thing, but a debug feature here one there and you lose precious performance. Anyway I'm a maniac of optimizations and for Nvidia should be nothing to disable by default such things.
In NVIDIA Control Panel in menu "Help" there is menu item "Debug mode". May be if it is checked some debug features start to work?
We have not been able to reproduce this. Has anyone else observed the same behavior? Can you share what OS you are seeing this in? Any specific steps to reproduce this?
Windows 10 Anniversary Update (v1607/RS1 build 14393.447); GeForce 388.13 WHQL Install API Monitor - http://www.rohitab.com/downloads Run any DX10+ application, for example, MLAA Demo - http://www.iryoku.com/mlaa/downloads/Jimenez-MLAA-DX10-v1.5.exe Run API Monitor 32-bit with Administrator rights Select API filter: Windows Application UI Development - User Interaction - Keyboard and Mouse Input - Keyboard Input Select "Jimenez-MLAA-DX10-v1.5.exe" process and start monitoring it See that user mode driver - nvwgf2um.dll call GetAsyncKeyState ( VK_SHIFT ) every time Adding this setting to "Base Profile" Code: Setting ID_0x0005f511 = 0x53850673 UserSpecified=true disables "SHIFT" button polling, but it also disables Async Device, that may negatively affect to performance.
Could this be the cause of the microstuttering issue I was experiencing with this driver in games such as Wolfenstein II and to a lesser extent Assassin's Creed: Origins? I had to reinstall the v388.00 WHQL to get around that issue. Both those games and others run noticeably smoother on v388.00 versus v388.13. Note that I am not referring to the stuttering issue that occurs every second on v388.13 if you use MSI Afterburner v4.4.0/RTSS v7.0.0 as that particular issue can be worked around by simply unchecking the Power monitoring option. The microstuttering is another issue entirely that wasn't immediately obvious when I tried the v388.13 due to the one-second polling bug. Once I fixed that I then noticed the microstuttering in a number of games that I was playing, though it doesn't affect all of them (Hollow Knight, a 2D game, runs OK for example). So far v388.00 seems to fine for Wolftenstein II and AC: Origins but I am concerned that I may be stuck on an older driver unless this issue is fixed. Worse, I am worried that Windows Update will force one this driver on me at some point. P.S. I use a single GTX 1080 Ti and have a single 27" ASUS ROG Swift PG279Q G-SYNC monitor with a 165 Hz refresh rate. I play all games with the G-SYNC and V-Sync enabled in the NVIDIA Global Profile and in-game v-sync disabled where possible, I am using Windows 10 Pro v1709 build 16299.19.
Couldn't be, because it's pretty old behavior. I can't test much oldest drivers, but 344.11 from 2014 also make "SHIFT" button poll.
@Guzz how do you get these options to show up in Nvidia Profile Inspector? I'm missing the whole "8 - Extra" section it seems. I'm on NVPI 2.1.3.10.
Dear Manuel, you don`t need to reproduce it (and especially with overcomplicated way described here). All you need to do is ask programmer(s) to search in source files for mentioned module "nwgf2umx.dll" for a name of API function "GetAsyncKeyState" with specified argument "VK_SHIFT". And after programmer(s) found all places in source files where this API function is called with this argument they just need to think why it is called there.