我正在尝试在 Qt WebEngineView(Qt 5.12.0)中下载一个 WebGL 项目(从 Unity 2018.3.14f1 导出)
例如,WebGL 项目是在 Unity 2018 中创建的 - 一个没有对象的空场景(仅限相机) - 屏幕截图:Unity 项目
并导出到 WebGL 程序集(应用 .gzip 压缩,构建大小 2.3 MB) - 屏幕截图:Unity 构建设置
Qt 项目取自 Qt 的示例库(“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();
}
当您在 Chrome 中打开 WebGL 项目时,一切都加载得非常快(立即) - 屏幕截图:在 Chrome 中打开的 WebGL 项目
当您在 WebEngineView 中打开 WebGL 时,该项目需要很长时间才能加载(大约 5-6 分钟) - 屏幕截图:WebEngineView 中的 WebGL 项目加载
...但随后它会打开 - 屏幕截图:WebEngineView 中加载的 WebGL 项目
WebGL 项目是从本地驱动器打开的。我尝试了 Unity 导出参数的各种选项(brodil 压缩、代码优化等)。告诉我,可能是什么问题?可以应用于 Assembly 或 QCoreApplication::setAttribute 中的任何选项吗?
下面附上项目WebGL和Qt项目