What's new

High DPC Latency

cwsink

Sysnative Staff, BSOD Kernel Dump Expert
Joined
Apr 3, 2017
Messages
275
Thank you for the new trace. The ISR durations, while not great from a recommended amount of time spent running point of view, are extremely flat. No spikes until the end but I think that was probably a side effect of the processing necessary when a trace is stopped. They are not supposed to go above 1 percent of the CPU processing but they were steadily between 1 and 2 percent. The DPC's actually look very good; never going above 6 percent which is the recommendation.

Does the computer seem to perform better than with the G210?
 

cwsink

Sysnative Staff, BSOD Kernel Dump Expert
Joined
Apr 3, 2017
Messages
275
The GT710 might have hardware decoder functionality that Edge makes better use of than does Chrome. You can open Task Manager and look at the GPU graph on the Performance tab to see which is using the video decoder engine on the GPU and how much it might be getting used.
 

Josue Torres

Active member
Joined
Nov 6, 2018
Messages
34
This is a screenshot while watching a youtube video on chrome.
1.PNG
This is a screenshot while watching the same youtube video on Edge.
2.PNG
 

cwsink

Sysnative Staff, BSOD Kernel Dump Expert
Joined
Apr 3, 2017
Messages
275
The screenshots suggest Chrome isn't using the GPU's hardware decoder while Edge is using it. If you do search for "chrome enable hardware acceleration" you should find pages explaining how to toggle it on and off in Chrome - assuming Chrome can actually use a GT710's video decoder hardware. Chrome has a reputation for being a memory hog but I'd still try enabling it. It shouldn't make it worse, anyway.
 
Last edited:

Josue Torres

Active member
Joined
Nov 6, 2018
Messages
34
"Hardware acceleration when available" was enabled in Chrome advanced settings, but it was not on chrome://flags "Override software rendering list", so I enabled it and relaunched chrome but it is still having audio issues. And I don't see the video decode being used in task manage by the GPU
 

Josue Torres

Active member
Joined
Nov 6, 2018
Messages
34
I don't know if this helps.

[h=3]Graphics Feature Status[/h]
  • Canvas: Hardware accelerated
  • Flash: Hardware accelerated
  • Flash Stage3D: Hardware accelerated
  • Flash Stage3D Baseline profile: Hardware accelerated
  • Compositing: Hardware accelerated
  • Multiple Raster Threads: Disabled
  • Native GpuMemoryBuffers: Software only. Hardware acceleration disabled
  • Out-of-process Rasterization: Disabled
  • Hardware Protected Video Decode: Hardware accelerated
  • Rasterization: Hardware accelerated
  • Skia Deferred Display List: Disabled
  • Skia Renderer: Disabled
  • Surface Synchronization: Enabled
  • Video Decode: Hardware accelerated
  • Viz Service Display Compositor: Disabled
  • WebGL: Hardware accelerated
  • WebGL2: Hardware accelerated

[h=3]Driver Bug Workarounds[/h]
  • clear_uniforms_before_first_program_use
  • decode_encode_srgb_for_generatemipmap
  • disable_delayed_copy_nv12
  • disable_discard_framebuffer
  • disable_framebuffer_cmaa
  • exit_on_context_lost
  • force_cube_complete
  • scalarize_vec_and_mat_constructor_args
  • disabled_extension_GL_KHR_blend_equation_advanced
  • disabled_extension_GL_KHR_blend_equation_advanced_coherent

