Адаптации графа сцены
Адаптации графа сцены в 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/archives/qt-5.11/qtquick-visualcanvas-adaptations.html