
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 хостинг.Вам это нравится? Поделитесь в социальных сетях!
Комментарии
Пожалуйста, авторизуйтесь или зарегистрируйтесь
- Unknown akadamn
- 24 января 2025 г. 17:14
Qt - Тест 001. Сигналы и слоты
- Результат:84баллов,
- Очки рейтинга4
- Unknown akadamn
- 24 января 2025 г. 16:22
Qt - Тест 001. Сигналы и слоты
- Результат:42баллов,
- Очки рейтинга-8


В общем проблема решилась сама собой, после того, как запустил приложение не из под QtCreator, а из под exe файла. Вообще под exe файлом шустрее работает все. Видимо запуск и инициализация движка Unity тормозится QtCreator-ом. При работе приложения из под exe запуск WebGL проекта в WebEngineView происходит за 2-3 секунды (на стареньких ПК 7-9 сек).