CefRenderHandler::OnPaint stops getting called in 3.3325

Having problems with building or using CEF's C/C++ APIs? This forum is here to help. Please do not post bug reports or feature requests here.

CefRenderHandler::OnPaint stops getting called in 3.3325

Postby pingu7931 » Fri Aug 28, 2020 5:06 am

We're using 3.3325.1758 for the performance reasons specified in https://www.magpcss.org/ceforum/viewtopic.php?f=6&t=15988&p=38435#p38435.

Our product uses CEF in OSR mode. To ensure we have a fully rendered page, including say any post-loaded JavaScript images, we reset a timer every time CefRenderHandler::OnPaint is called to see if there is still any visual activity on the page. This way we can specify a repaint delay and get an impression of the complete page. This has all been working fine for smaller files.

Recently a customer submitted a very large (26MB) HTML file with lots of data tables which, once loaded, runs JavaScript graph generators on those data tables. This JavaScript takes 5 minutes to render all the graphs in Chrome. The OnPaint/repaint delay should enable the engine to wait until all these graphs are painted. The result however is that only a fifth of them are.

When I debug our CEF implementation I found that OnPaint is getting called say 20-30 times and then not at all. If I enforce a wait for the say 6 minutes to all the JavaScript to complete the page renders correctly. Any ideas why this might be? Is there an alternative way to achieve the same result with this version?
pingu7931
Techie
 
Posts: 21
Joined: Thu Dec 01, 2016 4:43 am

Re: CefRenderHandler::OnPaint stops getting called in 3.3325

Postby pingu7931 » Fri Aug 28, 2020 11:26 am

I have now spent a day updating to CEF 85.2.9 with the same behaviour but now around 44 calls to OnPaint.
pingu7931
Techie
 
Posts: 21
Joined: Thu Dec 01, 2016 4:43 am


Return to Support Forum

Who is online

Users browsing this forum: No registered users and 57 guests