New issue
Advanced search Search tips
Note: Color blocks (like or ) mean that a user may not be available. Tooltip shows the reason.

Issue 722107 link

Starred by 2 users

Issue metadata

Status: Fixed
Owner:
not on Chrome anymore
Closed: Aug 2017
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Windows
Pri: 2
Type: Bug

Blocking:
issue 773199



Sign in to add a comment

Black frame flash when enter/leave full screen, maximize/restore

Reported by zcyzcy88...@gmail.com, May 14 2017

Issue description

UserAgent: 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
 
flag_off.mp4
377 KB View Download
flag_on.mp4
711 KB View Download
Labels: Needs-Triage-M60

Comment 2 by ajha@chromium.org, May 16 2017

Cc: ajha@chromium.org
Labels: -Type-Bug-Regression -Needs-Triage-M60 M-60 Type-Bug
Owner: bsep@chromium.org
Status: Assigned (was: Unconfirmed)
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. 

Comment 3 by bsep@chromium.org, May 16 2017

Components: -UI Internals>GPU
Owner: ----
Status: Untriaged (was: Assigned)
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.
> From the video it's the non-client area that's flashing

Not true, just Google Chrome's window is flashed.
2017-05-17 23_24_03-2017-05-17 23-22-59.mp4 - PotPlayer.png
63.6 KB View Download
2017-05-17 23_24_05-2017-05-17 23-22-59.mp4 - PotPlayer.png
1.1 MB View Download
2017-05-17 23_24_06-2017-05-17 23-22-59.mp4 - PotPlayer.png
1.1 MB View Download
2017-05-17 23_24_07-2017-05-17 23-22-59.mp4 - PotPlayer.png
1.1 MB View Download
2017-05-17 23_24_09-2017-05-17 23-22-59.mp4 - PotPlayer.png
1.2 MB View Download

Comment 5 by enne@chromium.org, May 19 2017

Cc: jbau...@chromium.org
Owner: bsep@chromium.org
Status: Assigned (was: Untriaged)
bsep: can you take a look at this?

Comment 6 by bsep@chromium.org, 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.
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.

Comment 8 by bsep@chromium.org, May 23 2017

Cc: -jbau...@chromium.org
Owner: jbau...@chromium.org
Assigning to jbauman@, if you would like to repurpose this bug to that end.
Project Member

Comment 9 by bugdroid1@chromium.org, 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

Status: Fixed (was: Assigned)

Comment 11 by kbr@chromium.org, Oct 11 2017

Blocking: 773199

Sign in to add a comment