在 JavaFX 中,我使用 stage1.hide() 从一个阶段切换到另一个阶段; stage2.show();
但是,stage2 相当大并且包含一大堆元素。所以当我 show() 它时,当它第一次弹出时,有 400 毫秒的时间,整个舞台是空的和灰色的。然后所有元素都会出现。
实在是太丑了。这是在具有非常好的 GPU 的 i7 上进行的。
我注意到,如果我显示它,然后隐藏它,然后再次显示它,那么最终的节目从出现在屏幕上的那一刻起就会看起来很完美。但是,当我第一次 hide() 然后 show() 舞台时,会出现闪烁,所以这是行不通的。
是否有可能实现我在上一段中描述的内容,而不必事先让舞台出现在屏幕上?
这是在 Java 8u5 上使用新的 Modena 主题。值得注意的是,JavaFX 2.2 中不存在此问题。
谢谢!
最佳答案
此问题的根本原因是早期 Java 8 版本中引入的性能回归。将 Java 8 版本更新到 latest development version ,修复了该问题(如原始海报所报告)。
更新后,用户不再经历:“400毫秒的时间,整个舞台都是空的、灰色的”。因此,不再需要问题“在 show() 之前预加载 JavaFX 阶段”中的原始请求,因为无需任何预加载调整,性能就很好。
关于java - 在 show() 之前预加载 JavaFX 阶段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24074888/