【问题标题】:Uno Platform WASM performance: good / acceptable / terribleUno Platform WASM 性能:良好/可接受/糟糕
【发布时间】:2022-01-21 11:13:34
【问题描述】:

我正在研究 Uno Platform 并尝试在我的笔记本电脑上运行 Getting-Started-Tutorial-1。很简单:demo。但是在 localhost 上加载这个简单的页面需要 10 秒。

UnoConf 上,据说Uno Gallery 是用uno 平台编写的。我测量了用户看到页面和加载所有背景数据的时间。结果:

  • Safari - 50 秒的白屏,然后加载页面(我没有找到如何测量背景负载)。
  • Firefox - 30 秒白屏,总共 34 秒(4 秒页面在后台加载)
  • Crome - 17 秒的白屏和总共 21 秒(后台加载 4 秒页面)

在不清除缓存的情况下重新加载页面几乎需要同样的时间。

为了比较,我打开了Vuetify Gallery。向用户显示页面需要 3 秒,总负载为 30 秒(27 秒页面在后台加载)。因此,用户可以在 3 秒内看到该页面并与之交互。

问题:这是真正的 Uno Platform WASM 性能吗?在移动应用程序(Android 和 iOS)中是否相同?任何解决方案如何加快速度?您能否推荐其他框架来开发性能更好的移动应用程序 + 网页?

【问题讨论】:

    标签: web mobile mobile-development uno-platform


    【解决方案1】:

    WebAssembly 中的加载性能高度依赖于应用的编译方式。有多种运行时执行模式(请参阅https://github.com/unoplatform/Uno.Wasm.Bootstrap#runtime-execution-modes),它们会影响应用程序的下载大小和运行时性能。然而,总体而言,WebAssembly 应用程序(至少目前)比基​​于 JavaScript 的应用程序的下载量更大——因此在连接速度较慢的情况下,它们第一次加载也需要更长的时间。后续加载应该很快。展望未来,性能和下载大小将随着 WebAssembly 方面的新创新以及 .NET 未来版本的新改进而不断提高。

    对于 Uno 平台的移动和桌面目标,性能非常接近原生,加载时间将与该平台上任何基于 .NET 的移动应用程序的性能相匹配。

    【讨论】:

    • 感谢您的详细回答。现在 Getting-Started-Tutorial-1 使用任何 WasmShellMonoRuntimeExecutionMode 参数加载大约 5-6 秒。尽管这是本地主机并且互联网速度不会影响它,但我无法加快速度。正如我在问题中提到的那样 - Uno Gallery 的每次加载/重新加载几乎都需要相同的时间(Safari 上为 45-50 秒,Chrome 上为 15-20 秒),尽管它不是第一次加载。你知道有哪些使用 Uno Platform 编写并发布到互联网上的网站吗?
    • 很高兴听到移动设备上的性能。谢谢。
    猜你喜欢
    • 2020-06-28
    • 1970-01-01
    • 2021-04-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-04-26
    • 2013-02-04
    • 1970-01-01
    相关资源
    最近更新 更多