私は最初のJavaFXアプリケーションを作成しています。これは、行き詰まったバージョンです。
import javafx.application.Application;
import javafx.scene.Scene;
import javafx.scene.layout.StackPane;
import javafx.stage.Stage;
public class Main extends Application
{
final private StackPane mainpane = new StackPane();
@Override
public void start(Stage primaryStage)
{
// main panel
this.mainpane.setMinWidth(1024);
this.mainpane.setMinHeight(768);
// show
primaryStage.setScene(new Scene(this.mainpane));
primaryStage.setResizable(false);
primaryStage.show();
}
public static void main(String[] args)
{
launch(args);
}
}
上記のプログラムを3台のコンピューターで起動してみましたが、起動時間の結果は驚くべきものです。すべてのマシンは最新のJavaバージョンを実行しています。アプリの作成にはe(fx)clipseを使用しています。
私の開発マシンは次のとおりです。
Intel Core i5-3330 (3GHz)
8 GB RAM
Windows 7
Eclipseでは、アプリケーションは約1秒で起動します。これで結構です。java -jar
同じマシンで起動されたビルドされたJARは、起動に約3〜4秒かかります。これは遅すぎます。
別のマシンは次のとおりです。
Intel Pentium Dual-Core E5400 (2.7GHz)
4 GB RAM
Windows Vista
このマシンでJARを起動するには1秒かかります...待ってください、何ですか?なんで?
そして最後に:
2 x 2.26 GHz Quad-Core Intel Xeon
32 GB 1066 MHz DDR3 ECC
OS X 10.8.2
アプリの起動時間:2秒
O_o
さて、Javaアプリケーションの最適化についてはよくわかりません。プロファイリングのベンチマークを作成する方法もわかりませんが、これはかなり基本的なことのようです。これは発生しないはずです。
これらすべてのプラットフォームで高速で均一な起動時間を確保するにはどうすればよいですか?私は自分のマシンで他のJavaFXアプリを起動しましたが、それらは非常に高速にロードされます(Ensembleは私の開発マシンで約2秒かかります)。
JavaFXの最適化に関連する追加のヒントをいただければ幸いです。