首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为什么Qt组件应用程序启动时间太长?

为什么Qt组件应用程序启动时间太长?
EN

Stack Overflow用户
提问于 2022-05-26 09:30:31
回答 1查看 295关注 0票数 0

我正在用QTWeAssembple6.3检查示例(QtQuickControls 2.0),在局域网上,特别是在智能手机上,通过局域网加载应用程序的时间太长了。太慢大约是40秒。大多数时候,正如我在屏幕上看到的,它是“编译”。

  1. 在这种情况下,什么是“编译”?我以为组件代码已经编译好了,只需要运行。
  2. QT组件应用总是这样慢吗?有什么办法让它装得更快吗?至少第一次加载,然后从缓存运行它,因为现在它花费同样的时间重新加载应用程序,如果页面被刷新。

我已经检查了Felgo的演示应用程序(我希望它们非常完美),但是在我的智能手机上,加载这个沉重的例子需要20到30秒。https://felgo.com/try-wasm/

EN

回答 1

Stack Overflow用户

发布于 2022-06-14 11:07:05

本例中的“编译”指的是qtloader.js内部调用的qtloader.js。这基本上是将WASM二进制代码加载到网页中。

根据qtloader.js默认模板中的注释,在使用回退时将显示“编译”。通常应该说“下载/编译”,这是更快的方法。

代码语言:javascript
复制
  return WebAssembly.compileStreaming(response).catch(function(error) {
      // compileStreaming may/will fail if the server does not set the correct
      // mime type (application/wasm) for the wasm file. Fall back to fetch,
      // then compile in this case.
      return fetchThenCompileWasm(response);
  });

因此,请检查mime类型是否按照注释的建议正确设置。

提高性能的第二个选项是在web服务器设置中启用gzip压缩。WASM文件压缩得很好,例如,在我的测试中,一个13 MB的文件被压缩为5MB。这将使其他相当大的下载速度更快一些。

但是,即使在进行了所有优化之后,WASM的Qt仍然必须下载并加载完整的Qt框架,这将需要时间。在我的安卓手机上,一个较小的WASM将在3到4秒内在本地网络上加载,但这在很大程度上取决于设备的功能(我用CDP浏览器 WASM进行了测试,它基本上是一个显示一些数据的QTreeView )。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/72389652

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档