[Qtwebengine] QtWebEngine + ANGLE

Kevin Ushey kevinushey at gmail.com
Wed Aug 8 18:16:17 CEST 2018

On Wed, Aug 8, 2018 at 1:11 AM Michael Bruning <Michael.Bruning at qt.io>

> Hi Kevin,
> > On 8. Aug 2018, at 04:54, Kevin Ushey <kevinushey at gmail.com> wrote:
> >
> > Hi all,
> >
> > If I'm understanding correctly, QtWebEngine doesn't support ANGLE, as
> per e.g.
> >
> >
> http://lists.qt-project.org/pipermail/qtwebengine/2017-August/000461.html
> >     https://wiki.qt.io/QtWebEngine/Rendering#Rendering_without_the_GPU
> >
> You can use ANGLE with Qt WebEngine on Windows, it just comes with some
> limitations:
>    - we have to turn hardware acceleration off for the Chromium part
>    - WebGL does not work
> This is due to the fact that when running WebEngine, we usually have two
> threads accessing the GPU, one being the Qt SceneGraph thread and the other
> being Chromium’s GPU thread. ANGLE does not handle multithreaded access
> well (e.g. it may crash or render some weird artefacts) and for that
> reason, we switch the Chromium part to not use the GPU. The Qt SceneGraph
> will still use HW acceleration, but Chromium’s content will be rendered in
> SW prior to being uploaded to the GPU by the SceneGraph.

In our case, our application is effectively a single-page web application
(ie the whole application surface, minus the menu bar, is rendered by
Chromium) so slowness in Chromium rendering implies our application will be
slow. For that reason, I think we need hardware acceleration in Chromium if
at all possible.

Is there any hope that this could be mediated -- for example, by allowing
one to opt-in to using hardware acceleration with ANGLE in Chromium, but
then request that the Qt SceneGraph be rendered in software? (Or is this
something that we would not expect to work?)

> For background: we have a number of users on Windows with Intel
> integrated graphics cards, and when these users attempt to use the default
> desktop OpenGL backend, they often see crashes (e.g. when attempting to
> load the associated DLL ig9icd64.dll) or in other cases weird rendering
> artifacts (for example, where the page contents are rendered offset from
> the 'true' location on the screen). In most cases, upgrading the graphics
> card drivers resolves the issue, but many users are unable or unwilling to
> do this. Switching to the software renderer is also a viable workaround for
> these users, but application performance then suffers. This is especially
> true for laptops with high DPI displays.
> ANGLE can be used to work around a lot of this driver trouble. If you can
> live with the limitations mentioned above, switching to ANGLE on Windows
> may be the way to go for you.
> > The Chromium team in a 2015 bug report (
> https://bugs.chromium.org/p/chromium/issues/detail?id=561542) suggests
> that '--use-gl=desktop' is unmaintained, stating:
> >
> >     I'd suggest --use-angle=gl instead. That code path's going to be
> supported in the future but --use-gl=desktop on Windows is effectively
> unmaintained.
> >
> > and IIUC Chrome by default uses ANGLE by default for rendering (hence
> making this the more tested rendering pipeline).
> >
> > Are there any plans to bring support for ANGLE to QtWebEngine? Am I
> correct that switching to ANGLE could be a panacea for this family of
> rendering issues? Or is there some other way that I could further configure
> the default desktop OpenGL renderer in Qt / QtWebEngine / Chromium that
> might help alleviate these sorts of issues while still using hardware
> accelerated rendering?
> >
> > Thanks,
> > Kevin
> Best regards,
> Michael
> --
> Michael Brüning
> Senior Software Engineer
> The Qt Company GmbH
> Rudower Chaussee 13
> D-12489 Berlin
> http://qt.io
> Geschäftsführer: Mika Pälsi,
> Juha Varelius, Mika Harjuaho
> Sitz der Gesellschaft: Berlin,
> Registergericht: Amtsgericht
> Charlottenburg, HRB 144331 B
> --
> _______________________________________________
> QtWebEngine mailing list
> QtWebEngine at qt-project.org
> http://lists.qt-project.org/mailman/listinfo/qtwebengine
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.qt-project.org/pipermail/qtwebengine/attachments/20180808/bf7d2a8a/attachment.html>

More information about the QtWebEngine mailing list