Black frame flash when enter/leave full screen, maximize/restore
Reported by
zcyzcy88...@gmail.com,
May 14 2017
|
|||||||
Issue descriptionUserAgent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:53.0) Gecko/20100101 Firefox/53.0 Steps to reproduce the problem: Turn #windows10-custom-titlebar flag off, enter/leave fullscreen (also web page call it, example: YouTube) or maximize/restore window What is the expected behavior? No one black frame flash What went wrong? black frame flashed (please read the video with slow motion) Did this work before? Yes Chrome version: 60.0.3099.0 Channel: n/a OS Version: 10.0 Flash Version: When #windows10-custom-titlebar flag on, the behavior is not appear
,
May 16 2017
Just to update, I am seeing flash of black frame on the latest stable(58.0.3029.110) and the latest canary(60.0.3100.0) on Windows-10 with windows10-custom-titlebar flag disabled. This has been behaving the same since chrome version: 58.0.2996.0 where this flag was added in https://codereview.chromium.org/2630103002. Assigning to bsep@ for more inputs on this.
,
May 16 2017
I don't see the black flash on my computer with or without the flag (or maybe it's just too fast for me to see). From the video it's the non-client area that's flashing, so I'm guessing it's some kind of GPU problem, which is outside my area of knowledge. The flag probably prevents the bug because it makes Chrome's client area fully opaque and triggers different GPU behavior.
,
May 17 2017
> From the video it's the non-client area that's flashing Not true, just Google Chrome's window is flashed.
,
May 19 2017
bsep: can you take a look at this?
,
May 20 2017
Oh wait, I know what this is. I bet the window is changing from partially transparent to opaque when it goes to fullscreen (and vice versa). With the custom titlebar flag it doesn't need that transition (it's already opaque). jbauman@ would know more about those window styles, but I'm pretty sure there's no way to avoid the flash since it's controlled by the OS/GPU. If that's true we should close this bug.
,
May 22 2017
I think the --enable-direct-composition-layers command-line flag will help with that, as with that we avoid destroying the old window swapchain until we create a new one to replace it with. That flag is currently tied-in with using overlays, but maybe I should separate it out so we can always use it on windows 10.
,
May 23 2017
Assigning to jbauman@, if you would like to repurpose this bug to that end.
,
Jul 25 2017
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/ac13d8266c1e18429a0584b780e7daa5bcf1542e commit ac13d8266c1e18429a0584b780e7daa5bcf1542e Author: jbauman <jbauman@chromium.org> Date: Tue Jul 25 22:36:20 2017 Always use DirectCompositionSurfaceWin when using DirectComposition ChildWindowSurfaceWin was using DirectComposition internally inside ANGLE. We can get rid of it and use DirectCompositionSurfaceWin everywhere instead, because by default that just does the same thing except explicitly inside Chrome. Doing this saves code and allows us to switch backbuffers between having alpha and not having alpha without flickering (because the SwapChain can be recreated but the DirectComposition device can be kept around). A new context capability (use_overlays_for_video) is added to determine whether it's more efficient to promote videos to use overlays. This was originally determined using the dc_layers capability. BUG= 722107 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 Review-Url: https://codereview.chromium.org/2933453002 Cr-Commit-Position: refs/heads/master@{#489467} [modify] https://crrev.com/ac13d8266c1e18429a0584b780e7daa5bcf1542e/content/browser/compositor/gpu_process_transport_factory.cc [modify] https://crrev.com/ac13d8266c1e18429a0584b780e7daa5bcf1542e/gpu/command_buffer/common/capabilities.h [modify] https://crrev.com/ac13d8266c1e18429a0584b780e7daa5bcf1542e/gpu/command_buffer/service/gles2_cmd_decoder.cc [modify] https://crrev.com/ac13d8266c1e18429a0584b780e7daa5bcf1542e/gpu/ipc/common/gpu_command_buffer_traits_multi.h [modify] https://crrev.com/ac13d8266c1e18429a0584b780e7daa5bcf1542e/gpu/ipc/service/BUILD.gn [delete] https://crrev.com/833c6e21599909ed319b54d4316c16923a661604/gpu/ipc/service/child_window_surface_win.cc [delete] https://crrev.com/833c6e21599909ed319b54d4316c16923a661604/gpu/ipc/service/child_window_surface_win.h [modify] https://crrev.com/ac13d8266c1e18429a0584b780e7daa5bcf1542e/gpu/ipc/service/direct_composition_surface_win.cc [modify] https://crrev.com/ac13d8266c1e18429a0584b780e7daa5bcf1542e/gpu/ipc/service/direct_composition_surface_win.h [modify] https://crrev.com/ac13d8266c1e18429a0584b780e7daa5bcf1542e/gpu/ipc/service/gpu_init.cc [modify] https://crrev.com/ac13d8266c1e18429a0584b780e7daa5bcf1542e/gpu/ipc/service/image_transport_surface_win.cc [modify] https://crrev.com/ac13d8266c1e18429a0584b780e7daa5bcf1542e/ui/gl/gl_surface.cc [modify] https://crrev.com/ac13d8266c1e18429a0584b780e7daa5bcf1542e/ui/gl/gl_surface.h
,
Aug 3 2017
,
Oct 11 2017
|
|||||||
►
Sign in to add a comment |
|||||||
Comment 1 by ranjitkan@chromium.org
, May 15 2017