Chrome drops frames when Youtube Video is in full screen
Reported by
sreut...@gmail.com,
Oct 18 2017
|
|||||||||||||
Issue descriptionUserAgent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/62.0.3202.62 Safari/537.36 Example URL: https://youtu.be/F_rzFCASuB4 Steps to reproduce the problem: 1. Go to URL 2. Play video in normal view and select Stats for nerds and you see a few to none frames dropped 3. Put the video to full screen and after some seconds, video has hickups and you exprience extended frame drops What is the expected behavior? No Frame Drops when in full screen. (Edge and IE do NOT show this problem) What went wrong? I guess some code change in latest chrome, as I do not remember seeing the issue in previous versions. Did this work before? N/A Is it a problem with Flash or HTML5? HTML5 Does this work in other browsers? Yes Chrome version: 62.0.3202.62 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: Disabled 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 Rasterization: Software only, hardware acceleration unavailable Video Decode: Hardware accelerated Video Encode: Hardware accelerated WebGL: Hardware accelerated WebGL2: Hardware accelerated Driver Bug Workarounds clear_uniforms_before_first_program_use decode_encode_srgb_for_generatemipmap disable_delayed_copy_nv12 disable_discard_framebuffer disable_dxgi_zero_copy_video disable_framebuffer_cmaa exit_on_context_lost force_cube_complete scalarize_vec_and_mat_constructor_args texsubimage_faster_than_teximage Problems Detected GPU rasterization should only be enabled on NVIDIA and Intel DX11+, and AMD RX-R2 GPUs for now.: 643850 Disabled Features: gpu_rasterization Some drivers are unable to reset the D3D device in the GPU process sandbox Applied Workarounds: exit_on_context_lost TexSubImage is faster for full uploads on ANGLE Applied Workarounds: texsubimage_faster_than_teximage 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 Limited enabling of Chromium GL_INTEL_framebuffer_CMAA: 535198 Applied Workarounds: disable_framebuffer_cmaa Zero-copy NV12 video displays incorrect colors on NVIDIA drivers.: 635319 Applied Workarounds: disable_dxgi_zero_copy_video 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 Checker-imaging has been disabled via finch trial or the command line. Disabled Features: checker_imaging Version Information Data exported 18.10.2017, 14:27:41 Chrome version Chrome/62.0.3202.62 Operating system Windows NT 10.0.16299 Software rendering list version 13.12 Driver bug list version 10.30 ANGLE commit id e8ef2bc4bd01 2D graphics backend Skia/62 e74b41c6c84638d5a9ee6d254a715bcd9e17c603- Command Line "C:\Program Files (x86)\Google\Chrome\Application\chrome.exe" --flag-switches-begin --disable-quic --flag-switches-end Driver Information Initialization time 178 In-process GPU false Passthrough Command Decoder false Supports overlays false Sandboxed false GPU0 VENDOR = 0x10de, DEVICE= 0x10d8 Optimus false Optimus false AMD switchable false Desktop compositing Aero Glass Diagonal Monitor Size of \\.\DISPLAY1 21.5" Driver vendor NVIDIA Driver version 21.21.13.4201 Driver date 11-14-2016 Pixel shader version 4.1 Vertex shader version 4.1 Max. MSAA samples 8 Machine model name Machine model version GL_VENDOR Google Inc. GL_RENDERER ANGLE (NVIDIA NVS 300 Direct3D11 vs_4_1 ps_4_1) GL_VERSION OpenGL ES 3.0 (ANGLE 2.1.0.e8ef2bc4bd01) 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_pack_reverse_row_order GL_ANGLE_program_cache_control GL_ANGLE_request_extension GL_ANGLE_robust_client_memory GL_ANGLE_robust_resource_initialization 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 GL_KHR_blend_equation_advanced GL_KHR_blend_equation_advanced_coherent Window system binding vendor Google Inc. (adapter LUID: 0000000000005584) Window system binding version 1.4 (ANGLE 2.1.0.e8ef2bc4bd01) 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 Direct rendering Yes Reset notification strategy 0x8252 GPU process crash count 0 Compositor Information Tile Update Mode One-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 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 11 dwHeight 1080 dwRefreshRate 60 dwWHQLLevel 0 dwWidth 1920 iAdapter 0 lDriverSize 17722448 lMiniVddSize 0 szAGPStatusEnglish Enabled szAGPStatusLocalized Aktiviert szChipType NVS 300 szD3DStatusEnglish Enabled szD3DStatusLocalized Aktiviert szDACType Integrated RAMDAC szDDIVersionEnglish 11.1 szDDIVersionLocalized 11.1 szDDStatusEnglish Enabled szDDStatusLocalized Aktiviert szDXVAHDEnglish Supported szDXVAModes ModeMPEG2_A ModeMPEG2_C ModeVC1_C ModeWMV9_C szDescription NVIDIA NVS 300 szDeviceId 0x10D8 szDeviceIdentifier {D7B71E3E-5398-11CF-E563-6F2818C2D835} szDeviceName \\.\DISPLAY1 szDisplayMemoryEnglish 4043 MB szDisplayMemoryLocalized 4043 MB szDisplayModeEnglish 1920 x 1080 (32 bit) (60Hz) szDisplayModeLocalized 1920 x 1080 (32 bit) (60Hz) szDriverAssemblyVersion 21.21.13.4201 szDriverAttributes Final Retail szDriverDateEnglish 14.11.2016 02:00:00 szDriverDateLocalized 11/14/2016 02:00:00 szDriverLanguageEnglish English szDriverLanguageLocalized Englisch szDriverModelEnglish WDDM 1.2 szDriverModelLocalized WDDM 1.2 szDriverName nvd3dumx.dll,nvwgf2umx.dll,nvwgf2umx.dll szDriverNodeStrongName oem30.inf:0f066de3d56414cf:Section128:21.21.13.4201:pci\ven_10de&dev_10d8&subsys_0862103c szDriverSignDate Unknown szDriverVersion 21.21.0013.4201 szKeyDeviceID Enum\PCI\VEN_10DE&DEV_10D8&SUBSYS_0862103C&REV_A2 szKeyDeviceKey \Registry\Machine\System\CurrentControlSet\Control\Video\{A5E49C22-B3EE-11E7-B728-BEB7C6AA86E0}\0000 szManufacturer NVIDIA szMiniVdd Unbekannt szMiniVddDateEnglish Unknown szMiniVddDateLocalized Unbekannt szMonitorMaxRes Unknown szMonitorName Generic PnP Monitor szNotesEnglish No problems found. szNotesLocalized Es wurden keine Probleme gefunden. szOverlayEnglish Supported szRankOfInstalledDriver 00DA0001 szRegHelpText Unknown szRevision Unknown szRevisionId 0x00A2 szSubSysId 0x0862103C szTestResultD3D7English Not run szTestResultD3D7Localized Nicht ausgeführt szTestResultD3D8English Not run szTestResultD3D8Localized Nicht ausgeführt szTestResultD3D9English Not run szTestResultD3D9Localized Nicht ausgeführt szTestResultDDEnglish Not run szTestResultDDLocalized Nicht ausgeführt szVdd Unbekannt szVendorId 0x10DE Log Messages [9756:9760:1018/141438.401:ERROR:dxva_picture_buffer_win.cc(24)] : Error in dxva_picture_buffer_win.cc on line 826 [9756:8496:1018/141605.820:WARNING:angle_platform_impl.cc(51)] : rx::HLSLCompiler::compileToBinary(228): C:\fakepath(65,8-56): warning X3571: pow(f, e) will not work for negative f, use abs(f) or conditionally handle negative values if you expect them C:\fakepath(76,9-41): warning X3571: pow(f, e) will not work for negative f, use abs(f) or conditionally handle negative values if you expect them GpuProcessHostUIShim: The GPU process exited normally. Everything is okay. OS: Windows 10 Fall Creators Update Pro x64 GPU: Nvidia NVS 300
Showing comments 48 - 147
of 147
Older ›
,
Oct 27 2017
I don't know why most of the input data was missing from the trace but I managed to make sense of the trace anyway. The right-mouse press at 32.5 s seems to be the one that brought up the context menu because dwm and Chrome go from doing work every ~33 ms to every ~16 ms at that point. It's quite clear. The GPU process main thread is being throttled by dwm which is being blocked waiting for a packet to be processed. I think this works out to "comment #41 is correct", but now what? Note that the "CommandBufferService:PutChanged" task in the chrome trace maps to chrome_child.dll!gpu::CommandBufferService::Flush, which is on the GPU process wait stack below. So, the ETW data gives more information about exactly why that task takes so long. Here are more details of what I can see in the ETW trace: The GPU process main thread (chrome.exe (1172) 6016) is blocked, typically for ~31 ms (sometimes 100 ms!) on this call stack: chrome_child.dll!gpu::CommandBufferService::Flush chrome_child.dll!gpu::gles2::GLES2DecoderImpl::DoCommands chrome_child.dll!gpu::gles2::GLES2DecoderImpl::DoCommandsImpl<0> chrome_child.dll!gpu::gles2::GLES2DecoderImpl::HandleCopySubTextureCHROMIUM chrome_child.dll!gpu::gles2::GLES2DecoderImpl::HandlePostSubBufferCHROMIUM chrome_child.dll!gpu::PassThroughImageTransportSurface::PostSubBuffer chrome_child.dll!gpu::DirectCompositionSurfaceWin::SwapBuffers chrome_child.dll!gpu::DirectCompositionChildSurfaceWin::SwapBuffers chrome_child.dll!gpu::DirectCompositionChildSurfaceWin::ReleaseDrawTexture dxgi.dll!CDXGISwapChain::[IDXGISwapChain4]::Present1 dxgi.dll!CDXGISwapChain::PresentImpl dxgi.dll!CDXGISwapChain::PresentImplCore dxgi.dll!CDXGISwapChain::FlipPresentToDWM dxgi.dll!CFlipPresentToDWM<CDXGISwapChainWrapper>::FlipPresentCore d3d11.dll!NDXGI::CDevice::Present d3d11.dll!dxrt11::Direct3DSurface::Release igd10umd64.dll!<PDB not found> d3d11.dll!NDXGI::CDevice::PresentCB_PreWDDM2 d3d11.dll!NDXGI::CDevice::PresentCB win32u.dll!NtGdiDdDDIPresent ntoskrnl.exe!KiSystemServiceCopyEnd win32kbase.sys!NtGdiDdDDIPresent dxgkrnl.sys!DxgkPresent dxgkrnl.sys!DXGCONTEXT::Present dxgkrnl.sys!SubmitPresentHistoryTokenPreparation ntoskrnl.exe!KeWaitForSingleObject It is readied (allowed to run) by dwm.exe (1140) 2180 on this call stack. ntdll.dll!RtlUserThreadStart kernel32.dll!BaseThreadInitThunk dwmcore.dll!CConnection::RunCompositionThread dwmcore.dll!CPartitionVerticalBlankScheduler::ScheduleAndProcessFrame dwmcore.dll!CPartitionVerticalBlankScheduler::ProcessFrame dwmcore.dll!CCrossThreadComposition::PreRender win32u.dll!NtDCompositionBeginFrame ntoskrnl.exe!KiSystemServiceCopyEnd win32kbase.sys!NtDCompositionBeginFrame win32kbase.sys!DirectComposition::CConnection::BeginFrame win32kbase.sys!CTokenManager::ReleaseToFrameInternal win32kbase.sys!CTokenQueue::ReleaseTokensToFrame win32kbase.sys!CFlipToken::InFrame win32kbase.sys!CFlipToken::SignalGpuFenceAndPresentLimitSemaphore win32kbase.sys!CompositionSurfaceObject::SignalPresentLimitSemaphore win32kbase.sys!CFlipExBuffer::SignalPresentLimitSemaphore win32kbase.sys!SignalPresentLimitSemaphore ntoskrnl.exe!KeReleaseSemaphore Meanwhile that dwm thread waits three times: 1) It waits for a v-blank and is readied, after ~16 ms, by dxgmms1.sys!VidSchiProcessDpcVSyncCookie. 2) That thread decides that it isn't really ready so it waits for ~7-8 ms and is then readied by win32kbase.sys!CTokenManager::TokenThread, another dwm thread 3) The other thread is readied by dxgmms1.sys!VidSchiProcessDpcCompletedPacket (that thread slept for ~33 ms) 4) The original dwm thread then waits another ~8 ms is readied by dxgmms1.sys!VidSchiProcessDpcVSyncCookie, and then the cycle repeats So, we're getting v-blank messages at 60 fps, but we have to skip some of them because we're waiting on a packet. A present packet? A DMA packet? It's inside of dxgmms1.sys!VidSchiProcessDpcDmaPacket but I don't know what that really means. It's too bad the DXG data isn't showing up in the trace viewer - maybe that would clarify things. The trace contains much more information - more call stacks - but I tried to summarize to just the most salient details.
,
Oct 27 2017
re c#47, Yeah UIETW could not reg the shortcut so I had to improvise. I will check if u updated it tommorrow and run another trace (to file). PS : this issue kinda feels like the various reports of games running @ half fps in borderless fullscreen with 16299. We might have to wait for a MS CU... Still FF fullscreen implemntation is doing fine.
,
Oct 27 2017
Can you link to reports of games running @ half fps? It does sound related. Another trace would be nice, but is probably not crucial. I think I got what I need.
,
Oct 27 2017
New trace with GPU data (seems the new WPT did the trick) : https://drive.google.com/file/d/0B1i3CbzCy4bIVUpKa2l2Q1l3VWs/view?usp=sharing Interactions in .txt : - 0 to 5s - Starting the trace with video playin in fullscreen and frames dropping - 5 to end - left clicks to display context menu, framedrops stops, ending he trace. The only changes compared to trace#2 are the latest chrome stable rlz and new 388.10 nvidia drivers (but it shouldn't matter since chrome is using my Intel GPU) As for links related to fps issues in games with 16299 : https://forums.guru3d.com/threads/geforce-388-00-whql-game-ready-download-discussion.417491/page-5#post-5485232 https://forums.guru3d.com/threads/geforce-388-00-whql-game-ready-download-discussion.417491/page-4#post-5484864 https://answers.microsoft.com/en-us/windows/forum/games_windows_10/frame-rates-may-drop-on-some-directx-9-games-at/c7e47851-06bc-408a-a355-231a2c23181a?auth=1 And a bunch in https://forums.geforce.com/default/topic/1026749/geforce-drivers/window-10-fall-creators-update-feedback-thread-released-10-17-17-/
,
Oct 27 2017
Have you tried this solution from https://answers.microsoft.com/en-us/windows/forum/games_windows_10/frame-rates-may-drop-on-some-directx-9-games-at/c7e47851-06bc-408a-a355-231a2c23181a?auth=1: 1. From the Start Menu, right-click the affected app and select More > Open File Location. File Explorer will open to the app’s location. 2. In File Explorer, right-click the app and select Properties. 3. On the Compatibility tab, check the box to Disable fullscreen optimizations.
,
Oct 27 2017
As I said in c#39, I did. Frames ar still dropping. I also tried disabling win10 game bar and video optimisations in battery settings.
,
Oct 27 2017
It sounds like a GPU or Media person needs to take a look at our presentation stack for full-screen on Windows. +dansanders@, do you know who a good person to look at Windows media issues is? +vmiura@, do we have anyone looking at Windows GPU issues at the moment?
,
Oct 27 2017
TL;DR - can we enable triple-buffering when in full-screen mode for tomorrow's canary? Is this any easy thing to do? I looked at the latest trace with GPU information and it confirms our suspicions. Here's what we know: When playing full-screen video with no windows or menus in front the operating system "upgrades" our swap chain to display our buffers directly instead of copying them. This has been the case for a while, and it normally works smoothly. This can be seen in the latest trace (and on my *spring" Creators Update workstation) by noting that when there is no window or menu in front of the video then dwm uses no GPU time - it must be displaying the front buffer directly. Note that when this happens our buffer necessarily gets locked until the next frame is presented. When playing full-screen video with a window or menu in front the system can't display our buffer directly. Instead dwm copies it to the system back buffer, and presumably returns our buffer to us immediately. So, in the no-window/no-menu case our buffer is probably locked for ~16 ms longer. This probably cuts into our headroom for generating the next frame, but it works fine. Until now, on some machines. Now, in the no-window/no-menu case we are repeatedly blocking inside of chrome_child.dll!gpu::CommandBufferService::Flush, which calls gpu::DirectCompositionChildSurfaceWin::SwapBuffers (full stack above) for 33 ms at a time. We are readied by dwm. Clearly if dwm blocks our SwapBuffers call for 33 ms every time (yes, every time) then we can't possibly manage more than 30 fps. This appears to be a Microsoft bug (see https://answers.microsoft.com/en-us/windows/forum/games_windows_10/frame-rates-may-drop-on-some-directx-9-games-at/c7e47851-06bc-408a-a355-231a2c23181a?auth=1) or else the timing was perturbed. The most likely workaround is for us to use triple-buffering instead of double-buffering. I think we should switch to triple buffering in at least some cases (full screen?) to see if that solves the problem. In parallel we should follow up with Microsoft to see if they have any other suggestions and if they agree that this is a bug. It seems that SwapBuffers repeatedly taking 33 ms to return is necessarily an OS bug. It would be helpful if we could discover what it is that triggers this behavior on some Fall Creators Update machines but not all.
,
Oct 27 2017
Bruce, were you asking if you can enable triple buffering via a D3D11/DXGI feature, or were proposing we do this internally ourselves? FWIW the ANGLE team has one contact we correspond with at Microsoft who has been very good at relaying bug reports.
,
Oct 27 2017
I'm not totally sure what I'm asking but since the slowdowns happen because a buffer is being locked for 33 ms it seems that enabling triple buffering would probably work around this glitch. Asking for Microsoft help would be great. I can file a formal bug report but sometimes informal contacts are better at this stage in the investigation. I attached a GPUView screenshot from the latest trace, zoomed in around 4.1 s (the transition from slow to fast) with v-blanks enabled (F8 - the vertical blue lines). You can see the GPU work (black and blue squares) happening well in advance of the v-blanks, and yet the swap packets (diagonal grid rectangles) only happen every second frame. The GPU is doing more work in the 60 fps case, and yet it keeps up perfectly.
,
Oct 27 2017
Yes, this is very clearly a problem. It should be possible to choose to use triple buffering in ANGLE on D3D11/DXGI. I'm not sure how much work we would have to do manually to test this. See the docs here: https://msdn.microsoft.com/en-us/library/windows/desktop/hh404528(v=vs.85).aspx The BufferCount parameter allows us to select the number of swapchain buffers. EGL doesn't expose this, so if we decide we want to increase the buffer count, we'd either have to have that be the default or expose an ANGLE EGL extension to control the buffer count via an EGL config. I'll contact you offline about talking to our MS contact.
,
Oct 27 2017
,
Oct 30 2017
Any progress or news from MS ? On my end I tried the lastest WHQL nvidia driver (388.13 released today), same issue. Considering OP's gfx card (NVS300) and mine (Intel HD3000), I was suspecting some kind of weird bug involving Win10 CFU + old dx11 compatible gfx cards that are 10.1 features wise but I see ppl left and right posting issues kinda similar to ours and they prolly have newer hardware. https://forums.guru3d.com/threads/nvidia-geforce-388-13-whql-driver-download-discussion.417625/page-2#post-5487137 https://www.reddit.com/r/chrome/comments/79jlh0/bbc_iplayer_fullscreen_videos_stutter_after_the/ It seems MPC-HC, MadVR, LAV filters guys also got some issues with CFU but they got options/settings to go around (e.g. forcing copyback buffer AFAIK). Oh well...I'll report back after the next Win10 CFU critical update (14th of november prolly).
,
Oct 30 2017
No updates or news. Unfortunately progress may be slow at this point as we try to figure out exactly what is going on, and go back and forth with Microsoft. Thank you for the third trace. It is perfect. I'm glad that you were able to capture the GPU data (I did not know that having the latest WPT was required for that - you learn something every day). The input data also showed up, and the trace brief and to the point. I ended up focusing on the one second period around when you brought up the context menu, with the remaining seconds being useful padding to ensure that the patterns actually continue.
,
Nov 1 2017
Microsoft support is swamped so there may be delays in getting assistance, even through formal support channels
,
Nov 2 2017
#58: For DirectComposition, we create the swap chain in Chrome and don't use ANGLE for it: https://cs.chromium.org/chromium/src/gpu/ipc/service/direct_composition_child_surface_win.cc?l=115 So, we shouldn't need anything from ANGLE, I think.
,
Nov 3 2017
,
Nov 7 2017
We still can't reproduce this bug but we have some ideas on how to work around it. Can somebody who can reproduce this bug try running Chrome with a couple of extra switches. First: --in-process-gpu This should not affect the bug, it's just a necessary initial test to see if it affects the results with and without a context menu up. I would expect that with this switch the videos will still run at 60 fps with a context menu up and <30 fps without (when running full-screen). The next test should be this pair of switches: --disable-direct-composition --in-process-gpu The "--disable-direct-composition" switch is the one that I really want to test, but it is ignored if "--in-process-gpu" is not specified. I am hopeful that this pair of switches will avoid the bug, by disabling the direct composition path which appears to trigger the DWM bug.
,
Nov 7 2017
My chrome immediatly crashes with the --in-process-gpu switch (.dmp attached). I tried removing the couple flag switches I had (--enable-tab-audio-muting --trace-export-events-to-etw) to get the cleanest cmd line possible in chrome://gpu/(i.e. "C:\Program Files (x86)\Google\Chrome\Application\chrome.exe" --flag-switches-begin --flag-switches-end) but it still crashes. Suspecting my gpu (Intel HD 3000) I also tried ignoring the gpu blacklist to no avail.
,
Nov 7 2017
Oops. Yep, it looks like --in-process-gpu is not supported in the Chrome versions that we ship (it worked in my development build). We'll have to ship a canary version that supports --disable-direct-composition without requiring --in-process-gpu.
,
Nov 7 2017
Columbo's hat ON Browsing thru FF's bugtracker to see if I could find stuff related to sandybridge and video buffers, I stumbled upon this one : https://bugzilla.mozilla.org/show_bug.cgi?id=1405110 Bugfix, Win7 generalised later to all platforms : https://bugzilla.mozilla.org/show_bug.cgi?id=1409141 Dunno if our framedrop bug is related to this one but worth a look. Columbo's hat OFF
,
Nov 8 2017
,
Nov 8 2017
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/51709eb84ed3eeaa539acca01b3e199963991cec commit 51709eb84ed3eeaa539acca01b3e199963991cec Author: Bruce Dawson <brucedawson@chromium.org> Date: Wed Nov 08 19:47:25 2017 Propagate disable-direct-composition switch to GPU process The disable-direct-composition switch can be handy for working around bugs but it can currently only be set programmatically - the browser process doesn't propagate it to the GPU process. That fixes that in order to allow investigating a specific bug, but also future bugs. Bug: 775898 Cq-Include-Trybots: master.tryserver.chromium.android:android_optional_gpu_tests_rel;master.tryserver.chromium.linux:linux_optional_gpu_tests_rel;master.tryserver.chromium.mac:mac_optional_gpu_tests_rel;master.tryserver.chromium.win:win_optional_gpu_tests_rel Change-Id: I3c25d2b8b5718cf8c9c5328933ba67e49c66d03a Reviewed-on: https://chromium-review.googlesource.com/756963 Commit-Queue: Antoine Labour <piman@chromium.org> Reviewed-by: Antoine Labour <piman@chromium.org> Reviewed-by: Sunny Sachanandani <sunnyps@chromium.org> Cr-Commit-Position: refs/heads/master@{#514912} [modify] https://crrev.com/51709eb84ed3eeaa539acca01b3e199963991cec/ui/gl/gl_switches.cc
,
Nov 8 2017
The FF bug doesn't look related, I don't think. The change referenced in comment #70 means that --disable-direct-composition now works (no need to try using --in-process-gpu). Our belief is that --disable-direct-composition should avoid the problem - it should allow 60 fps video in full-screen without frame drops (at the cost of slightly more power consumption). If you can test with tomorrow's canary (whatever version comes after 64.0.3262.0) that would help guide our efforts.
,
Nov 8 2017
Partial BUGFIX FOUND ! At least I think... --disable_d3d11 switch TLDR : disabling the directX11 path (--disable_d3d11 switch) fixes the weird dropped frames (30fps/60fps) bug in fullscreen with win10 CFU and SandyBridge CPU/GPU, a bug probably introduced by Issue 755722 bugfix. https://bugs.chromium.org/p/chromium/issues/detail?id=755722 Detailed explanation : this bug SEEMS to be a side-effect of re-enabling D3D11 path on Win/AMD switchable machines with drivers released after 2016-06. Video playback regressions were expected on some systems by kbr@chromium.org. Considering this fix has been introduced in Chrome 62.0 (rlz 10/17/2017), I don't know if it's Win10 CFU fullscreen mode or Chrome related. Proposed temporary fix : inplementing D3D11 path blacklisting for Intel SandyBridge Driver <= than 05/19/2016 (latest Win10 Windows Updats HD3000 driver 9.17.10.4459). Con : D3D9 is slower. Pro : fullscreen framerate is fixed. Long term fix proposal : considering FF manages to use the D3D11 path without issues, finding out WTH is going on in chromium (adding intermediary buffer ?) or detecting & forcing D3D9 path on sandybridge+Intel GPU systems combo (while maintaining D3D11 path for Win/AMD swichtable machines).
,
Nov 8 2017
+kbr for that change.
,
Nov 9 2017
dalecurtis@: let's see whether brucedawson@'s change to allow testing of --disable-direct-composition has an effect. Falling back to D3D9 is probably doing that as a side-effect. We would rather not disable the D3D11 code path again, as the D3D9 path is not our primary focus and has been seen to have various correctness issues on some web pages.
,
Nov 9 2017
Ok gonna test --disable-direct-composition switch on tmrw canary build and will report back as soon as I can. PS : AFAIK sandybridge is also the CPU/GPU of a bunch of 2011-2013 Mac products. Considering only Win users reported this issue, old Intel/Nvidia Win drivers and/or WIn CFU must be to blame. Blacklisting D3D11 code path of Intel GPU using driver version (and not driver date) should do the trick without impacting AMD switchable systems, I think. PPS : as expected, the --disable_d3d11 switch also fixes the framedrop issue in Opera 49.0.2725.34.
,
Nov 9 2017
--disable-direct-composition switch does fix the issue with Canary 64.0.3263.0 Without the switch, frames are still dropping in fullscreen mode. Canary Chrome GPU : see attachement YT video used : https://www.youtube.com/watch?v=BmTtHEe2GuY
,
Nov 9 2017
Can you also try --disable-direct-composition-overlays (without --disable-direct-composition)?
,
Nov 9 2017
Do you mean "disable-direct-composition-layers"? That flag was tried already, although with a different syntax: --enable-features=disable-direct-composition-layers There is no disable-direct-composition-overlays flag :-(
,
Nov 9 2017
This one: https://cs.chromium.org/chromium/src/ui/gl/gl_switches.cc?l=114 It controls whether we use child surfaces for hardware decoded video.
,
Nov 9 2017
Canary 64.0.3263.0 without any switch == dropped frames --disable-direct-composition == framerate issue FIXED --disable-direct-composition-overlays == dropped frames --enable-features=disable-direct-composition-layers == dropped frames --disable-direct-composition-layers == dropped frames
,
Nov 14 2017
Latest Win10 CFU Cumulative update (16299.64) did not fix the issue. :/ Dunno what u guys are planning. Reintroducing D3D11 blacklisting ? A direct-composition workaround ? If it's Win10 CFU and/or IntelHD3000 driver related, I doubt MS and Intel will do something tbh.
,
Nov 14 2017
In the past I've had some luck dealing with a similar issue of low frame rate on non-fullscreen apps on Nvidia GPU by disabling Windows fast startup. Steps can be found here: https://www.howtogeek.com/243901/the-pros-and-cons-of-windows-10s-fast-startup-mode/ Can you try that, restart your PC, and let us know if that fixes your problem? Please test without any extra Chrome flags.
,
Nov 14 2017
Already tried toggling fastboot (I'm running with fastboot OFF atm), it did not help. I also tried playing with Intel HD3000 PCI Express power plans and quality slider, Nvidia's settings etc. Guess I'll have to move on.
,
Nov 14 2017
Bruce, you seem to be driving most of the efforts here, so assigning to you for tracking. Is there anything we can do for the upcoming M63 launch to resolve this?
,
Nov 14 2017
We could merge crrev.com/c/756963 to M63 so that --disable-direct-composition will be an effective workaround in M63. But we really need an actual fix. I have an experimental CL that turns on triple buffering (crrev.com/c/769671) but I don't know if it really works. And, while Microsoft has informally suggested that we should use triple buffering with direct composition always they have not followed through with an explanation or said that this is an official requirement, so our graphics experts seem to be unwilling to always use triple buffering. This means that we need GPU detection code, assuming that we know which GPUs trigger the issue. I haven't worked with the GPU detection code so advice would be appreciated.
,
Nov 14 2017
@vmiura can you help connect/advise Bruce here?
,
Nov 14 2017
I can help. To add GPU-specific code, add an entry to: src/gpu/config/gpu_driver_bug_workaround_type.h and reference it from an appropriately structured entry in: src/gpu/config/gpu_driver_bug_list.json Then code in various places can reference that workaround. A recent CL introducing a new driver bug workaround (since reverted, since it didn't work) was https://chromium-review.googlesource.com/750327 .
,
Nov 15 2017
Isn't it easier to disable direct composition for the affected hardware instead? Triple buffering means one more code path to maintain. So far there are two reports: #0 with Nvidia NVS 300 GPU and #21 with Intel HD 3000 and Nvidia GT555M Optimus. That's way too few reports to draw conclusions about how widespread this is. One thing I'm confused about in the original report: it says the GPU is NVS 300 which is a 2006 era GPU with D3D9 support. Do you know why chrome://gpu in #0 says ANGLE is using D3D11?
,
Nov 15 2017
AFAIK HD3000, Nvidia GT555M and Nvidia NVS 300 are all 2011 era products with D3D 10.1 features support at launch : https://www.techpowerup.com/gpudb/1257/hd-graphics-3000 https://www.techpowerup.com/gpudb/1955/geforce-gt-555m https://www.techpowerup.com/gpudb/1452/nvs-300 On my laptop, GPU-Z reports the HD3000 as DirectX 10.1 features compliant and the GT555 as 11.0. (same as nvidia control panel system stats, 11_0 features, 11.2 API)
,
Nov 15 2017
As regards the HD3000, an "easier" fix would be to extend the disable_d3d11 workaround to driver older or equal to 9.17.10.4459 (mine atm from windows update) in gpu_driver_bug_list.json.
An even safer fix would be to use the device_id (VENDOR = 0x8086, DEVICE= 0x0116).
From gpu_driver_bug_list.json :
{
"id": 92,
"description": "Old Intel drivers cannot reliably support D3D11",
"cr_bugs": [363721],
"os": {
"type": "win"
},
"vendor_id": "0x8086",
"driver_version": {
"op": "<",
"value": "8.16"
},
"features": [
"disable_d3d11"
]
},
,
Nov 16 2017
Found something new : long story short, running chrome in Windows 8 compatibility mode fixes the issue (without the --disable-direct-composition switch).
In my case, the Intel driver is probably to blame and/or some weird Win10/Nvidia/Intel combo of driver mess. Only the Arrendale CPU/GPU gen was announced "incompatible" with win10 CFU thou, not the Sandybridge gen. oConsidering OP's issue was with a single NVS 300, I think the underlying issue is "old" gfx drivers and latest win10 fullscreen management.
I don't know what running in Win8 compatibility mode means chrome wise (does it disable direct compose ? use the dx9 path ?) and if some flags or blacklist rules based on driver version could reproduce its behavior.
My recent tests :
- Digging around geforce forums I've found recent reports (09 and 10-2017) of ppl experiencing apps such as geforce experience or chrome showing all black screen when launched (win10). It reminded me of an unresolved bugreport in this very tracker (chrome would start with a black screen when using the nvidia card on an optimus setup).
- The "fix" proposed on the geforce forum was to run these apps in win8 mode or rolling back the latest Intel driver pushed by windows update.
- I've installed the geforce experience app to check if I was experiencing the same bug. I did ;
- I tried running chrome in Win8 compatibility mode without any flag or switch and I was no longer dropping half of the frames in fullscreen @1080p60 on YT (about 1,4 % instead of 50 %) ;
- I tried rolling back my intel HD3000 driver to the latest version proposed by Intel website (15.28.24.64.4229, 06/2015 i.e. one year older than my current 9.17.10.4459 pushed by windows update). Black screen in geforce experience and half of the frames still dropping in fullscreen @1080p60 on YT. Win8 compatibility mode fixes the issue.
ATM I'm running geforce driver 388.31 and went back to the latest windows update Intel HD3000 driver 9.17.10.4459 I was using in my trace. I think I'm done testing stuff. I'll run chrome in win8 mode or switch to FF (doesn't drop frames nor need win8 compatibility mode) until MS/Intel/Nvidia get their xxit together or u guys find a workaround.
Some linkks :
- A bugreport with symptoms and fixes that look a lot like ours : https://bugs.chromium.org/p/chromium/issues/detail?id=724026
- Blackscreen issue in chrome : https://forums.geforce.com/default/topic/1025457/geforce-experience/geforce-experience-black-screen/post/5220160/#5220160
- Win 8 compatibility mode fix : https://forums.geforce.com/default/topic/1024910/geforce-experience/geforce-experience-black-screen-and-nvidia-icon-taskbar/post/5216159/#5216159
- Intel driver rollback fix (that did not work for my hd3000) : https://forums.geforce.com/default/topic/1025457/geforce-experience/geforce-experience-black-screen/post/5220286/#5220286
,
Nov 17 2017
I can confirm that running Chrome in Windows 8 mode fixes also the problem for my Nvidia NVS300.
,
Nov 17 2017
Win8 mode triggers additional driver workarounds in chrome://gpu : disable_delayed_copy_nv12 disable_direct_composition disable_dxgi_zero_copy_video
,
Nov 21 2017
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/fbbf434ba94f5e150b0dfc1b830f7829f0e4e177 commit fbbf434ba94f5e150b0dfc1b830f7829f0e4e177 Author: Sunny Sachanandani <sunnyps@chromium.org> Date: Tue Nov 21 06:02:11 2017 gpu: Blacklist direct composition on older GPUs. Older Intel and Nvidia GPUs either cause slow presents or black flashes with direct composition. Blacklist only those devices which have been reported to have issues. R=kbr BUG=775898,785648 Cq-Include-Trybots: master.tryserver.chromium.android:android_optional_gpu_tests_rel;master.tryserver.chromium.linux:linux_optional_gpu_tests_rel;master.tryserver.chromium.mac:mac_optional_gpu_tests_rel Change-Id: I506df99854d7d0d464cea9d0a83336429eeefd4d Reviewed-on: https://chromium-review.googlesource.com/777854 Commit-Queue: Kenneth Russell <kbr@chromium.org> Reviewed-by: Kenneth Russell <kbr@chromium.org> Cr-Commit-Position: refs/heads/master@{#518146} [modify] https://crrev.com/fbbf434ba94f5e150b0dfc1b830f7829f0e4e177/gpu/config/gpu_driver_bug_list.json
,
Nov 21 2017
issue 787217 shows some similar issues (or at least benefitted from some of the workarounds mentioned in this page) with a user on a 1070 and up to date drivers, see c#8. +oetuaho,amalp from nvidia in case there's something they see that is fixable in driver updates / conversations with msft.
,
Nov 21 2017
Doh, somehow messed up cc.
,
Nov 22 2017
i have intel hd4000 and nvidia gt620m switchable graphics card and i have the issue. os: windows 10 x64 with fall creators update chrome stable is not affacted with this issue but dev and canary versions are tried these flags but not worked --disable-direct-composition --disable-d3d11
,
Nov 22 2017
Regarding comment #98 - did you try --disable-direct-composition with canary? That switch doesn't work in the other versions. The change landed in comment#94 *should* make canary (as of today) work without requiring any switches. Can all who reported the issue gives this a try if possible and report back? It would be helpful to include what GPU(s) you have in your reply to make it easier to track where the latest fix is or isn't working. Thanks.
,
Nov 23 2017
It seems the fix has not been added to 64.0.3276.0 either. Frames still dropping in fullscreen and no mention ot the fix in Driver Bug workarounds nor Problesm detected. The --disable-direct-composition flag switch still works thou. Intel HD 3000 Nvidia Geforce GT 555M
,
Nov 23 2017
Mmmm kinda weird, I've just checked 64.0.3276.0's "gpu_driver_bug_list.json" and the bugfix for my GPU is listed (id 248). Something must be interfering with it.
,
Nov 24 2017
Same thing in 64.0.3277.0 : "disable_direct_composition" feature is not triggered. Considering "msaa_is_slow" (id 132) does trigger and is based on the same vendor_id (0x8086), maybe id 248 bugfix also needs the "multi_gpu_category": "active" argument ?
,
Nov 27 2017
The new additions were tagged as type "windows" instead of "win". I'll upload a CL to fix that.
,
Nov 29 2017
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/138492abcdb3e0d9369f25868fff4b9dababf915 commit 138492abcdb3e0d9369f25868fff4b9dababf915 Author: Bruce Dawson <brucedawson@chromium.org> Date: Wed Nov 29 00:11:00 2017 Change GPU driver bug list tag from windows to win Some recent additions to gpu_driver_bug_list.json tagged the workarounds with os type "windows" when "win" is the correct tag. This fixes that. I'll investigate adding checks to the script to reject unknown OS types. Bug: 775898,785648 Cq-Include-Trybots: master.tryserver.chromium.android:android_optional_gpu_tests_rel;master.tryserver.chromium.linux:linux_optional_gpu_tests_rel;master.tryserver.chromium.mac:mac_optional_gpu_tests_rel;master.tryserver.chromium.win:win_optional_gpu_tests_rel Change-Id: I4f9cfb86487385c45fe6a2a8f67c93f711c0f315 Reviewed-on: https://chromium-review.googlesource.com/791850 Reviewed-by: Sunny Sachanandani <sunnyps@chromium.org> Reviewed-by: Kenneth Russell <kbr@chromium.org> Reviewed-by: Zhenyao Mo <zmo@chromium.org> Commit-Queue: Bruce Dawson <brucedawson@chromium.org> Cr-Commit-Position: refs/heads/master@{#519916} [modify] https://crrev.com/138492abcdb3e0d9369f25868fff4b9dababf915/gpu/config/gpu_driver_bug_list.json
,
Nov 29 2017
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/f0980d12d3c008a78a2a03109e2b63954f60b680 commit f0980d12d3c008a78a2a03109e2b63954f60b680 Author: Bruce Dawson <brucedawson@chromium.org> Date: Wed Nov 29 05:27:33 2017 Add OS type checking to process_json.py File adding a workaround to a GPU driver bug the os type "win" was misspelled as "windows". This caused a one-week delay in testing the workaround. This adds an OS type check to avoid this error in the future. It was confirmed that this check would have detected and prevented the recent error, with this error message: Exception: Unknown OS type "windows" for entry 248 Bug: 775898,785648 Cq-Include-Trybots: master.tryserver.chromium.android:android_optional_gpu_tests_rel;master.tryserver.chromium.linux:linux_optional_gpu_tests_rel;master.tryserver.chromium.mac:mac_optional_gpu_tests_rel;master.tryserver.chromium.win:win_optional_gpu_tests_rel Change-Id: Idd1a4266087acbae24cfc6e60ac873f17c7ac7ef Reviewed-on: https://chromium-review.googlesource.com/791930 Commit-Queue: Bruce Dawson <brucedawson@chromium.org> Reviewed-by: Sunny Sachanandani <sunnyps@chromium.org> Reviewed-by: Kenneth Russell <kbr@chromium.org> Cr-Commit-Position: refs/heads/master@{#520018} [modify] https://crrev.com/f0980d12d3c008a78a2a03109e2b63954f60b680/gpu/config/process_json.py
,
Nov 29 2017
Thx Bruce, the fix is working as intended in Canary 64.0.3280.0 Is it in time for 63.0 stable or do we have to wait for 64.0 ?
,
Nov 29 2017
Thanks for verifying the fix, and apologies for the delays. Unfortunately we are too late for M63 except for very high-priority issues which I don't think this counts as, so M64 it is.
,
Nov 29 2017
M64 it is then (January 23). Considering it might be a Win10 CFU specific issue and a CU could eventually fix it, is there a way to disable this very fix without disabling every gpu driver workarounds at the same time ?
,
Nov 30 2017
--disable_direct_composition=0 should disable the workaround, this is different from the flag mentioned before, note the underscores in place of the dashes --disable-gpu-driver-bug-workarounds will disable all workarounds, you don't want to do this in general
,
Dec 4 2017
Is it possible that Microsoft fixed the bug in their latest KB4051963? See: https://support.microsoft.com/en-us/help/4051963/windows-10-update-kb4051963 Quote: "Addressed a performance regression when users run full-screen Microsoft DirectX 9 games and applications." I tested again my orginally reported video and the framedrops disappeared after the Microsoft KB Update today. I am running Chrome 62.0.3202.94, so I don't think any fix is implemented there yet, right? I am able to run the video completely full screen with very little to no framedrops at 1080p60
,
Dec 4 2017
The description of the Microsoft fix does not sound like it should apply to our scenario because we aren't using DirectX 9. On the other hand, we haven't made any fixes to M62, and there were no known workarounds available in M62 (no command-line fixes, for instance). So, it appears that Microsoft must have fixed it. Can anybody else test with M62 to see if the problem is fixed for them?
,
Dec 4 2017
I'd double check that you're not running under Windows 8 compatibility mode. That was the only workaround that exists on M62.
,
Dec 4 2017
Not on my hd3000. Using your originally reported video, I'm still dropping 33% to 50% frames on current Chrome stable and the latest Win10 CFU CU (16299.98). It seems the behavior slightly changed thou : more erratic as if from time to time it manages to resync and then loses sync very quickly again. On the Canary build (with the disable_direct_composition workaround), my framerate is rocksolid (way less than 1% frames dropped). TLDR : maybe "id:249" workaround (old nvidia gpus) is no longer needed but "id:248" one (Intel Sandybridge) must definitely remain.
,
Dec 5 2017
I checked again my launch link for Chrome and there is no compatibility mode enabled. So for my NVidia NVS 300 the problem disappeared with Microsoft KB4051963
,
Dec 11 2017
"The Windows product group appears to have a fix that should address the framerate issues that you are encountering. However, the servicing details regarding when a fix for Windows 10 version 1709 have not yet been determined." So... 1) I will update this whenever the fix ships (presumably first to preview builds and then through regular channels) 2) We will need to have a way to disable the workaround in gpu_driver_bug_list.json so that the Windows fix can be tested so that we can eventually remove the workaround
,
Dec 14 2017
,
Dec 14 2017
Note: This can also manifest as a/v sync issues where audio is out of sync with video.
,
Dec 14 2017
,
Jan 11 2018
,
Jan 11 2018
Yes, this does look similar. I'd like to not I've have a quick look at "Microsoft KB4051963", however it refuses a manual install, citing it isn't applicable to my computer. Running windows 10 x64. So either I already have it, or something else has happened. I'd like to add that I reinstalled in the last two days, and the stuttering issues is still present in Vivaldi. I know this is a different browser, but I'd expect that a windows update would catch it as well.
,
Jan 18 2018
A Windows fix should go out in February. If that happens then we can think about removing the workaround. This should be fairly straightforward because the bug only appeared in Fall Creators Update and it will be fixed in Fall Creators Update and subsequent versions.
,
Feb 12 2018
,
Feb 13 2018
bruce > Is it the update we were waiting for ? KB4074588 (OS Build 16299.248) https://support.microsoft.com/en-us/help/4074588/windows-10-update-kb4074588 (...) Addresses issue where, in certain hardware configurations, the frame rates of DirectX Games were unintentionally limited to a factor of the display's vertical synchronization. (...)
,
Feb 13 2018
I'll give it a test, I think I have other software as well that doesnt seem to be as optimized, like some games and Blender
,
Feb 13 2018
> bruce > Is it the update we were waiting for ? I believe so - it should be.
,
Feb 13 2018
I tested the update with win8 compatibility turned off and hardware acceleration turned on. Seems to resolve the problem
,
Feb 13 2018
I have verified that that is the update we have been waiting for. I'm glad to hear that it resolves the issue. Close this as fixed?
,
Feb 13 2018
I'm reporting the issue is not resolved after the KB4074588 update This is the stats for nerds, after it took ages to switch into HD: https://i.imgur.com/wY33dfo.jpg It even stops to buffer, and I'm on a fiber line that's not being used.
,
Feb 13 2018
I tested 64.0.3282.140 with --disable_direct_composition=0 on my Sandybridge optimus laptop updated to 16299.248. Some frames are still dropped (about 1.3%) and the fact that the "context menu trick" still works (no more drops when win context menu is displayed on top of the video) kinda tells me this is not 100 % fixed (at least for sandybridge ppl. We may aslo require a new gfx driver). Soooo...not 100 % fixed but that may be sufficient to remove the workaround.
,
Feb 13 2018
The issue is not resolved for me as well. It works without any problems in Edge and Firefox. I just noticed that with Youtube's 136th AVC codec on old videos (https://imgur.com/ROSfzWD) it drops frames only when you go fullscreen and back and only sometimes but with the new 298th codec (https://imgur.com/gJ6KyFL) it starts to drop frames every 2-3 seconds whether fullscreen on or not. OS: Windows 10 (+KB4074588) Browser: Chrome 64 (--disable-direct-composition flag is on) GPU: Intel HD3000
,
Feb 13 2018
How do you guys check the frame drop through the stats? all I see is solid 60frames, I dont see the drop details in your screenshots, im using FPS meter and it would be more cozy to just use Stats For Nerds instead
,
Feb 13 2018
For me, it's the bottom line called dropped frames.
,
Feb 14 2018
Maybe it will be useful for you, here is some info about Youtube's codecs -> https://github.com/rg3/youtube-dl/blob/master/youtube_dl/extractor/youtube.py#L411-L417 And it seems the only difference between the ids 136 and 298 was the framerate. > awesomed Not sure if you're serious or not, I added a small indication on the picture below where you can see the drop details in our screenshots. Shows dropped / total.
,
Feb 14 2018
Sorry! I was serious haha And oh! Huh, i guess i was looking for realtime fps count
,
Feb 22 2018
> It even stops to buffer, and I'm on a fiber line that's not being used. That sounds unrelated. This bug was tracking frame drops in full-screen mode. > Some frames are still dropped (about 1.3%) and the fact that the "context menu trick" still works... Hmmm. So, better, but not fully fixed. What are the results like with the workaround in place? Is it smoother then? I assume it is since that should be equivalent to the context menu trick. > The issue is not resolved for me as well. It works without any problems in Edge and Firefox. Commenter #131, it's not clear if you are seeing the same issue. This particular bug only happened when displaying full-screen video using direct composition. If you're seeing similar results in windowed mode then that must be a different issue.
,
Feb 22 2018
> Hmmm. So, better, but not fully fixed. What are the results like with the workaround in place? Is it smoother then? I assume it is since that should be equivalent to the context menu trick. I compared once more with and without the workaround and the difference between them is so small (both ranging from 0.3% to 1% DF out of 10 000 frames) that it may well be due to network conditions. Since I'm too lazy to run hundred of tests to check the significance, I'd call this MS update a "fix". =)
,
Feb 22 2018
Dear commenter of my comment N131, I've checked it again and can't see any drops in 30fps videos with or without the direct composition, but right after that KB4074588 patch, I still had these 3 seconds drops with composition in fullscreen. Right now, as I said, it skips 1-3 frames every 5 seconds in videos with 60fps. If you consider my issue as unrelated, well, then let's call this bug `fixed`.
,
Feb 22 2018
Thanks for double checking. We appreciate your patience and assistance in helping us deal with this issue. I'll leave it up to the bug owner as to whether they want to remove the workaround at some point in the future.
,
Feb 28 2018
Well, I've tracked my issue down to having a cloned display. I have a tv plugged in, so I can sit back in the lounge to watch stuff. Guess I'll just be extending the desktop. Instead of having about 1/3 of my frames dropped, it's like at 50 frames out of thousands now. (I have a video on still testing, currently at 5/2813 dropped frames) Firefox still has 0 dropped frames, but I have a lot more going on in chrome, so I can understand that at least.
,
Feb 28 2018
Keep in mind not all browsers report dropped frames equally. In past testing using HDMI capture we've found Chrome to be the most accurate reporter, with other browsers failing to report up to half of the drop frames.
,
Mar 1 2018
True, but considering it reported no loss for a video (it was an actual 0), I'm inclined to think it did fairly well. But then I do have to rely on what it reported.
,
May 7 2018
Also have this issue. Would like to note it's not only old NVIDIA cards. My specs below. Problem: frame rate issue in full screen, audio sync problems. Attempted fix: disable hardware acceleration Outcome: frame rate issue and audio sync issue fixed on youtube, not on all sites. Now there is a kind of tearing. Playing video in full screen, I get rectangles popping in the video for a fraction of a second. These are the same size and position as paused video frames in windows behind the current window. (not sure if tearing is the right word for that) If I minimize all windows except the current video in full screen, the rectangles stop popping. Specs Microsoft Windows 10 Enterprise 2016 LTSB Version 10.0.14393 Build 14393 Chrome Version 66.0.3359.139 (Official Build) (64-bit) Intel(R) Core(TM) i7-7700K CPU @ 4.20GHz EVGA FTW2 GeForce GTX1070 8GB GDDR5 2x8GB Crucial DDR4 2133 CL15 Samsung 960 Evo 250GB M.2 NVMe ASRock Z270 Gaming K6 D-Link DWA-582 Dual Band AC1200 PCIe Wireless Fiber speed test: 100Mbps down and 3ms to nearest exchange DxDiag and chrome://gpu outputs attached. If all that can't run full screen video 1080 at 60 fps, something is going horribly wrong ha. Also have 3 HDD partitions and 1 BitLocker partition but Chrome is running off the NVMe drive. Have I missed anything relevant? I have my msinfo32 entire dump handy, but not sure if that may have personal info since there are logs included.
,
May 7 2018
Ah apparently I didn't attach properly. DxDiag output attached this time.
,
Oct 9
,
Oct 20
Has it been fixed in Chrome 72.0.3585.0 (Official Build) canary (64-bit) (cohort: Clang-64)? Don't seem to be dropping frames in my usual test without having '--disable-direct-composition' enabled, same test on 70.0.3538.67 (Official Build) (64-bit) (cohort: 70_67_Win) still drops frames constantly. Using nvdia drivers 411.63.
,
Oct 23
We disabled direct composition unless your device supports hardware overlays (generally supported only on newer Intel laptops).
Showing comments 48 - 147
of 147
Older ›
|
|||||||||||||
►
Sign in to add a comment |
|||||||||||||