WebEngineView: Проблема с длительной загрузкой WebGL проекта (экспортированного из Unity)
#QML, #Qt, #WebEngine, #WebEngineView, #WebGL
Здравствуйте!
Возникла необходимость создания интерактивного просмотрщика 3D-моделей, который будет встраиваться в QML проект. Решено было пойти по такому пути - сам просмотрщик делать в Unity 2018 и оттуда экспортировать в виде WebGL проекта, который затем открывать в QML посредством WebEngineView (версия Qt 5.12.0). На данный момент видится пока такой путь.
Начал пробовать на малом и по минимуму, чтобы отладить механизм открытия.
В Unity, в качестве примера, была создана пустая сцена без объектов (только камера)...
...и экспортирована в сборке WebGL (применена .gzip компрессия, размер сборки 2.3 Мб).
Qt проект был взят из библиотеки примеров QtCreator ("WebEngine Widgets Minimal Example").
#include <QApplication> #include <QWebEngineView> QUrl commandLineUrlArgument() { const QStringList args = QCoreApplication::arguments(); for (const QString &arg : args.mid(1)) { if (!arg.startsWith(QLatin1Char('-'))) return QUrl::fromUserInput(arg); } return QUrl(QStringLiteral("file:///F:/qt/test4Exp/index.html")); } int main(int argc, char *argv[]) { QCoreApplication::setAttribute(Qt::AA_EnableHighDpiScaling); QApplication app(argc, argv); QWebEngineView view; view.setUrl(commandLineUrlArgument()); view.resize(1024, 750); view.show(); return app.exec(); }
При открытии WebGL проекта в браузере Chrome все загружается очень быстро (мгновенно).
При открытии WebGL проекта в WebEngineView проект загружается очень очень долго - примерно 5-6 минут...
но после загрузки работает без тормозов (проверял с загрузкой проекта сложной 3D-модели).
WebGL проект открывается с локального диска.
Я пробовал различные варианты параметров экспорта из Unity (brotil компрессия, оптимизаци кода и др.). Пробовал также открытие WebGL проекта из под QML страницы. Разницы никакой. Скажите, в чем может быть проблема? Может быть применить какие-нибудь опции при сборке или применить QCoreApplication::setAttribute ??
Ниже прикладываю ссылки на проект Qt и WebGL проект.
Рекомендуємо хостинг TIMEWEB
Стабільний хостинг, на якому розміщується соціальна мережа EVILEG. Для проектів на Django радимо VDS хостинг.Вам це подобається? Поділіться в соціальних мережах!
- Akiv Doros
- 11 листопада 2024 р. 14:58
C++ - Тест 004. Указатели, Массивы и Циклы
- Результат:50бали,
- Рейтинг балів-4
- molni99
- 26 жовтня 2024 р. 01:37
C++ - Тест 004. Указатели, Массивы и Циклы
- Результат:80бали,
- Рейтинг балів4
- molni99
- 26 жовтня 2024 р. 01:29
C++ - Тест 004. Указатели, Массивы и Циклы
- Результат:20бали,
- Рейтинг балів-10
В общем проблема решилась сама собой, после того, как запустил приложение не из под QtCreator, а из под exe файла. Вообще под exe файлом шустрее работает все. Видимо запуск и инициализация движка Unity тормозится QtCreator-ом. При работе приложения из под exe запуск WebGL проекта в WebEngineView происходит за 2-3 секунды (на стареньких ПК 7-9 сек).