[h=3]Problems Detected[/h]
  • Some drivers are unable to reset the D3D device in the GPU process sandbox
    Applied Workarounds: exit_on_context_lost
  • Clear uniforms before first program use on all platforms: 124764, 349137
    Applied Workarounds: clear_uniforms_before_first_program_use
  • Always rewrite vec/mat constructors to be consistent: 398694
    Applied Workarounds: scalarize_vec_and_mat_constructor_args
  • ANGLE crash on glReadPixels from incomplete cube map texture: 518889
    Applied Workarounds: force_cube_complete
  • Framebuffer discarding can hurt performance on non-tilers: 570897
    Applied Workarounds: disable_discard_framebuffer
  • Use GL_INTEL_framebuffer_CMAA on ChromeOS: 535198
    Applied Workarounds: disable_framebuffer_cmaa
  • Disable KHR_blend_equation_advanced until cc shaders are updated: 661715
    Applied Workarounds: disable(GL_KHR_blend_equation_advanced), disable(GL_KHR_blend_equation_advanced_coherent)
  • Decode and Encode before generateMipmap for srgb format textures on Windows: 634519
    Applied Workarounds: decode_encode_srgb_for_generatemipmap
  • Delayed copy NV12 displays incorrect colors on NVIDIA drivers.: 728670
    Applied Workarounds: disable_delayed_copy_nv12
  • Raster is using a single thread.
    Disabled Features: multiple_raster_threads
  • Native GpuMemoryBuffers have been disabled, either via about:flags or command line.
    Disabled Features: native_gpu_memory_buffers
  • Viz service display compositor is not enabled by default.
    Disabled Features: viz_display_compositor
  • Skia renderer is not used by default.
    Disabled Features: skia_renderer
  • Skia deferred display list is not used by default.
    Disabled Features: skia_deferred_display_list

[h=3]Version Information[/h]
Data exported2018-11-17T00:46:07.007Z
Chrome versionChrome/70.0.3538.102
Operating systemWindows NT 10.0.17134
Software rendering list URLhttps://chromium.googlesource.com/chromium/src/+/4bbeebac88fdc09c97265e47c205868bbd190497/gpu/config/software_rendering_list.json
Driver bug list URLhttps://chromium.googlesource.com/chromium/src/+/4bbeebac88fdc09c97265e47c205868bbd190497/gpu/config/gpu_driver_bug_list.json
ANGLE commit id05c729f336ef
2D graphics backendSkia/70 8adc53ec0ee4bbafbd9925024df38437c0fcf88a-
Command Line"C:\Program Files (x86)\Google\Chrome\Application\chrome.exe" --flag-switches-begin --ignore-gpu-blacklist --flag-switches-end



[h=3]Driver Information[/h]
Initialization time798
In-process GPUfalse
Passthrough Command Decoderfalse
Sandboxedtrue
GPU0VENDOR = 0x10de [Google Inc.], DEVICE= 0x128b [ANGLE (NVIDIA GeForce GT 710 Direct3D11 vs_5_0 ps_5_0)] *ACTIVE*
Optimusfalse
AMD switchablefalse
Desktop compositingAero Glass
Direct Compositiontrue
Supports overlaysfalse
Overlay capabilities

