Hi, I have an activated, clean installation of Windows 8 x64 RTM installed on my laptop that has a Core i5-2410M 2.4GHz processor, a GeForce GT 540M 2GB GPU and 4GB of DDR3 RAM. This laptop previously had Windows 7 x64 SP1 and it had no problems with DPC Latency with peaks only measuring at 2-digit microseconds. But with Windows 8 x64 RTM, using LatencyMon, I get minimum to maximum latencies of 300us to 1000us respectively. I already installed the latest drivers I could find, all specifically for Windows 8 and tried the bcdedit /set disabledynamictick yes workaround, but still the high DPC latencies persist. Any known solutions for this problem? Thanks.
On the site of the DPC Latency checker they said: Windows 8 Compatibility: The DPC latency utility runs on Windows 8 but does not show correct values. The output suggests that the Windows 8 kernel performs badly and introduces a constant latency of one millisecond which is not the case in practice. DPCs in the Windows 8 kernel behave identical to Windows 7. The utility produces incorrect results because the implementation of kernel timers has changed in Windows 8 which causes a side effect with the measuring algorithm used by the utility. Thesycon is working on a new version of the DPC latency utility and will make it available on this site as soon as it is finished.
I know about that Windows 8 Compatibility issue with DPC Latency Checker. That is why I used LatencyMon to get accurate results. (as indicated in my first post)
I don't think Latency Monitor works well in Win 8 either. Or if it does, it works in a way I don't understand. For instance, with no programs running, I get ~900 microseconds, if I start gmail notifier pro (or one of several other programs), Latency Monitor shows a drop to 10-20 microseconds and it stays there (CPU power saving features are all disabled). Since that is illogical, I conclude Latency Monitor is worthless at this time. I actually get good numbers with DPC Latency Checker on Win 8 however, less than 10 microseconds. To increase the stability of the latency and decrease spikes, I disabled some unnecessary services like LAN stuff, Search, and superfetch (using services.msc); hardware like microphone, hdmi audio, firewire, com port, etc. (in device manager) and unnecessary drivers and misc other autostarted items (in sysintelnals' autoruns). So you could try those things, and make sure all programs are closed, opening them one by one to see which ones affect latency. If DPC Latency Checker is not reporting a valid value at all, then none of this matters I guess.
Oh, so these latency monitors are worthless. But still though, I don't think disabling stuff is the way to go to 'cause it just lessens the capabilities of your system. Where in fact, the system should be properly working with all the components enabled. I installed Windows 8 for its new capabilities and features in the first place, and disabling stuff just doesn't add up to that. I hope a hotfix will be issued for this.
Well, I only disabled stuff I have no need for, I have no LAN, so all the LAN services can be disabled, don't use the mic, firewire, com port, hdmi audio, etc. so I disabled all that stuff, etc. and this is only to eliminate the spikes, and I'm not sure which one helped since I didn't document it, just disabled everything I don't use. I imagine it's impossible to get rid of latency caused by something like windows indexer or superfetch, since increased latency I would think is innate to reading the hard drive. So it's not really something to 'fix', it's more something for the user to decide how low they want their latency and how stable they want it, vs. trade offs in abilities that they may or may not need/want. However I only lost a few microseconds of latency (from like 15 microseconds to 8 microseconds) and some spiking to 30 microseconds or so, so what I'm doing is not really related to a bug like a constant 900+ microsecond latency with (I presume) no activity, but I thought my experience and advice might help until any related issues get fixed.
I thought they just made DPC dynamic to save battery or something stupid, so that it doesn't tick as much when you're not running anything (goes up to 1000) and then ticks fast whenever it needs to (when you're running stuff). But I suppose there'd be some bugs with it that are causing it to not detect programs running that require low DPC latency. Either that or you're just guessing that your BSOD is DPC-related. With up to date sound card and video card drivers for Windows 8 you shouldn't experience issues related to DPC.
About DPC Latency - this tool maybe can fix it: google - DPC Latency Enhancer. Don't know how it works.
So GameDev "solution" solved nothing... ...how it came, that I knew it well, @Humans... you have the sound driver issue, what is your audio card? is it nbook or desktop?
Can you describe what you mean by "crackling"? Is it only a weak sound quality or do you have interrupted sound?