[Interest] iOS and openGL

Volker Hilsheimer volker.hilsheimer at qt.io
Mon Apr 12 16:07:22 CEST 2021

> On 10 Apr 2021, at 09:02, maitai <maitai at virtual-winds.org> wrote:
> Hi,
> I have a QWidget app running on many platforms including iOS, using QGraphicsScene/View, Qt 5.15.2. The scene can contains many items, be rotated, etc.
> We enable openGL QGraphicsview's viewport as it is stated in the documentation, i.e.
>        QOpenGLWidget *gl = new QOpenGLWidget();
>        QSurfaceFormat format;
>        format.setSamples(4);
>        gl->setFormat(format);
>        setViewport(gl);
> That works pretty well on all platforms and improves the performances, except on iOS (tested on iOS 14), where it is exactly the opposite: all become very very slow even in not complicated situations.
> Is there something we can do to about that?
> I know openGL is deprecated on iOS (replaced by Metal) does Qt supports that?
> Thanks
> Philippe.

Qt 6 supports Metal as one of the backends of the new Qt Rendering Hardware Interface (RHI) architecture that the Qt Quick scene graphs uses for rendering.

Qt Widgets (which QGraphicsView is a part of) will continue to use procedural painting using the existing paint engines, and not use QRhi.

So the best option for you is to not use the QOpenGLWidget viewport on iOS, based on your experience that it’s slower than the default software rasteriser.


More information about the Interest mailing list