High GPU usage on video playback
Reported by
sumon.ah...@gmail.com,
Jan 15 2018
|
|||||||||||
Issue descriptionUserAgent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.132 Safari/537.36 Example URL: https://www.twitch.tv/videos/218282245 Steps to reproduce the problem: 1. Go to the link: https://www.twitch.tv/videos/218282245 2. Chrome should use only discrete GPU 3. It does not use HW acceleration properly.Seems like chrome always use double the GPU usage needed to be used.Chrome always copy its content to Desktop Window Manager resuling in unnecessary gpu usage. What is the expected behavior? Chrome should use hardware acceleration of descrete GPU What went wrong? Chrome is not using hardware acceleration properly.I do not see chrome using ,"Video Decoding"/"Video Processing" like edge. Did this work before? N/A Is it a problem with Flash or HTML5? HTML5 Does this work in other browsers? Yes Chrome version: 63.0.3239.132 Channel: stable OS Version: 10.0 Flash Version: Contents of chrome://gpu: Note: To properly save this page, select the "Webpage, Complete" option in the Save File dialog. Graphics Feature Status Canvas: Hardware accelerated CheckerImaging: Force enabled Flash: Hardware accelerated Flash Stage3D: Hardware accelerated Flash Stage3D Baseline profile: Hardware accelerated Compositing: Hardware accelerated Multiple Raster Threads: Enabled Native GpuMemoryBuffers: Software only. Hardware acceleration disabled Rasterization: Hardware accelerated Video Decode: Hardware accelerated Video Encode: Hardware accelerated WebGL: Hardware accelerated WebGL2: Hardware accelerated Problems Detected Native GpuMemoryBuffers have been disabled, either via about:flags or command line. Disabled Features: native_gpu_memory_buffers Version Information Data exported 1/15/2018, 7:55:05 PM Chrome version Chrome/63.0.3239.132 Operating system Windows NT 10.0.16299 Software rendering list version 13.13 Driver bug list version 0 ANGLE commit id 2ff870db3a3b 2D graphics backend Skia/63 dbae7001c9805fb0a4b18fd0cbc889941cb39db4- Command Line "C:\Program Files (x86)\Google\Chrome\Application\chrome.exe" --disable-gpu-sandbox --disable-gpu-driver-bug-workarounds --enable-accelerated-vpx-decode=0x1 --force-overlay-fullscreen-video --enable-hardware-overlays --enable-direct-composition-layers --flag-switches-begin --enable-checker-imaging --enable-zero-copy --force-color-profile=srgb --reduced-referrer-granularity --save-page-as-mhtml --enable-features=LoadingWithMojo --flag-switches-end Driver Information Initialization time 335 In-process GPU false Passthrough Command Decoder false Supports overlays true Sandboxed false GPU0 VENDOR = 0x8086, DEVICE= 0x191b GPU1 VENDOR = 0x10de, DEVICE= 0x139b *ACTIVE* Optimus false Optimus false AMD switchable false Desktop compositing Aero Glass Diagonal Monitor Size of \\.\DISPLAY1 15.6" Driver vendor Intel Corporation Driver version 23.20.16.4901 Driver date 12-18-2017 Pixel shader version 5.0 Vertex shader version 5.0 Max. MSAA samples 8 Machine model name Machine model version GL_VENDOR Google Inc. GL_RENDERER ANGLE (NVIDIA GeForce GTX 960M Direct3D11 vs_5_0 ps_5_0) GL_VERSION OpenGL ES 3.0 (ANGLE 2.1.0.2ff870db3a3b) GL_EXTENSIONS GL_ANGLE_client_arrays GL_ANGLE_depth_texture GL_ANGLE_framebuffer_blit GL_ANGLE_framebuffer_multisample GL_ANGLE_instanced_arrays GL_ANGLE_lossy_etc_decode GL_ANGLE_multiview 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_float 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_norm16 GL_EXT_texture_rg GL_EXT_texture_storage GL_EXT_unpack_subimage GL_KHR_debug 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_EGL_image_external_essl3 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 Disabled Extensions Window system binding vendor Google Inc. (adapter LUID: 000000000000a153) Window system binding version 1.4 (ANGLE 2.1.0.2ff870db3a3b) Window system binding extensions EGL_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_nv12 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 Direct rendering Yes Reset notification strategy 0x8252 GPU process crash count 0 Compositor Information Tile Update Mode Zero-copy Partial Raster Enabled GpuMemoryBuffers Status ATC Software only ATCIA Software only DXT1 Software only DXT5 Software only ETC1 Software only R_8 Software only R_16 Software only RG_88 Software only BGR_565 Software only RGBA_4444 Software only RGBX_8888 Software only RGBA_8888 Software only BGRX_8888 Software only BGRA_8888 Software only RGBA_F16 Software only YVU_420 Software only YUV_420_BIPLANAR Software only UYVY_422 Software only Display(s) Information Info Display[2528732444] bounds=0,0 1536x864, workarea=0,0 1536x834, scale=2.5, external Color space information {primaries:BT709, transfer:IEC61966_2_1, matrix:RGB, range:FULL, icc_profile_id:0} Bits per color component 8 Bits per pixel 24 Diagnostics 0 b3DAccelerationEnabled true b3DAccelerationExists true bAGPEnabled true bAGPExistenceValid true bAGPExists true bCanRenderWindow true bDDAccelerationEnabled true bDriverBeta false bDriverDebug false bDriverSigned false bDriverSignedValid false bNoHardware false dwBpp 32 dwDDIVersion 12 dwHeight 2160 dwRefreshRate 60 dwWHQLLevel 0 dwWidth 3840 iAdapter 0 lDriverSize 50409624 lMiniVddSize 0 szAGPStatusEnglish Enabled szAGPStatusLocalized Enabled szChipType Intel(R) HD Graphics Family szD3DStatusEnglish Enabled szD3DStatusLocalized Enabled szDACType Internal szDDIVersionEnglish 12 szDDIVersionLocalized 12 szDDStatusEnglish Enabled szDDStatusLocalized Enabled szDXVAHDEnglish Supported szDXVAModes ModeMPEG2_A ModeMPEG2_C ModeWMV9_C ModeVC1_C szDescription Intel(R) HD Graphics 530 szDeviceId 0x191B szDeviceIdentifier {D7B71E3E-50DB-11CF-E751-E92618C2DA35} szDeviceName \\.\DISPLAY1 szDisplayMemoryEnglish 8229 MB szDisplayMemoryLocalized 8229 MB szDisplayModeEnglish 3840 x 2160 (32 bit) (60Hz) szDisplayModeLocalized 3840 x 2160 (32 bit) (60Hz) szDriverAssemblyVersion 23.20.16.4901 szDriverAttributes Final Retail szDriverDateEnglish 18-Dec-17 6:00:00 AM szDriverDateLocalized 12/18/2017 06:00:00 szDriverLanguageEnglish English szDriverLanguageLocalized English szDriverModelEnglish WDDM 2.1 szDriverModelLocalized WDDM 2.1 szDriverName C:\WINDOWS\System32\DriverStore\FileRepository\igdlh64.inf_amd64_daa5fd44d52a5762\igdumdim64.dll,C:\WINDOWS\System32\DriverStore\FileRepository\igdlh64.inf_amd64_daa5fd44d52a5762\igd10iumd64.dll,C:\WINDOWS\System32\DriverStore\FileRepository\igdlh64.inf_amd64_daa5fd44d52a5762\igd10iumd64.dll,C:\WINDOWS\System32\DriverStore\FileRepository\igdlh64.inf_amd64_daa5fd44d52a5762\igd12umd64.dll szDriverNodeStrongName oem9.inf:5f63e5340a14bf6c:iSKLD_w10_DS:23.20.16.4901:pci\ven_8086&dev_191b szDriverSignDate Unknown szDriverVersion 23.20.0016.4901 szKeyDeviceID Enum\PCI\VEN_8086&DEV_191B&SUBSYS_06E41028&REV_06 szKeyDeviceKey \Registry\Machine\System\CurrentControlSet\Control\Video\{66710D94-C4B1-11E7-8A53-806E6F6E6963}\0000 szManufacturer Intel Corporation szMiniVdd unknown szMiniVddDateEnglish Unknown szMiniVddDateLocalized unknown szMonitorMaxRes Unknown szMonitorName Generic PnP Monitor szNotesEnglish No problems found. szNotesLocalized No problems found. szOverlayEnglish Not Supported szRankOfInstalledDriver 00D12001 szRegHelpText Unknown szRevision Unknown szRevisionId 0x0006 szSubSysId 0x06E41028 szTestResultD3D7English Not run szTestResultD3D7Localized Not run szTestResultD3D8English Not run szTestResultD3D8Localized Not run szTestResultD3D9English Not run szTestResultD3D9Localized Not run szTestResultDDEnglish Not run szTestResultDDLocalized Not run szVdd unknown szVendorId 0x8086 1 b3DAccelerationEnabled true b3DAccelerationExists false bAGPEnabled true bAGPExistenceValid false bAGPExists false bCanRenderWindow false bDDAccelerationEnabled true bDriverBeta false bDriverDebug false bDriverSigned false bDriverSignedValid false bNoHardware false dwBpp 0 dwDDIVersion 0 dwHeight 0 dwRefreshRate 0 dwWHQLLevel 0 dwWidth 0 iAdapter 0 lDriverSize 927976 lMiniVddSize 0 szAGPStatusEnglish Enabled szAGPStatusLocalized Enabled szChipType GeForce GTX 960M szD3DStatusEnglish Not Available szD3DStatusLocalized Not Available szDACType Integrated RAMDAC szDDIVersionEnglish unknown szDDIVersionLocalized unknown szDDStatusEnglish Enabled szDDStatusLocalized Enabled szDXVAHDEnglish Unknown szDXVAModes Unknown szDescription NVIDIA GeForce GTX 960M szDeviceId 0x139B szDeviceIdentifier Unknown szDeviceName Unknown szDisplayMemoryEnglish Unknown szDisplayMemoryLocalized unknown szDisplayModeEnglish Unknown szDisplayModeLocalized unknown szDriverAssemblyVersion 23.21.13.8831 szDriverAttributes Final Retail szDriverDateEnglish 14-Nov-17 6:00:00 AM szDriverDateLocalized 11/14/2017 06:00:00 szDriverLanguageEnglish English szDriverLanguageLocalized English szDriverModelEnglish WDDM 2.3 szDriverModelLocalized WDDM 2.3 szDriverName C:\WINDOWS\System32\DriverStore\FileRepository\nvdmi.inf_amd64_06be2a2ddf160ea8\nvldumdx.dll,C:\WINDOWS\System32\DriverStore\FileRepository\nvdmi.inf_amd64_06be2a2ddf160ea8\nvldumdx.dll,C:\WINDOWS\System32\DriverStore\FileRepository\nvdmi.inf_amd64_06be2a2ddf160ea8\nvldumdx.dll,C:\WINDOWS\System32\DriverStore\FileRepository\nvdmi.inf_amd64_06be2a2ddf160ea8\nvldumdx.dll szDriverNodeStrongName oem20.inf:0f066de379c1b3f2:Section208:23.21.13.8831:pci\ven_10de&dev_139b&subsys_06e41028 szDriverSignDate Unknown szDriverVersion 23.21.0013.8831 szKeyDeviceID Enum\PCI\VEN_10DE&DEV_139B&SUBSYS_06E41028&REV_A2 szKeyDeviceKey Unknown szManufacturer NVIDIA szMiniVdd unknown szMiniVddDateEnglish Unknown szMiniVddDateLocalized unknown szMonitorMaxRes Unknown szMonitorName Unknown szNotesEnglish No problems found. szNotesLocalized No problems found. szOverlayEnglish Unknown szRankOfInstalledDriver 00D10001 szRegHelpText Unknown szRevision Unknown szRevisionId 0x00A2 szSubSysId 0x06E41028 szTestResultD3D7English Not run szTestResultD3D7Localized Not run szTestResultD3D8English Not run szTestResultD3D8Localized Not run szTestResultD3D9English Not run szTestResultD3D9Localized Not run szTestResultDDEnglish Not run szTestResultDDLocalized Not run szVdd unknown szVendorId 0x10DE Log Messages GpuProcessHostUIShim: The GPU process exited normally. Everything is okay. [8776:4064:0115/192313.182:ERROR:mf_helpers.cc(14)] : Error in dxva_video_decode_accelerator_win.cc on line 1615 [8776:4064:0115/192313.182:ERROR:mf_helpers.cc(14)] : Error in dxva_video_decode_accelerator_win.cc on line 694 [8776:4064:0115/192313.183:ERROR:gpu_video_decode_accelerator.cc(367)] : HW video decode not available for profile vp9 profile0 [8776:4064:0115/192442.943:ERROR:mf_helpers.cc(14)] : Error in dxva_video_decode_accelerator_win.cc on line 1615 [8776:4064:0115/192442.943:ERROR:mf_helpers.cc(14)] : Error in dxva_video_decode_accelerator_win.cc on line 694 [8776:4064:0115/192442.943:ERROR:gpu_video_decode_accelerator.cc(367)] : HW video decode not available for profile vp9 profile0 [8776:4064:0115/192653.189:ERROR:mf_helpers.cc(14)] : Error in dxva_video_decode_accelerator_win.cc on line 1615 [8776:4064:0115/192653.190:ERROR:mf_helpers.cc(14)] : Error in dxva_video_decode_accelerator_win.cc on line 694 [8776:4064:0115/192653.190:ERROR:gpu_video_decode_accelerator.cc(367)] : HW video decode not available for profile vp9 profile0 [8776:4064:0115/194555.748:ERROR:mf_helpers.cc(14)] : Error in dxva_video_decode_accelerator_win.cc on line 1615 [8776:4064:0115/194555.748:ERROR:mf_helpers.cc(14)] : Error in dxva_video_decode_accelerator_win.cc on line 694 [8776:4064:0115/194555.748:ERROR:gpu_video_decode_accelerator.cc(367)] : HW video decode not available for profile vp9 profile0 Please compare the 2 images.No matter which GPU i use,chrome always tries to copy its buffer back to DWM resulting in GPU overhead.I tried using Intel GPU/Discrete GPU.I also tried the *overlays* flags so chrome directly renders videos to Memory ,but seems like something is not working?
,
Jan 15 2018
,
Jan 19 2018
sumon.ahmed511@ Thanks for the issue. Tested this issue on Windows 10 on the latest Canary 65.0.3325.0 and Stable 63.0.3239.132 by following the below steps. 1. Launched Chrome and navigated to the given link https://www.twitch.tv/videos/218282245. 2. Launched Windows task Manager and cannot observe the option GPU engine to test this issue. Attached is the screen shot for reference. Below are the GPU details : Operating system : Windows NT 10.0.15063 GL_VENDOR : Google Inc. GL_RENDERER : ANGLE (NVIDIA NVS 315 Direct3D11 vs_5_0 ps_5_0) GL_VERSION : OpenGL ES 3.0 (ANGLE 2.1.0.2ff870db3a3b) Probably GPU Engine option may be seen on the latest version of Windows 10. Hence adding TE-NeedsTriageFromHYD label and requesting someone from In-house team to please look into this issue and help in further triaging. Thanks..
,
Jan 19 2018
@susanjun GPU tab is introduced in fall creators update.You can enable GPU monitoring in task manager by right clicking and ticking. Alternatively you can use other GPU monitoring utility like GPU-Z to monitor gpu usage.but Windows task manager gives you precise GPU usage categorized by process.
,
Jan 21 2018
why is this bug being abandoned like this? anyone wanna comment on this double gpu usage.
,
Jan 22 2018
Can you try Chrome canary 65.0.3317.0+? I recently updated our implementation there after some information from Microsoft came back, issue 728296 .
,
Jan 22 2018
looks like its even worse on canary.please look at screenshot.I've run with following flags: "C:\Users\tiger\AppData\Local\Google\Chrome SxS\Application\chrome.exe" --enable-hardware-overlays --enable-direct-composition-layers --enable-features=DirectCompositionUnderlays,DirectCompositionComplexOverlays --flag-switches-begin --enable-zero-copy --force-color-profile=srgb --flag-switches-end
,
Jan 22 2018
Chrome 63/canary 65 works works properly when the video is Fullscreen+ No player UI + the following flags are set: --enable-hardware-overlays --enable-direct-composition-layers Missing any of the above points results in High GPU usage for desktop manager and chrome(im talking about 40% each) when watching videos on youtube/twitch.
,
Jan 31 2018
anybody in composition team can take a look? BTW, I don't repro this bug on win10+65.0.3325.18
,
Jan 31 2018
Hmm, those flags should be on by default if your drivers aren't blacklisted. What does chrome://gpu say on Chrome Canary? +liberato
,
Jan 31 2018
Without those flags in canary, about:gpu reports Supports overlays false with those flags: Supports overlays true I've attached full gpu reports. And even with those flags , chrome use GPU video decode properly only when Video is Fullscreen+ no player ui/annotation.
,
Jan 31 2018
Hmm, your device supports direct composition so it means the overlays are still being disabled somewhere in this path: https://cs.chromium.org/chromium/src/gpu/ipc/service/direct_composition_surface_win.cc?l=94 I'm not sure why though.
,
Jan 31 2018
I'll create a debug build and share it with you tomorrow for testing which should let us know where in that path we're bailing out.
,
Jan 31 2018
@dalecue sure, i can test your build and give you report.also please note that its an Optimus device ( Intel HD 530+ GTX 960M) with latest driver from intel and nvidia. I usually use High performance(dGPU) for chrome but this behaviour is same even with iGPU.
,
Feb 2 2018
http://storage.googleapis.com/dalecurtis/chrome-display-logs.zip Run it from the command line with chrome.exe --user-data-dir=.data and then attach the output of chrome://gpu which should have the logs we need.
,
Feb 2 2018
,
Feb 2 2018
I've run it with nvidia and intel.looks like overlay supported by default with intel gpu.So i've run a twitch 1080p video on chrome with iGPU and edge.Chrome is using 70% GPU in total whereas edge is using 20%.Lots of extra overhear comes frfom DWM.
,
Feb 2 2018
Hmm interesting! With the nvidia card, the OS is telling us "DXGI_ERROR_DEVICE_REMOVED" when we try enumerate it's outputs - presumably because it's still trying to use enumerate the integrated graphics card. I'd expect we would be attempting direct composition with the discrete card. +sunnyps, angle folks for commentary on which device should be returned by gl::QueryD3D11DeviceObjectFromANGLE() when discrete gpu is forced.
,
Feb 5 2018
,
Feb 11 2018
Any update on this bug?
,
Mar 9 2018
@sunnyps: Could you please confirm is there any recent updates available on this issue? Thanks!!
,
Mar 15 2018
I need to look into this. Maybe all we need to do is enumerate outputs on all adapters instead of failing on the active adapter. It's possible this system uses the integrated GPU for scanout always. Still the error DXGI_ERROR_DEVICE_REMOVED doesn't make sense. I'm going to try reproducing this on a Razer Blade.
,
Mar 17 2018
I've run the chrome-display-log version in another laptop.i've attached the chrome://gpu report for both Intregated and dGPU output. System : HP Envy 15t Processor: core i7-4510u iGPU: Intel HD 4400 dGPU: Nvidia GTX 850M
,
Apr 10 2018
*bump*
,
Apr 18 2018
Got around to testing on a Razer Blade. The GPU we choose depends on the preferred GPU configured in Nvidia control panel, and the custom profile for chrome.exe if there is one. If I set discrete GPU as preferred (default on my system), the DXGI adapter says that overlays are not supported, but if I set integrated GPU as preferred, the DXGI adapter says (scaled) overlays are supported. I even tried enumerating all adapters, and all their outputs to check if overlays are supported on any output, and the answer is no when the Nvidia GPU is selected. Forcing overlays on lowers power usage for fullscreen because the video's layer skips DWM and flips directly to the display in that case. Without overlays, we blit the video to Chrome's backbuffer, and that has a cost. So from Chrome side we can solve this if we disregard the user's configuration, and choose integrated over discrete GPU. So I'm going to close this as WontFix, because of the workaround of using Nvidia control panel to choose integrated GPU for Chrome. The DXGI_ERROR_DEVICE_REMOVED is probably a red herring.
,
Apr 19 2018
@25 , Even with intregated GPU, why does not chrome skip DWM when not playing in fullscreen ? Is that normal by design? because i have seen different approach for Edge and Firefox.They both skip DWM GPU usage whether youtube is fullscreen or not. |
|||||||||||
►
Sign in to add a comment |
|||||||||||
Comment 1 by sumon.ah...@gmail.com
, Jan 15 20183.7 MB
3.7 MB View Download
2.1 MB
2.1 MB View Download