Qt Quick Software Adaptation

The Software adaptation is an alternative renderer for Qt Quick 2 that uses the Raster paint engine to render the contents of the scene graph, instead of OpenGL. Consequently, some features and optimizations are not available. Most Qt Quick 2 applications can run without any modification, but any attempts to use unsupported features are ignored. By using the Software adaptation, it is possible to run Qt Quick 2 applications on hardware and platforms that do not have OpenGL support.

The Software adaptation was previously known as the Qt Quick 2D Renderer. However, unlike the 2D Renderer, this new, integrated version supports partial updates. This means that a full update of the window or screen contents is now avoided; only the changed areas are flushed. Partial updates can significantly improve performance for many applications.

Shader Effects

ShaderEffect components in QtQuick 2 cannot be rendered by the Software adaptation.

Qt Graphical Effects Module

Qt Graphical Effects uses ShaderEffect items to render effects. If you use graphical effects from this module, then you should not hide the source item so that the original item can still be rendered.

Particle Effects

It is not possible to render particle effects with the Software adaptation. Whenever possible, remove particles completely from the scene. Otherwise, they will still require some processing, even though they are not visible.

Rendering Text

The text rendering with the Software adaptation is based on software rasterization and does not respond as well to transformations such as scaling, compared to when using OpenGL. The quality is similar to choosing Text.NativeRendering with Text items.

Qt Multimedia VideoOutput

The Qt Multimedia module's VideoOutput item is not supported with the Software adaptation. This is because VideoOutput uses the QVideoRendererControl item which requires custom QSGGeometryNode behavior, which is only present in the default OpenGL adaptation.

© 2024 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.