It's possible it's just the specific model/drivers I'm using. I haven't spent much time yet trying to see if I can fix it, because I've been focusing all my time on taming the OS first. Then once that's done I was going to look into this other issue. But I've ran LatencyMon on a clean Windows 10 21H2 install and it had perfect DPC except for the nvidia graphics driver kernel would ocassionally spike for no reason, idling at the desktop.
Eventually I'll try using older drivers and/or changing out the card to see if that matters, but with the known problems historically ever since Microsoft started using the multimedia scheduler more and more, and messing with DPC related stuff, and bloating out the OS I have a feeling that it's just going to be a Microsoft and/or Nvidia issue that we can't control very much. I do hope I'm wrong and maybe my card is just dying, that'd be a nice easy fix.
W10 brought WDDM 2.0, upgraded to 2.7 in W10 20H1. There seems to have been significant changes to scheduling, including Vsync-counter disable that
MacVap cited above, which might explain those video DPC issues, particularly: spiking during idle. In this case, updating may be better than reverting drivers - but it's MS and nVidia we're talking, one never knows...
I've just found
a very interesting thread on 20H1 & WDDM 2.7 at Guru3d that brings up a whole field of exploration for reg tweakers and NTLite users, they've done quite a bit as well. In-depth discussions and explanations in the links all throughout the discussion.
*Sigh* I guess I'll have to contain my anxiety until next weekend, as there won't be time time to read through all of that and make tests this week.
(On a side note, one thing to be checked is whether there are any significant differences to scheduling settings between different W10 "flavors" and their releases...)
Edit: I've been saying "vsync disable" when it's actually "VSync-counter disable". If I get it right, it means Windows won't update the screen as often as it should, instead delaying refresh cycles and adding extra overhead to refreshes - which totally explains both of DPC latency and stutters - which totally defeats, well, vertical *sync*.
I'm struggling to think of a possibly shittier approach to the issue. Sooooo Microsoft...