Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

OSR: Rendering bug when minimizing and restoring with 6+ browsers #3427

Open
magreenblatt opened this issue Nov 24, 2022 · 3 comments
Open
Labels
bug Bug report Framework Related to framework code or APIs help wanted Issue resolution will likely require community contributions osr Related to off-screen rendering

Comments

@magreenblatt
Copy link
Collaborator

Original report by Valentin Wuppinger (Bitbucket: Valentin Wuppinger).


Hello,
when there are multiple browser instances (in our case it starts to bug when there are 6), the browsers get minimized and restored again, the browser stops rendering.

This seems to be a similar issue to #2483/osr-invalidate-does-not-generate-frame

It seems like the last user that commented under the issue has the same problem.

Michael Davies

i find that it still happens in M87(4280). I have six osr window(display the same gif) in one process. I call WasHidden(true) and then call WasHidden(false), but only four of them behave normally. Other two stop refresh.

2022-10-14

Considering that the issue seemed to be resolved, I created a new one, as it still persists.

What steps will reproduce the problem?

  • Needed flags are --multi-threaded-message-loop --no-sandbox --off-screen-rendering-enabled
  • Create at least 6 browsers
  • Minimize all browsers with the minimize button
  • Restore all browsers again

What is the expected output? What do you see instead?

Expected: The browsers should render everything normally.
Actual: The root browser freezes until the window gets resized. The browser is often blank, too.

What version of the product are you using? On what operating system?

CEF: 107.1.9+g1f0a21a+chromium-107.0.5304.110
OS: Windows 10 x64

Does the problem reproduce with the cefclient or cefsimple sample application at the same version? How about with a newer or older version?

It reproduces with the cefclient when you create at least 5 additional browsers, doesn't matter if added as popup or child of the root window. The browsers need to be created in the same instance as the root window.
Needed flags are --multi-threaded-message-loop --no-sandbox --off-screen-rendering-enabled

        CefWindowInfo window_info;
        CefWindowInfo window_info1;
        CefWindowInfo window_info2;
        CefWindowInfo window_info3;
        CefWindowInfo window_info4;
        
        window_info.SetAsPopup(nullptr, "extra1");
        window_info1.SetAsPopup(nullptr, "extra2");
        window_info2.SetAsPopup(nullptr, "extra3");
        window_info3.SetAsPopup(nullptr, "extra4");
        window_info4.SetAsPopup(nullptr, "extra5");

        CefBrowserHost::CreateBrowser(window_info, client, "https://google.com", CefBrowserSettings(), nullptr, nullptr);
        CefBrowserHost::CreateBrowser(window_info1, client, "https://google.com", CefBrowserSettings(), nullptr, nullptr);
        CefBrowserHost::CreateBrowser(window_info2, client, "https://google.com", CefBrowserSettings(), nullptr, nullptr);
        CefBrowserHost::CreateBrowser(window_info3, client, "https://google.com", CefBrowserSettings(), nullptr, nullptr);
        CefBrowserHost::CreateBrowser(window_info4, client, "https://google.com", CefBrowserSettings(), nullptr, nullptr);

Does the problem reproduce with Google Chrome at the same version? How about with a newer or older version?

No

@magreenblatt
Copy link
Collaborator Author

Original comment by Michael Davies (Bitbucket: Michael Davies).


Actually,when i use the newest cefclient with --off-screen-rendering-enabled, and click a hyperlink in google page to open five pages(low memory pressure limit to max 6 valid pages ), it reproduces. I find that the frame id become evicted, so the page stop refresh(check the id).

@magreenblatt
Copy link
Collaborator Author

  • changed title from "OSR: Rendering bug when minimizing and restoring" to "OSR: Rendering bug when minimizing and restoring with 6+ browsers"
  • changed component from "Unclassified" to "Framework"

@magreenblatt
Copy link
Collaborator Author

Original comment by Valentin Wuppinger (Bitbucket: Valentin Wuppinger).


Are there any updates to this? I cannot actually fix this myself, as my C++ is at beginner level at best and I don’t really know much about browsers. Took me quite a while to set this up in cefclient aswell.

@magreenblatt magreenblatt added the help wanted Issue resolution will likely require community contributions label Jul 8, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Bug report Framework Related to framework code or APIs help wanted Issue resolution will likely require community contributions osr Related to off-screen rendering
Projects
None yet
Development

No branches or pull requests

1 participant