daktronics / cef-mixer

High Performance off-screen rendering (OSR) demo using CEF
MIT License
228 stars 57 forks source link

View no longer updating after CefBrowserHost::WasResized #3

Closed blattersturm closed 6 years ago

blattersturm commented 6 years ago

To support changing video modes dynamically, our application uses WasResized to resize the existing browser view upon detection of a mode change.

However, with this patch set, usage of WasResized (and returning a different resolution in GetViewRect) will stop updating the browser view after resizing it. (OnAcceleratedPaint no longer being called, initial debugging inside Chromium shows that no BeginFrame calls are being generated anymore)

mihe commented 6 years ago

Just to chime in I can say that we don't experience this issue. For us calling CefBrowserHost::WasResized triggers (at some later point) a call to OnAcceleratedPaint with a new shared_handle. Much like the example application we then check whether the new one matches our cached one and recreate the texture (with the new size) if it doesn't.

blattersturm commented 6 years ago

That's weird - what flags are you using in your CefApp::OnBeforeCommandLineProcessing? It might also be something else we're doing is conflicting with this... 😕

mihe commented 6 years ago

disable-gpu-vsync is the only one we're using at the moment. It shows the same behavior regardless if I include that one or not though.

blattersturm commented 6 years ago

Ah, thanks! We had in-process-gpu in there due to a prior accelerated rendering patch, which seems to conflict with disable-gpu-vsync being used at the same time.