Diagonal Monitor Size of \\.\DISPLAY120.1"
Driver D3D12 feature levelNot supported
Driver Vulkan API versionVulkan API 1.1.0
Driver vendorNVIDIA
Driver version416.94
Driver date11-12-2018
GPU CUDA compute capability major version3
Pixel shader version5.0
Vertex shader version5.0
Max. MSAA samples8
Machine model name
Machine model version
GL_VENDORGoogle Inc.
GL_RENDERERANGLE (NVIDIA GeForce GT 710 Direct3D11 vs_5_0 ps_5_0)
GL_VERSIONOpenGL ES 2.0 (ANGLE 2.1.0.05c729f336ef)
GL_EXTENSIONSGL_ANGLE_client_arrays GL_ANGLE_depth_texture GL_ANGLE_explicit_context GL_ANGLE_explicit_context_gles1 GL_ANGLE_framebuffer_blit GL_ANGLE_framebuffer_multisample GL_ANGLE_instanced_arrays GL_ANGLE_lossy_etc_decode GL_ANGLE_pack_reverse_row_order GL_ANGLE_program_cache_control GL_ANGLE_request_extension GL_ANGLE_robust_client_memory GL_ANGLE_texture_compression_dxt3 GL_ANGLE_texture_compression_dxt5 GL_ANGLE_texture_usage GL_ANGLE_translated_shader_source GL_CHROMIUM_bind_generates_resource GL_CHROMIUM_bind_uniform_location GL_CHROMIUM_color_buffer_float_rgb GL_CHROMIUM_color_buffer_float_rgba GL_CHROMIUM_copy_compressed_texture GL_CHROMIUM_copy_texture GL_CHROMIUM_sync_query GL_EXT_blend_minmax GL_EXT_color_buffer_half_float GL_EXT_debug_marker GL_EXT_discard_framebuffer GL_EXT_disjoint_timer_query GL_EXT_draw_buffers GL_EXT_frag_depth GL_EXT_map_buffer_range GL_EXT_occlusion_query_boolean GL_EXT_read_format_bgra GL_EXT_robustness GL_EXT_sRGB GL_EXT_shader_texture_lod GL_EXT_texture_compression_dxt1 GL_EXT_texture_compression_s3tc_srgb GL_EXT_texture_filter_anisotropic GL_EXT_texture_format_BGRA8888 GL_EXT_texture_rg GL_EXT_texture_storage GL_EXT_unpack_subimage GL_KHR_debug GL_KHR_parallel_shader_compile GL_NV_EGL_stream_consumer_external GL_NV_fence GL_NV_pack_subimage GL_NV_pixel_buffer_object GL_OES_EGL_image GL_OES_EGL_image_external GL_OES_compressed_ETC1_RGB8_texture GL_OES_depth32 GL_OES_element_index_uint GL_OES_get_program_binary GL_OES_mapbuffer GL_OES_packed_depth_stencil GL_OES_rgb8_rgba8 GL_OES_standard_derivatives GL_OES_surfaceless_context GL_OES_texture_float GL_OES_texture_float_linear GL_OES_texture_half_float GL_OES_texture_half_float_linear GL_OES_texture_npot GL_OES_vertex_array_object OES_compressed_EAC_R11_signed_texture OES_compressed_EAC_R11_unsigned_texture OES_compressed_EAC_RG11_signed_texture OES_compressed_EAC_RG11_unsigned_texture OES_compressed_ETC2_RGB8_texture OES_compressed_ETC2_RGBA8_texture OES_compressed_ETC2_punchthroughA_RGBA8_texture OES_compressed_ETC2_punchthroughA_sRGB8_alpha_texture OES_compressed_ETC2_sRGB8_alpha8_texture OES_compressed_ETC2_sRGB8_texture
Disabled ExtensionsGL_KHR_blend_equation_advanced GL_KHR_blend_equation_advanced_coherent
Disabled WebGL Extensions
Window system binding vendorGoogle Inc. (adapter LUID: 0000000000008917)
Window system binding version1.4 (ANGLE 2.1.0.05c729f336ef)
Window system binding extensionsEGL_EXT_create_context_robustness EGL_ANGLE_d3d_share_handle_client_buffer EGL_ANGLE_d3d_texture_client_buffer EGL_ANGLE_surface_d3d_texture_2d_share_handle EGL_ANGLE_query_surface_pointer EGL_ANGLE_window_fixed_size EGL_ANGLE_keyed_mutex EGL_ANGLE_surface_orientation EGL_ANGLE_direct_composition EGL_NV_post_sub_buffer EGL_KHR_create_context EGL_EXT_device_query EGL_KHR_image EGL_KHR_image_base EGL_KHR_gl_texture_2D_image EGL_KHR_gl_texture_cubemap_image EGL_KHR_gl_renderbuffer_image EGL_KHR_get_all_proc_addresses EGL_KHR_stream EGL_KHR_stream_consumer_gltexture EGL_NV_stream_consumer_gltexture_yuv EGL_ANGLE_flexible_surface_compatibility EGL_ANGLE_stream_producer_d3d_texture EGL_ANGLE_create_context_webgl_compatibility EGL_CHROMIUM_create_context_bind_generates_resource EGL_CHROMIUM_sync_control EGL_EXT_pixel_format_float EGL_KHR_surfaceless_context EGL_ANGLE_display_texture_share_group EGL_ANGLE_create_context_client_arrays EGL_ANGLE_program_cache_control EGL_ANGLE_robust_resource_initialization EGL_ANGLE_create_context_extensions_enabled
Direct renderingYes
Reset notification strategy0x8252
GPU process crash count0



[h=3]Compositor Information[/h]
Tile Update ModeOne-copy
Partial RasterEnabled



