首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >JavaFX程序加载太慢

JavaFX程序加载太慢
EN

Stack Overflow用户
提问于 2019-11-11 10:39:46
回答 1查看 220关注 0票数 0

当我运行JavaFX程序时,窗口的第一次出现需要花费太多的时间-- ~700 ms。这是一个明显的延迟。

JavaFX能加载得更快吗?

我有:

我有一个由Maven原型org.openjfx:javafx-archetype-simple:0.0.3创建的简单的org.openjfx:javafx-archetype-simple:0.0.3项目。我只在PSVM中添加了一个额外的类,该类调用扩展Application类的类的PSVM:

代码语言:javascript
运行
复制
public class MainLauncher {
    public static void main(String... args) {
        System.out.println("MainLauncher...");
        App.main(args);
    }
}

public class App extends Application {

    @Override
    public void start(Stage stage) {...}

    public static void main(String[] args) {
        System.out.println("App...");
        Application.launch();
    }
}

MainLauncher是用maven-shade-plugin创建uber-JAR所必需的。

我已经使用屏幕记录(60 FPS)来检查应用程序启动所需的时间。

当我运行java -jar app.jarjava -p ${JARS_AND_FOLDER_WITH_CLASSES} -m com.company/com.company.MainLauncher时,换句话说--当我运行MainLauncher类时,我得到:

  • 在0毫秒时,我运行应用程序。
  • 在30~110 ms处,我看到控制台日志。
  • 在大约600到750毫秒时,我看到窗户开始粉刷。
  • +30毫秒用于窗端绘画*

当我运行App类时,它的行为有点不同,但是总时间是一样的。在本例中,稍后我在控制台中看到日志"App...“:

  • 在0毫秒时,我运行应用程序。
  • 在550 ms左右,我看到控制台日志。
  • 在大约600到750毫秒时,我看到窗户开始粉刷。
  • +30毫秒用于窗端绘画*

*窗漆采用2-3帧( 60 FPS):1. 标题栏+边框 2. 背景 3. 内容

EN

回答 1

Stack Overflow用户

发布于 2019-11-11 14:40:29

有了最新版本的Java,一些加速可能是可能的。关键是应用程序类数据共享。应用程序类数据共享可以通过java命令的命令行参数来激活它。基本上,它将所有初始化数据存储在某个地方,当应用程序第二次启动时,可以跳过整个初始化过程。

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

https://stackoverflow.com/questions/58799775

复制
相关文章

相似问题

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