Адаптации графа сцены
Адаптации графа сцены в Qt Quick
Изначально Qt Quick всегда полагался на OpenGL (OpenGL ES 2.0 или OpenGL 2.0) для анализа графа сцены и отрисовки результатов на целевом объекте рендеринга. Начиная с Qt 5.8, Qt Quick также поддерживает рендеринг в программном обеспечении и с помощью Direct3D 12.
Переключение между адаптациями в вашем приложении
По умолчанию используемый бэкэнд рендеринга — OpenGL, но в сборках Qt с отключенной поддержкой OpenGL по умолчанию используется программный рендерер. Вы можете переопределить это двумя способами:
- Использовать переменную среды — Установите переменную среды
QT_QUICK_BACKENDили устаревшую переменную средыQMLSCENE_DEVICEперед запуском приложения. - Использовать API C++ — Вызовите QQuickWindow::setSceneGraphBackend() на ранней стадии в функции main() приложения.
Поддерживаются следующие бэкэнды:
- OpenGL — Запрос с помощью строки
""или значения перечисления QSGRendererInterface::OpenGL. - Программный — Запрос с помощью строки
"software"или значения перечисления QSGRendererInterface::Software. - Direct3D 12 — Запрос с помощью строки
"d3d12"или значения перечисления QSGRendererInterface::Direct3D12. -
OpenVG — Запрос с помощью строки
"openvg"или значения перечисления QSGRendererInterface::OpenVG.
Чтобы узнать, какой бэкэнд используется, вы можете включить протоколирование основных сведений о графе сцены с помощью переменной среды QSG_INFO или категории протоколирования qt.scenegraph.general. Это приводит к выводу некоторых сведений в выходные данные отладки во время запуска приложения.
Примечание: Обычно адаптации, отличные от OpenGL, сопровождаются набором ограничений, так как они вряд ли обеспечат набор функций, на 100% совместимый с OpenGL. Однако эти адаптации могут иметь свои преимущества в определенных областях. Для получения дополнительной информации о различных адаптациях см. разделы ниже.
Адаптация OpenGL ES 2.0 и OpenGL 2.0
Адаптация OpenGL является адаптацией по умолчанию, которая способна предоставить полный набор функций Qt Quick 2. Более подробные сведения см. в разделе Адаптация OpenGL.
Адаптация программного обеспечения
Адаптация программного обеспечения — это альтернативный рендерер для Qt Quick 2, который использует движок растровой отрисовки для рендеринга содержимого графа сцены. Более подробные сведения см. в разделе Адаптация программного обеспечения.
Direct3D 12 (экспериментальная версия)
Адаптация Direct3D 12 — это альтернативный рендерер для Qt Quick 2 при работе на Windows 10, как для приложений Win32, так и для приложений UWP. Более подробные сведения см. в разделе Адаптация Direct3D 12.
OpenVG
Адаптация OpenVG — это альтернативный рендерер для Qt Quick 2, который рендерит содержимое графа сцены с помощью команд OpenVG для предоставления аппаратного ускорения 2D векторной и растровой графики. Более подробные сведения см. в разделе Адаптация OpenVG.
© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/qt-5.12/qtquick-visualcanvas-adaptations.html