Details
Description
We are currently in the process of upgrading our application from Qt4.7.4 to 5.12.3. When running our application on older machines with Windows 7 there is a significant increase in CPU usage. We have tracked this issue down to our usage of QWebEngineView with other frequently updating UI elements.
We have reproduced this issue using the attached project which updates a text label every millisecond, without opening a webview the CPU usage is 1% but once we add a webview this increases to 20-30%.
The system in question has a “Intel Q35 Express Chipset” graphics driver on driver version 8.15.10.1749. Using glview I have confirmed this card only support opengl 1.1.
Unfortunately, I haven’t been able to get ANGLE working, I have set the environment variable “QT_OPENGL=angle” however once I launch the webview I get the ANGLE error message and in DbgView the following errors.
[1796] QWindowsEGLStaticContext::create: Could not initialize EGL display: error 0x3001
[1796] QWindowsEGLStaticContext::create: When using ANGLE, check if d3dcompiler_4x.dll is available
I have confirmed that we have libEGL.dll, libGLESv2.dll and d3dcompiler_47.dll in the same folder as the application exe.
Our application needs to update ever 33ms as it is displaying video frame counters. Using Windows 10 on the same hardware we don’t see this issue and we don’t see it on Windows 7 with a modern NVIDIA or Intel GPU.
I’m assuming that the text element which is frequently updating is causing the webview to redraw the whole user interface but I’m wondering if there are any options to reduce the impact?