[SOLVED] Could somebody tell me what is causing my high DPC latency in Windows 8.1?

ganon11000

Active member
Joined
Feb 19, 2014
Posts
39
Location
Southampton, UK
I have a Lenovo 3000 N200 0769 with the following upgrades:
Intel Core 2 Duo T9300
3GB DDR2 667MHz RAM
AR9285 WiFi
Crucial M4 64GB mSATA SSD (With SATA adapter)

The main issue I'm having is high DPC Latency causing sound "pops" and "crackles".
I have attached a Xperf log thing below and hope you can make sense of it for me.

Thank You.

https://mega.co.nz/#!5001EAjL!WbOaBKveRViFD1JQThv2fCWtWTzzaPEMm28Yy9IGCG4
 
Hi,

There are few DPC spikes (not too high) related to athwnx.sys driver, which belongs to your Qualcomm Atheros AR9285 wireless network adapter. It might be a good idea to make sure you are using the latest driver for it (download it here). Anyhow, please be aware that, as per Microsoft Compatibility Center, this wireless network adapter isn't officially supported on Windows 8.1.

Apart from athwnx.sys, I see ACPI.sys DPCs talking relativity long to complete. Anyhow, the stack, related to this driver, doesn't point to anything more specific. From my practice, that usually relates to some power settings (if needed we can capture a new XPERF trace, which would include power information, later), so, for now, please make sure of the following:

  • You have "High performance" plan enabled in Windows
  • "High performance" plan settings does not allow turning off any devices while the laptop is "Plugged in"
  • You have "Allow the computer to turn of this device to save power" disabled for AR9285 wireless adapter
On the other side, I am also a bit concerned about the regular (not DPC/ISR) CPU load on your computer. Most of that CPU load is caused by NPSWF32_12_0_0_44.dll module, which belongs Adobe Shockwave Player. You might want to install the latest version of the player, while I'm wondering what were you running on your browser (Comodo Dragon) during the tracing. I just want to be if it's some application/game you was using intentionally, instead of it being some extension/ad/plugin/toolbar, which is using Shockwave without you knowing that. In addition, are you experiencing any "crackles" while you're not running Dragon Browser?

By the way, I see you created a duplicate thread on TechNet forums.
 
Hi,

There are few DPC spikes (not too high) related to athwnx.sys driver, which belongs to your Qualcomm Atheros AR9285 wireless network adapter. It might be a good idea to make sure you are using the latest driver for it (download it here). Anyhow, please be aware that, as per Microsoft Compatibility Center, this wireless network adapter isn't officially supported on Windows 8.1.

Apart from athwnx.sys, I see ACPI.sys DPCs talking relativity long to complete. Anyhow, the stack, related to this driver, doesn't point to anything more specific. From my practice, that usually relates to some power settings (if needed we can capture a new XPERF trace, which would include power information, later), so, for now, please make sure of the following:

  • You have "High performance" plan enabled in Windows
  • "High performance" plan settings does not allow turning off any devices while the laptop is "Plugged in"
  • You have "Allow the computer to turn of this device to save power" disabled for AR9285 wireless adapter
On the other side, I am also a bit concerned about the regular (not DPC/ISR) CPU load on your computer. Most of that CPU load is caused by NPSWF32_12_0_0_44.dll module, which belongs Adobe Shockwave Player. You might want to install the latest version of the player, while I'm wondering what were you running on your browser (Comodo Dragon) during the tracing. I just want to be if it's some application/game you was using intentionally, instead of it being some extension/ad/plugin/toolbar, which is using Shockwave without you knowing that. In addition, are you experiencing any "crackles" while you're not running Dragon Browser?

By the way, I see you created a duplicate thread on TechNet forums.
I was playing YouTube while testing (The worst it gets)
I decided to install vista and 7 because I killed 8 (By messing with drivers) and the same problem is happening with those systems. I'm starting to think there should be a lenovo version of ACPI.SYS installed but it's not on their website??
 
OK, let's try to get more information.

