apimall / chromiumembedded

Automatically exported from code.google.com/p/chromiumembedded
0 stars 1 forks source link

Windows: 2171 branch: Jerky resize behavior #1496

Open GoogleCodeExporter opened 9 years ago

GoogleCodeExporter commented 9 years ago
Simply open cefclient, let it open google and check header/footer while 
resizing cefclient window.

Video here: http://youtu.be/n21dMs2dAJk

Original issue reported on code.google.com by petr.ju...@mediamonkey.com on 20 Jan 2015 at 7:14

GoogleCodeExporter commented 9 years ago
Reported with both Windows 7 and Windows 8.1. Problem does not reproduce with 
older CEF branches or with Google Chrome 39.0.2171.99.

Related forum post: http://magpcss.org/ceforum/viewtopic.php?f=6&t=12559

Original comment by magreenb...@gmail.com on 20 Jan 2015 at 7:18

GoogleCodeExporter commented 9 years ago
I've started a thread on graphics-dev about this: 
https://groups.google.com/a/chromium.org/d/msg/graphics-dev/kSKgGW5jk0Q/tGy91k7t
sUMJ

Original comment by magreenb...@gmail.com on 20 Jan 2015 at 11:21

GoogleCodeExporter commented 9 years ago
Adding the `--disable-d3d11` command-line flag solves the problem for me on 
Windows 8.1.

Original comment by magreenb...@gmail.com on 20 Jan 2015 at 11:41

GoogleCodeExporter commented 9 years ago
Thanks for the investigation.

This flag solves the problem on Windows 7 for me as well. I guess Direct3D 10 
is used instead?

Reading the posts on graphics-dev, Chrome seems to trigger 
HandleWindowSizeChanging [1] as a result of WM_WINDOWPOSCHANGING and a changed 
client rect. However, it's not clear to me how this is related to the flag 
`--disable-d3d11`.

[1] 
https://code.google.com/p/chromium/codesearch#chromium/src/ui/views/widget/deskt
op_aura/desktop_window_tree_host_win.cc&q=HandleWindowSizeChanging&sq=package:ch
romium&type=cs&l=944

Original comment by martin.m...@gmail.com on 21 Jan 2015 at 2:45

GoogleCodeExporter commented 9 years ago
@#4: It's probably related to the |need_synchronous_paint_| flag and the 
resulting call to |compositor()->DisableSwapUntilResize()| in 
DesktopWindowTreeHostWin::HandleWindowSizeChanging. We may need to have CEF 
call some additional functions in DesktopWindowTreeHostWin so that this flag is 
handled properly.

Original comment by magreenb...@gmail.com on 21 Jan 2015 at 4:21

GoogleCodeExporter commented 9 years ago
@#5: Actually, it seems that |need_synchronous_paint_| and |in_sizing_loop_| 
are only set in response to WM_SYSCOMMAND (via HWNDMessageHandler::OnSysCommand 
and DesktopWindowTreeHostWin::HandleCommand) when the user chooses a command 
from the Window menu. So that's probably not the issue in this case.

Original comment by magreenb...@gmail.com on 21 Jan 2015 at 4:51

GoogleCodeExporter commented 9 years ago
This is probably a duplicate (Issue 1448):
https://code.google.com/p/chromiumembedded/issues/detail?id=1448

Original comment by martin.m...@gmail.com on 23 Jan 2015 at 8:12

GoogleCodeExporter commented 9 years ago
Issue 1448 has been merged into this issue.

Original comment by magreenb...@gmail.com on 11 Feb 2015 at 7:08

GoogleCodeExporter commented 9 years ago
CEF is transitioning from Google Code to Bitbucket project hosting. If you 
would like to continue receiving notifications on this issue please add 
yourself as a Watcher at the new location: 
https://bitbucket.org/chromiumembedded/cef/issue/1496

Original comment by magreenb...@gmail.com on 14 Mar 2015 at 3:37

GoogleCodeExporter commented 9 years ago
I'm noticing the same on Win 8.1 Pro

Original comment by kgemin...@outlook.com on 27 May 2015 at 9:35