[h=3]GpuMemoryBuffers Status[/h]
ATCSoftware only
ATCIASoftware only
DXT1Software only
DXT5Software only
ETC1Software only
R_8Software only
R_16Software only
RG_88Software only
BGR_565Software only
RGBA_4444Software only
RGBX_8888GPU_READ, SCANOUT
RGBA_8888GPU_READ, SCANOUT
BGRX_8888Software only
BGRX_1010102Software only
RGBX_1010102Software only
BGRA_8888Software only
RGBA_F16Software only
YVU_420Software only
YUV_420_BIPLANARSoftware only
UYVY_422Software only



[h=3]Display(s) Information[/h]
InfoDisplay[2528732444] bounds=[0,0 1680x1050], workarea=[0,0 1680x1010], scale=1, external.
Color space information{primaries_d50_referred: [[0.6469, 0.3373], [0.2889, 0.5932], [0.1478, 0.0912]], transfer:0.0132*x + 0.0000 if x < 0.0127 else (0.9712*x + 0.0308)**2.4990 + -0.0002, matrix:RGB, range:FULL}
Bits per color component8
Bits per pixel24



[h=3]Video Acceleration Information[/h]
Decode h264 baselineup to 4096x2304 pixels
Decode h264 baselineup to 2304x4096 pixels
Decode h264 mainup to 4096x2304 pixels
Decode h264 mainup to 2304x4096 pixels
Decode h264 highup to 4096x2304 pixels
Decode h264 highup to 2304x4096 pixels
Encode h264 baselineup to 3840x2176 pixels and/or 30.000 fps
Encode h264 mainup to 3840x2176 pixels and/or 30.000 fps
Encode h264 highup to 3840x2176 pixels and/or 30.000 fps



[h=3]Diagnostics[/h]
0
b3DAccelerationEnabledtrue
b3DAccelerationExiststrue
bAGPEnabledtrue
bAGPExistenceValidtrue
bAGPExiststrue
bCanRenderWindowtrue
bDDAccelerationEnabledtrue
bDriverBetafalse
bDriverDebugfalse
bDriverSignedfalse
bDriverSignedValidfalse
bNoHardwarefalse
dwBpp32
dwDDIVersion12
dwHeight1050
dwRefreshRate59
dwWHQLLevel0
dwWidth1680
iAdapter0
lDriverSize957800
lMiniVddSize0
szAGPStatusEnglishEnabled
szAGPStatusLocalizedEnabled
szChipTypeGeForce GT 710
szD3DStatusEnglishEnabled
szD3DStatusLocalizedEnabled
szDACTypeIntegrated RAMDAC
szDDIVersionEnglish12
szDDIVersionLocalized12
szDDStatusEnglishEnabled
szDDStatusLocalizedEnabled
szDXVAHDEnglishSupported
szDXVAModes
szDescriptionNVIDIA GeForce GT 710
szDeviceId0x128B
szDeviceIdentifier{D7B71E3E-51CB-11CF-4C71-9DAC1BC2D435}
szDeviceName\\.\DISPLAY1
szDisplayMemoryEnglish4022 MB
szDisplayMemoryLocalized4022 MB
szDisplayModeEnglish1680 x 1050 (32 bit) (59Hz)
szDisplayModeLocalized1680 x 1050 (32 bit) (59Hz)
szDriverAssemblyVersion25.21.14.1694
szDriverAttributesFinal Retail
szDriverDateEnglish11/11/2018 6:00:00 PM
szDriverDateLocalized11/11/2018 18:00:00
szDriverLanguageEnglishEnglish
szDriverLanguageLocalizedEnglish
szDriverModelEnglishWDDM 2.4
szDriverModelLocalizedWDDM 2.4
szDriverNameC:\WINDOWS\System32\DriverStore\FileRepository\nv_dispi.inf_amd64_6992f55a2cc4b209\nvldumdx.dll,C:\WINDOWS\System32\DriverStore\FileRepository\nv_dispi.inf_amd64_6992f55a2cc4b209\nvldumdx.dll,C:\WINDOWS\System32\DriverStore\FileRepository\nv_dispi.inf_amd64_6992f55a2cc4b209\nvldumdx.dll,C:\WINDOWS\System32\DriverStore\FileRepository\nv_dispi.inf_amd64_6992f55a2cc4b209\nvldumdx.dll
szDriverNodeStrongNameoem24.inf:0f066de3792a6302:Section008:25.21.14.1694:pci\ven_10de&dev_128b
szDriverSignDateUnknown
szDriverVersion25.21.0014.1694
szKeyDeviceIDEnum\PCI\VEN_10DE&DEV_128B&SUBSYS_8C931462&REV_A1
szKeyDeviceKey\Registry\Machine\System\CurrentControlSet\Control\Video\{DF7BA4EB-E7A0-11E8-84C5-0023AE67C52F}\0000
szManufacturerNVIDIA
szMiniVddunknown
szMiniVddDateEnglishUnknown
szMiniVddDateLocalizedunknown
szMonitorMaxResUnknown
szMonitorNameDell E2009W(Analog)
szNotesEnglishNo problems found.
szNotesLocalizedNo problems found.
szOverlayEnglishSupported
szRankOfInstalledDriver00D12001
szRegHelpTextUnknown
szRevisionUnknown
szRevisionId0x00A1
szSubSysId0x8C931462
szTestResultD3D7EnglishNot run
szTestResultD3D7LocalizedNot run
szTestResultD3D8EnglishNot run
szTestResultD3D8LocalizedNot run
szTestResultD3D9EnglishNot run
szTestResultD3D9LocalizedNot run
szTestResultDDEnglishNot run
szTestResultDDLocalizedNot run
szVddunknown
szVendorId0x10DE