First, please generate a new trace, by following these steps:

  1. Once the installation finishes, open an elevated Command Prompt by right-clicking on CMD.EXE shortcut in your start menu and selecting Run As Administrator from the context menu.
  2. Type the following command, which will start tracing, in the Command Prompt window you just opened:
    Code:
    xperf -on PROC_THREAD+LOADER+PROFILE+INTERRUPT+DPC+DRIVERS+POWER+IDLE_STATES -stackwalk Profile -BufferSize 1024 -MinBuffers 256 -MaxBuffers 256 -MaxFile 256 -FileMode Circular
    If you see a yellow warning "xperf: warning: This system is not fully configured for x64 stack tracing" after running the above command, please complete these extra steps (otherwise, proceed to the step #5):
    Read More:
    If you see a red error "xperf: error: NT Kernel Logger: A device attached to the system is not functioning. (0x1f)" after running the above command, please complete these extra steps (otherwise, proceed to the step #5):
    Read More:
  3. Perform some activities with your computer for few minutes, making sure the issues you reported are reproduced.
  4. Run the following command, which will stop the tracing, in the command prompt window you already have opened:
    Code:
    xperf -stop -d C:\CPU.etl
  5. Compress file C:\CPU.etl
  6. Upload the compressed file to a file sharing service (e.g. OneDrive or DropBox).
  7. Share the download link here.
Second, please download and run Sysnative jcgriff2 BSOD File Collection app. Attach the ZIP file it generates here. It will provide us more information about your system.

Third, please also download and run Speccy. Once it is running, click File -> Save Snapshot.... Attach it here.

Thank you.
 
OK, let's try to get more information.

First, please generate a new trace, by following these steps:

  1. Once the installation finishes, open an elevated Command Prompt by right-clicking on CMD.EXE shortcut in your start menu and selecting Run As Administrator from the context menu.
  2. Type the following command, which will start tracing, in the Command Prompt window you just opened:
    Code:
    xperf -on PROC_THREAD+LOADER+PROFILE+INTERRUPT+DPC+DRIVERS+POWER+IDLE_STATES -stackwalk Profile -BufferSize 1024 -MinBuffers 256 -MaxBuffers 256 -MaxFile 256 -FileMode Circular
    If you see a yellow warning "xperf: warning: This system is not fully configured for x64 stack tracing" after running the above command, please complete these extra steps (otherwise, proceed to the step #5):
    Read More:

    If you see a red error "xperf: error: NT Kernel Logger: A device attached to the system is not functioning. (0x1f)" after running the above command, please complete these extra steps (otherwise, proceed to the step #5):
    Read More:
  3. Perform some activities with your computer for few minutes, making sure the issues you reported are reproduced.
  4. Run the following command, which will stop the tracing, in the command prompt window you already have opened:
    Code:
    xperf -stop -d C:\CPU.etl
  5. Compress file C:\CPU.etl
  6. Upload the compressed file to a file sharing service (e.g. OneDrive or DropBox).
  7. Share the download link here.
Second, please download and run Sysnative jcgriff2 BSOD File Collection app. Attach the ZIP file it generates here. It will provide us more information about your system.

Third, please also download and run Speccy. Once it is running, click File -> Save Snapshot.... Attach it here.

Thank you.
I will. Do I need to put Windows 8.1 back on as I have Vista on this system ATM.
 
Sorry for butting in here - but whenever I see a Crucial M4 SSD I have to wonder if the firmware has been updated.
These drives had significant problems with the eariler firmware - and an update of the firmware to the latest version usually fixes a host of problems.
Good luck!
 
OK, let's try to get more information.

First, please generate a new trace, by following these steps:

  1. Once the installation finishes, open an elevated Command Prompt by right-clicking on CMD.EXE shortcut in your start menu and selecting Run As Administrator from the context menu.
  2. Type the following command, which will start tracing, in the Command Prompt window you just opened:
    Code:
    xperf -on PROC_THREAD+LOADER+PROFILE+INTERRUPT+DPC+DRIVERS+POWER+IDLE_STATES -stackwalk Profile -BufferSize 1024 -MinBuffers 256 -MaxBuffers 256 -MaxFile 256 -FileMode Circular
    If you see a yellow warning "xperf: warning: This system is not fully configured for x64 stack tracing" after running the above command, please complete these extra steps (otherwise, proceed to the step #5):
    Read More:

    If you see a red error "xperf: error: NT Kernel Logger: A device attached to the system is not functioning. (0x1f)" after running the above command, please complete these extra steps (otherwise, proceed to the step #5):
    Read More:
  3. Perform some activities with your computer for few minutes, making sure the issues you reported are reproduced.
  4. Run the following command, which will stop the tracing, in the command prompt window you already have opened:
    Code:
    xperf -stop -d C:\CPU.etl
  5. Compress file C:\CPU.etl
  6. Upload the compressed file to a file sharing service (e.g. OneDrive or DropBox).
  7. Share the download link here.
Second, please download and run Sysnative jcgriff2 BSOD File Collection app. Attach the ZIP file it generates here. It will provide us more information about your system.

Third, please also download and run Speccy. Once it is running, click File -> Save Snapshot.... Attach it here.

Thank you.
Here you go:
https://drive.google.com/file/d/0B3-yyU44xFecVGplMDRYNzN0UEU/edit?usp=sharing
BTW I've done a full reinstall of Windows 8.1
 
Thank you.

Could you please do the following as well?

  1. Click WIN+R.
  2. Type devmgmt.msc and press ENTER.
  3. Find all devices related to Bluetooth (they will be under Bluetooth and Network adapters sections).
  4. Right-click on each of these device and select Disable from the context menu.
  5. Once all of them are disabled, reboot the computer.
  6. Generate a new XPERF log the same way you did before.
There are some warnings ("The local adapter does not support Bluetooth Low Energy") in your event log related to Bluetooth power settings, so, I want to be sure, if they aren't related to these frequent ACPI DPCs visible in you XPERF trace. After that, you can enable these devices back.

In addition, please do the following:

  1. Click WIN+R.
  2. Type POWERCFG /Q > %USERPROFILE%\Desktop\Power.txt and press ENTER.
  3. Attach Power.txt from your Desktop file here.
 
Thank you.

Could you please do the following as well?

  1. Click WIN+R.
  2. Type devmgmt.msc and press ENTER.
  3. Find all devices related to Bluetooth (they will be under Bluetooth and Network adapters sections).
  4. Right-click on each of these device and select Disable from the context menu.
  5. Once all of them are disabled, reboot the computer.
  6. Generate a new XPERF log the same way you did before.
There are some warnings ("The local adapter does not support Bluetooth Low Energy") in your event log related to Bluetooth power settings, so, I want to be sure, if they aren't related to these frequent ACPI DPCs visible in you XPERF trace. After that, you can enable these devices back.

In addition, please do the following:

  1. Click WIN+R.
  2. Type POWERCFG /Q > %USERPROFILE%\Desktop\Power.txt and press ENTER.
  3. Attach Power.txt from your Desktop file here.

As requested here is the Xperf & Power.txt with all Bluetooth devices disabled.
https://drive.google.com/file/d/0B3-yyU44xFecMkhQcmxuNTBJOVk/edit?usp=sharing
 
Thank you.

It seems that I was right and Bluetooth devices were indeed the cause of these ACPI.sys DPCs. As you can see in the screenshot below, ACPI dropped from #1 to #15 place when sorted by duration %.

ACPI.sys DPCs on CPU#0 before disabling Bluetooth devices:

DPCs Before.PNG

ACPI.sys DPCs on CPU#0 after disabling Bluetooth devices:

DPC After.PNG

Anyhow, you probably do not wanna leave all your Bluetooth devices disabled, so, what you can try is checking if any of the Bluetooth devices have power saving enabled:

  1. Press WIN+R.
  2. Type devmgmt.msc and press ENTER.
  3. Find all devices related to Bluetooth (they will be under Bluetooth and Network adapters sections).
  4. Right-click on each of these device and select Enable from the context menu.
  5. Right-click on each of these device and select Properties from the context menu.
  6. If there's Power Management tab, open it.
  7. Uncheck Allow the computer to turn off this device to save power.
If none of the Bluetooth devices has Power Management tab, please make sure you are really using the latest Bluetooth drivers and they are provided by your vendor, not by Microsoft.

In addition, as you can see in the second screenshot, there is a group of spikes related to NDIS.sys driver. They (again) have athwnx.sys driver, which I mentioned earlier, on the stack. I assume you already installed the latest athwnx.sys driver, which I provided earlier, so it's hard to say what is causing these spikes. It might be that they are affected by some settings of the network adapter.

Now I do not really think that performance issues you are experiencing are really caused by DPCs, since they are not that high (we are still trying to get rid of the frequent/high ones caused by ACPI.sys and NDIS.sys as a good practice). As I said before, I really don't like the high CPU usage caused by NPSWF32_12_0_0_70.dll module. If you take a look into the following screenshot, you would see that this module is causing quite huge CPU load (the violet graph):

NPSWF32.PNG

Most of the times I've seen Flash plugin (actually, in this case, I still do not understand why the browser is using Adobe Shockwave, instead of Adobe Flash Player for playing Youtube videos) causing huge CPU load, it was due to the plugin not being able to use GPU decoding for videos. To my understanding, that Dragon browser you are using is based on Chromium; hence, could you please do the following:

  1. Open Dragon browser
  2. Type the following text into URL bar and press ENTER:
    Code:
    about:gpu
  3. Press CTRL+S.
  4. Select Webpage, Complete.
  5. Attach the saved HTM file here.
In addition, some of your power settings are not configured for maximum performance when the computer is connected to a power adapter (I assume that's the case here). I would recommend you doing the following to increase performance a bit:

  1. Open an elevated Command Prompt by right-clicking on CMD.EXE shortcut in your start menu and selecting Run As Administrator from the context menu.
  2. Run the following commands:
    Code:
    POWERCFG -setacvalueindex 381b4222-f694-41f0-9685-ff5bb260df2e 2a737441-1930-4402-8d77-b2bebba308a3 48e6b7a6-50f5-4782-a5d4-53bb8f07e226 000
    POWERCFG -setacvalueindex 381b4222-f694-41f0-9685-ff5bb260df2e 501a4d13-42af-4429-9fd1-a8218c268e20 ee12f906-d277-404b-b6da-e5fa1a576df5 000
    POWERCFG -setacvalueindex 381b4222-f694-41f0-9685-ff5bb260df2e 54533251-82be-4824-96c1-47b60b740d00 893dee8e-2bef-41e0-89c6-b55d0929964c 100
  3. Exit Command Prompt.
Please let me know your findings and results.
 
Thank you.

It seems that I was right and Bluetooth devices were indeed the cause of these ACPI.sys DPCs. As you can see in the screenshot below, ACPI dropped from #1 to #15 place when sorted by duration %.

ACPI.sys DPCs on CPU#0 before disabling Bluetooth devices:

View attachment 7248

ACPI.sys DPCs on CPU#0 after disabling Bluetooth devices:

View attachment 7250

Anyhow, you probably do not wanna leave all your Bluetooth devices disabled, so, what you can try is checking if any of the Bluetooth devices have power saving enabled:

  1. Press WIN+R.
  2. Type devmgmt.msc and press ENTER.
  3. Find all devices related to Bluetooth (they will be under Bluetooth and Network adapters sections).
  4. Right-click on each of these device and select Enable from the context menu.
  5. Right-click on each of these device and select Properties from the context menu.
  6. If there's Power Management tab, open it.
  7. Uncheck Allow the computer to turn off this device to save power.
If none of the Bluetooth devices has Power Management tab, please make sure you are really using the latest Bluetooth drivers and they are provided by your vendor, not by Microsoft.

In addition, as you can see in the second screenshot, there is a group of spikes related to NDIS.sys driver. They (again) have athwnx.sys driver, which I mentioned earlier, on the stack. I assume you already installed the latest athwnx.sys driver, which I provided earlier, so it's hard to say what is causing these spikes. It might be that they are affected by some settings of the network adapter.

Now I do not really think that performance issues you are experiencing are really caused by DPCs, since they are not that high (we are still trying to get rid of the frequent/high ones caused by ACPI.sys and NDIS.sys as a good practice). As I said before, I really don't like the high CPU usage caused by NPSWF32_12_0_0_70.dll module. If you take a look into the following screenshot, you would see that this module is causing quite huge CPU load (the violet graph):

View attachment 7249

Most of the times I've seen Flash plugin (actually, in this case, I still do not understand why the browser is using Adobe Shockwave, instead of Adobe Flash Player for playing Youtube videos) causing huge CPU load, it was due to the plugin not being able to use GPU decoding for videos. To my understanding, that Dragon browser you are using is based on Chromium; hence, could you please do the following:

  1. Open Dragon browser
  2. Type the following text into URL bar and press ENTER:
    Code:
    about:gpu
  3. Press CTRL+S.
  4. Select Webpage, Complete.
  5. Attach the saved HTM file here.
In addition, some of your power settings are not configured for maximum performance when the computer is connected to a power adapter (I assume that's the case here). I would recommend you doing the following to increase performance a bit:

  1. Open an elevated Command Prompt by right-clicking on CMD.EXE shortcut in your start menu and selecting Run As Administrator from the context menu.
  2. Run the following commands:
    Code:
    POWERCFG -setacvalueindex 381b4222-f694-41f0-9685-ff5bb260df2e 2a737441-1930-4402-8d77-b2bebba308a3 48e6b7a6-50f5-4782-a5d4-53bb8f07e226 000
    POWERCFG -setacvalueindex 381b4222-f694-41f0-9685-ff5bb260df2e 501a4d13-42af-4429-9fd1-a8218c268e20 ee12f906-d277-404b-b6da-e5fa1a576df5 000
    POWERCFG -setacvalueindex 381b4222-f694-41f0-9685-ff5bb260df2e 54533251-82be-4824-96c1-47b60b740d00 893dee8e-2bef-41e0-89c6-b55d0929964c 100
  3. Exit Command Prompt.
Please let me know your findings and results.
I've removed the actual Bluetooth card (I never use Bluetooth - BTW It is a BCM92045NMD) and changing the WiFi card or driver will permanently fix this issue? (I forgot to update it)
Also I was playing 1080P Video on my X3100? GPU (I don't think it supports 1080P?) which would explain the high usage.

Could you recommend me a WiFi card I can get for less than £10 on eBay that supports Windows 8.1?

Dragons config https://drive.google.com/file/d/0B3-yyU44xFecaTNvRkpURlJDTVk/edit?usp=sharing
 
So removing the actual Bluetooth card (I never use Bluetooth) and changing the WiFi card or driver will permanently fix this issue? (I forgot to update it)
Also I was playing 1080P Video on my X3100? GPU (I don't think it supports 1080P?)

P.S. I have the following wireless cards:
BCM94311MCG
BCM94311MCGHP3 rev P2 (All Vista ERA)
Could you recommend me a WiFi card I can get for less than £10 on eBay that supports Windows 8.1?

Please try re-reading my previous post again. In short, no, replacing WiFi/Bluetooth cards on your computer will not solve the issue, since the issue is caused by a GPU, which doesn't support acceleration in Flash. You cannot play 1080p videos and expect them not to cause performance issues when all the load is going to CPU.

You can also try one more thing as a workaround (I'm not sure it will help, though):

  1. Right click on Dragon browser shortcut you have on your desktop/taskbar.
  2. Select Properties from the context menu.
  3. Edit Target line, suffixing it with --ignore-gpu-blacklist, e.g.:
    Code:
    [I]Target [/I][B]before [/B]modification: "C:\Program Files\Dragon\dragon.exe"
    [I]Target [/I][B]before [/B]modification: "C:\Program Files\Dragon\dragon.exe" --ignore-gpu-blacklist
  4. Click OK.
  5. Launch Dragon using this shortcut and try playing a video in Youtube.
 
So removing the actual Bluetooth card (I never use Bluetooth) and changing the WiFi card or driver will permanently fix this issue? (I forgot to update it)
Also I was playing 1080P Video on my X3100? GPU (I don't think it supports 1080P?)

P.S. I have the following wireless cards:
BCM94311MCG
BCM94311MCGHP3 rev P2 (All Vista ERA)
Could you recommend me a WiFi card I can get for less than £10 on eBay that supports Windows 8.1?

Please try re-reading my previous post again. In short, no, replacing WiFi/Bluetooth cards on your computer will not solve the issue, since the issue is caused by a GPU, which doesn't support acceleration in Flash. You cannot play 1080p videos and expect them not to cause performance issues when all the load is going to CPU.

You can also try one more thing as a workaround (I'm not sure it will help, though):

  1. Right click on Dragon browser shortcut you have on your desktop/taskbar.
  2. Select Properties from the context menu.
  3. Edit Target line, suffixing it with --ignore-gpu-blacklist, e.g.:
    Code:
    [I]Target [/I][B]before [/B]modification: "C:\Program Files\Dragon\dragon.exe"
    [I]Target [/I][B]before [/B]modification: "C:\Program Files\Dragon\dragon.exe" --ignore-gpu-blacklist
  4. Click OK.
  5. Launch Dragon using this shortcut and try playing a video in Youtube.
I did 1080P to load the PC (I normally use 480P which causes little if any CPU load) also dragon seems to only want to use Shockwave?
I was wondering what WiFi card in order to fix the ndis.sys DPC issue.

I guess it's best if I use it and see if audio stutter continues? (I've removed the Bluetooth module)
 
I did 1080P to load the PC (I normally use 480P which causes little if any CPU load) also dragon seems to only want to use Shockwave?
I was wondering what WiFi card in order to fix the ndis.sys DPC issue.

I guess it's best if I use it and see if audio stutter continues? (I've removed the Bluetooth module)

I'm not a hardware expert, so, unfortunately, I cannot recommend WiFi card to use.

  • If you close Dragon and use Internet Explorer to watch SD quality (480p) videos in YouTube, do you still have issues?
  • Have you run all the commands I provided earlier?
 
I did 1080P to load the PC (I normally use 480P which causes little if any CPU load) also dragon seems to only want to use Shockwave?
I was wondering what WiFi card in order to fix the ndis.sys DPC issue.

I guess it's best if I use it and see if audio stutter continues? (I've removed the Bluetooth module)

I'm not a hardware expert, so, unfortunately, I cannot recommend WiFi card to use.

  • If you close Dragon and use Internet Explorer to watch SD quality (480p) videos in YouTube, do you still have issues?
  • Have you run all the commands I provided earlier?
I will do some intensive testing tomorrow. Thank You for your help!
 
OK.

By the way, the Dragon GPU report you attached confirms my guesses:

Dragon GPU.png

The --ignore-gpu-blacklist switch I suggested earlier or the most recent drivers (if such exist) might help improving video playback performance.
 
OK.

By the way, the Dragon GPU report you attached confirms my guesses:

View attachment 7251

The --ignore-gpu-blacklist switch I suggested earlier or the most recent drivers (if such exist) might help improving video playback performance.
Newer drivers don't exist and the ignore GPU blacklist fully disables the GPU acceleration of the entire browser!
Also would you know how to download the driver from ATHEROS Wireless drivers for Windows as it has a tick for Windows 8.
 
Newer drivers don't exist and the ignore GPU blacklist fully disables the GPU acceleration of the entire browser!
What about using Internet Explorer?

Also would you know how to download the driver from ATHEROS Wireless drivers for Windows as it has a tick for Windows 8.
I already provided that link in one of my first posts - Drivers for Atheros AR9285 and Windows 8.
I'll think about switching browser (I have 3 computers and chrome is great for sync)
I downloaded the driver, used athwb.inf and got a BSOD. All worked fine with athwbx.inf.
Now for more Xperf monitoring I guess?
 

Has Sysnative Forums helped you? Please consider donating to help us support the site!

Back
Top