Адаптации графа сцены
Адаптации графа сцены в Qt Quick
Изначально Qt Quick всегда полагался на OpenGL (OpenGL ES 2.0 или OpenGL 2.0) для разбора графа сцены и отрисовки результатов на целевой поверхности. Начиная с Qt 5.8, Qt Quick также поддерживает отрисовку в программном обеспечении и с помощью Direct3D 12.
Переключение между адаптацией, используемой приложением
По умолчанию используется бэкэнд отрисовки OpenGL или, в сборках Qt с отключенной поддержкой OpenGL, программный рендерер. Это можно переопределить, используя переменную среды или API C++. Первый вариант заключается в установке переменной среды QT_QUICK_BACKEND или устаревшей переменной QMLSCENE_DEVICE перед запуском приложений. Второй вариант заключается в вызове 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
По умолчанию адаптация, способная предоставить полный набор функций Qt Quick 2, – это адаптация OpenGL. Все подробности адаптации OpenGL доступны здесь: Адаптация 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.9/qtquick-visualcanvas-adaptations.html