[h=3]Log Messages[/h]
  • GpuProcessHostUIShim:
  • GpuProcessHostUIShim:
 

cwsink

Sysnative Staff, BSOD Kernel Dump Expert
Joined
Apr 3, 2017
Messages
275
Hmmm... well, it might be worth trying to force Chrome to use software rendering. When you uninstalled the Nvidia drivers and used the basic Microsoft VGA driver there were no audio problems so maybe Chrome has trouble figuring out how to properly use the video decoder on the GT710. It does look like it's using the GPU but the 3D engine instead of the video decoder. Software rendering will likely cause the CPU to get pegged to 100 percent usage, though.
 

Josue Torres

Active member
Joined
Nov 6, 2018
Messages
34
Is my CPU probably bottlenecking my GPU somehow? I don't know if this has anything to do but it just crossed my mind.
 

cwsink

Sysnative Staff, BSOD Kernel Dump Expert
Joined
Apr 3, 2017
Messages
275
I think it's safe to say your CPU would be the bottleneck generally but if Edge can play videos without causing audio glitches I would expect Chrome to be able to do so as well. I'd be focused on trying to find out if Chrome can be made to use the GPU's video decoder like Edge is and/or disabling Chrome extensions to see if they are causing performance problems.
 

Josue Torres

Active member
Joined
Nov 6, 2018
Messages
34
I can't seem to find anything else rather than activating the options I already activated. But making google chrome work fine wouldn't explain what is causing the audio glitches on spotify and the latency of dxgkrnl.sys.
 

cwsink

Sysnative Staff, BSOD Kernel Dump Expert
Joined
Apr 3, 2017
Messages
275
Do you get audio glitches when only running Spotify or do you need to be running other programs to trigger it?
 

cwsink

Sysnative Staff, BSOD Kernel Dump Expert
Joined
Apr 3, 2017
Messages
275
I won't be available for a few hours but if you could get a trace of the system having audio glitches with the minimal number of processes running I'll have a look later.
 

cwsink

