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 проект.
We recommend hosting TIMEWEB
Stable hosting, on which the social network EVILEG is located. For projects on Django we recommend VDS hosting.Do you like it? Share on social networks!
- Akiv Doros
- Nov. 11, 2024, 2:58 p.m.
C ++ - Test 004. Pointers, Arrays and Loops
- Result:50points,
- Rating points-4
- molni99
- Oct. 26, 2024, 1:37 a.m.
C ++ - Test 004. Pointers, Arrays and Loops
- Result:80points,
- Rating points4
- molni99
- Oct. 26, 2024, 1:29 a.m.
C ++ - Test 004. Pointers, Arrays and Loops
- Result:20points,
- Rating points-10
В общем проблема решилась сама собой, после того, как запустил приложение не из под QtCreator, а из под exe файла. Вообще под exe файлом шустрее работает все. Видимо запуск и инициализация движка Unity тормозится QtCreator-ом. При работе приложения из под exe запуск WebGL проекта в WebEngineView происходит за 2-3 секунды (на стареньких ПК 7-9 сек).