Optimization tips for QT WebEngine and/or Chromium?
-
Hello all,
We replaced our QML application front-end with a javascript UI hosted by the QT WebEngine. So we are encountering some performance issues running within the engine, It runs fine mostly, but we see peformance issues in some cases, read below.Some of my engineers are running the application in a Chrome browser and comparing performance to QT WebEngine, which shows the WebEngine is considerably slower in some cases. I personally do not think the test is an equal comparison as while I realize that QT WebEngine is a wrapper around Chromium, it is not clear to me how QT builds and configures the WebEngine at runtime.
First, I am posting here to get some opinions on this testing. Is it equal. Why, or why not? I see the JS application running within WebEngine as rather simple event loop processing, and tend to believe it is just a matter of tuning the QT WebEngine settings (or maybe WebEngine build options?
Second, an obvious followup, if anyone knows, are there any recommended settings (or QT WebEngine build options) that would optimize running a JS application within QT WebEngine?
I am primarily a distributed systems engineer (C++), so I am used to tweaking OS kernels, and communications libraries for optimal performance if required, so I am thinking there might be similar techniques to be applied to QT WebEngine.
Your thoughts are appreciated,
-
@David-Lautz
One very quick one: Are you sure yourQWebEngine
stuff is compiled for release/optimized? Performance of the Debug version is known to be very slow. -
@JonB
Yes, the build is compiled for release and optimized. We aren't seeing agonizingly slow performance, just areas where processing stalls at times.We are still investigating the application logic itself, but I am just doing some due diligence here in case there are some QT WebEngine optimizations (given the performance comparisons) that can be made.
Let me take the opportunity to provide some build details I omitted:
Platform: MacOS
QT Version: 5.15.17 (Release build)