Sysnative Staff, BSOD Kernel Dump Expert
Joined
Apr 3, 2017
Messages
275
I'm not sure I'm understanding your issue or perhaps I'm not communicating well. The latest trace shows Chrome running and it's using around 30 percent of the computer's CPU processing. For some reason, with the GT 710, Chrome is triggering graphics interrupts that are taking a very long time; almost 6 percent of the core on which the interrupt service routines are running. That's well above the 1 percent maximum they should take. When an ISR is running nothing else can run on that core (unless it's interrupted by an even higher priority interrupt) but no user code will be scheduled until it finishes and the CPU's IRQL drops to 0. That won't happen until pending ISRs and DPCs are finished. Any user threads playing audio will have to wait to be scheduled onto the CPU and if they have to wait longer than 5 milliseconds that could generate an audible audio glitch. Meaning Spotify, Chrome, Groove, etc. - any user process playing audio will have noticeable audio problems in that situation.

Edge is using around 1.19 percent when triggering graphics interrupts in the trace you provided earlier. That's not great but is apparently a short enough time to prevent user programs from having to wait 5 milliseconds so audio glitches won't be noticeable in user processes (Spotify, Chrome, Groove, etc.) I'm guessing that's because Edge seems to be able to use hardware video decoding. Now, I don't know what Chrome is doing in the traces you've provided but I've been assuming playing video. So what I'm hoping to see is a trace captured while audio glitches were occurring but not while using Chrome. My impression so far is that Chrome is hogging CPU resources for some reason while playing video. I'm getting the impression you can easily create audio glitches running Spotify but is that only while using Chrome?
 
Last edited:

Josue Torres

Active member
Joined
Nov 6, 2018
Messages
34
I guess Chrome no using the video decoder from the GPU is another problem.
Spotify alone doesn't cause any issue since I'm pretty sure it has a hardware acceleration feature. But if I'm listening music and scroll up and down in the processes tab in the Task manager, the audio glitches will happen, they will also happen if I scroll up and down in the Windows Explorer (For example scrolling inside the Program Files Folder). Here is a trace from me doing both things I just said.
general6.rar - Google Drive
 

cwsink

Sysnative Staff, BSOD Kernel Dump Expert
Joined
Apr 3, 2017
Messages
275
That's causing your interrupt service routine processing time to skyrocket for quite a few drivers. If you open Task Manager and watch the System interrupts process, how high does the CPU usage percentage for System interrupts go while you're triggering audio glitches in File Explorer?

It's fairly obvious the new GPU is causing very odd behavior and that it's mainly causing interrupt service routine processing time issues suggests to me either the card is defective or the new drivers for the GPU are trying to do much more in the ISRs than the older drivers do. I suppose to make sure we're comparing apples to apples to the extent possible we could try using the new GPU but with the same drivers used for the older GPU. Can you try uninstalling the latest drivers and installing the 342.01 drivers instead? Or is that something you've already tried?
 

Josue Torres

Active member
Joined
Nov 6, 2018
Messages
34
So I checked for the System Interrupts process and while triggering the audio glitches it went from 0.5% to a maximum of 13.7%. And while watching youtube videos it went up to around 8.5%. Is that possible? Aren't drivers different between products? I'm going to try and find those drivers I guess.
 

cwsink

Sysnative Staff, BSOD Kernel Dump Expert
Joined
Apr 3, 2017
Messages
275
Drivers run in kernel mode and they all have access to everything, believe it or not. They all have to follow very explicit rules and a single bug in driver code can cause all sorts of problems for a system. The thing is, I'm not sure there's a bug in a "code logic error" sense. The most consistent thing I see is dxgkrnl.sys interrupts taking much longer than they should; not always but really it should NEVER happen. So, say an interrupt service routine is called for a thread on core 0 to process a USB interrupt but before it can finish servicing that interrupt a higher priority interrupt from the GPU takes over core 0 but something (hardware fault or ISR tries to do too much work) hangs that core for a long time. The GPU interrupt AND the USB interrupt are stuck for at least that period of time. They can't be scheduled to another core after they've already been scheduled for core 0.

That will make the USB driver/device look like the possible problem as well as the GPU. However, none of this happens with the older GPU which suggests it's a problem with the new GPU. Is it a GPU hardware fault or the GPU driver ISR code trying to do too much? I don't know, which is why I'd want to try the older driver.

System interrupts really shouldn't go above 1 percent unless the system is extremely busy. Even then I'd be be worried about it taking more than 4 or 5 percent. It very much suggests a hardware problem.
 
Last edited:
Top