电子应用程序从dvd加载性能差

Electron app from dvd poor loading performance

本文关键字:加载 性能 dvd 应用程序      更新时间:2023-09-26

我们刚刚完成了使用node和react构建电子应用程序。该应用程序在每个平台上都运行顺利,我们对结果感到非常高兴。现在,我们收到了在dvd上分发该应用程序版本的请求(这意味着我们需要直接从光盘运行该应用程序,而无需将其安装在本地驱动器上),所以我们只需刻录它并尝试启动它。该应用程序运行良好,但问题是加载时间,因为在没有向最终用户提供任何反馈的情况下,运行该应用程序几乎需要2分钟。这是由于从光盘驱动器加载大量文件的开销非常慢造成的。因此,我们需要一些想法来加快速度,或者至少在加载期间向用户展示一些东西。这可能是一个带有启动屏幕的启动器应用程序,但它必须在mac、win和linux上运行。我们在QT考虑过,但我们想要一些不那么复杂的东西。。

任何想法都欢迎

尝试将应用程序打包为asar存档。访问存档比访问多个小文件更快。

为此,您可能需要使用electron-builder

这很可能不是你运行它的应用程序或设备的问题,它更有可能是一个慢DVD播放器或慢DVD本身,尝试通过其他方法分发也可能很有用,例如制作安装程序并让人们从网站下载,或销售带有可执行文件的USB。另一个问题是,您是否已将电子应用程序从源代码转换为可执行程序?启动可执行程序比从命令中运行电子代码更快、更容易。

我有一个理论,这可能与你不能写入典型的DVD有关,所以这可能不是加载时间,可能是它正在尝试写入,但它不能。

我对我的理论做了一点调查,下载了一些电子应用程序,然后开始调查它们的包内容(在MacOS上),看看它们在安装过程中是否被OS修改了。

我遇到的大多数文件的创建/修改日期与应用程序打包部署时的日期相同。然而,在这两种情况下,我都注意到,在Contents/Frameworks中,有三个目录在我安装应用程序时被修改了(Electron Framework.Framework、Mantle.Framework、ReactiveCocoa.Framework和Squirrel Framework)。

似乎如果它试图对DVD上的这些文件进行更新,就会出现错误。

这是我的理论——它可能不正确,但还没有听说这里提到过,所以也许可以研究一下。