Адаптация Qt Quick для программного рендеринга
Адаптация для программного рендеринга — это альтернативный рендерер для Qt Quick 2, который использует растровый движок для рендеринга содержимого графа сцены вместо OpenGL. Вследствие отсутствия использования OpenGL для рендеринга графа сцены некоторые функции и оптимизации больше недоступны. Большинство приложений Qt Quick 2 будут работать без изменений, хотя любые попытки использовать неподдерживаемые функции будут игнорироваться. С помощью адаптации для программного рендеринга можно запускать приложения Qt Quick 2 на оборудовании и платформах, не поддерживающих OpenGL.
Ранее адаптация для программного рендеринга была известна как рендерер Qt Quick 2D. Однако, в отличие от 2D рендерера, новая интегрированная версия поддерживает частичные обновления. Это означает, что теперь избегается полное обновление содержимого окна или экрана, и обновляются только изменённые области. Это может значительно улучшить производительность во многих приложениях.
Эффекты шейдеров
Компоненты ShaderEffect в QtQuick 2 не могут быть отрисованы адаптацией для программного рендеринга.
Модуль Qt Graphical Effects
Qt Graphical Effects использует элементы ShaderEffect для рендеринга эффектов. Если вы используете графические эффекты из этого модуля, то не следует скрывать исходный элемент, чтобы исходный элемент всё ещё мог быть отрисован.
Эффекты частиц
Отрисовка эффектов частиц с адаптацией для программного рендеринга невозможна. В случае возможности, полностью удалите частицы из сцены. В противном случае они всё ещё потребуют некоторой обработки, даже если они не видны.
Отрисовка текста
Отрисовка текста с адаптацией для программного рендеринга основана на программной растризации и не так хорошо реагирует на преобразования, такие как масштабирование, как при использовании OpenGL. Качество аналогично выбору Text.NativeRendering с элементами Text.
Qt Multimedia VideoOutput
Элемент VideoOutput модуля Qt Multimedia не поддерживается адаптацией для программного рендеринга. Это связано с тем, что VideoOutput использует элемент QVideoRendererControl, который требует поведения пользовательского QSGGeometryNode, которое присутствует только в адаптации по умолчанию для OpenGL.
© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/qt-5.9/qtquick-visualcanvas-adaptations-software.html