Qt WebEngineView:加载WebGL项目(从Unity导出)时出现问题

时间:2019-05-31 19:09:21

标签: c++ qt unity3d unity-webgl webengine

我正在尝试在Qt WebEngineView(Qt 5.12.0)中下载一个WebGL项目(从Unity 2018.3.14f1导出)

例如,在Unity 2018中创建了WebGL项目-一个没有对象的空场景(仅摄像机)-屏幕截图: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项目

...但随后打开-屏幕截图:WebGLView中加载了WebGL项目

从本地驱动器打开WebGL项目。我尝试了Unity导出参数的各种选项(基本压缩,代码优化等)。告诉我,可能是什么问题?可以应用于Assembly或QCoreApplication :: setAttribute中的任何选项吗?

下面附加了项目WebGL和Qt项目

WebGL Project

Qt Project

1 个答案:

答案 0 :(得分:0)

从exe文件(而不是QtCreator下)运行应用程序后,问题得以解决。在exe文件下,一切工作都更快。显然,QtCreator降低了Unity引擎的启动和初始化速度。当应用程序在exe Web项目下运行时,在Web Engine视图中启动需要2-3秒(在旧PC上需要7-9秒)。