こんにちは、下位プロセッサで効果的に動作するJavaFxで国際化の概念(ヒンディー語用)を実装したいと考えています。Javafx国際化と下位ハードウェア低速問題
構成: - プロセッサー - インテルAtom CPUD425する@ 1.80GHz×2 RAM - 2ギガバイト OS - 32ビットのFedora 15
リソースバンドルでの国際化の概念を実装。しかし、その低いプラットフォームではかなり遅いです。 How to implement language support for JavaFX in FXML documents?で提案されているように正しく実装されていますが、英語とヒンディー語(2〜4秒)で同じ遅さが発生します。
したがって、グローバル変数を1つ取り、言語をヒンディー語に変更した場合はその変数を1に設定してみました。 各fxmlコントローラの初期化メソッドについて、 その変数が1ならば、次に示すようにfxmlラベルとボタンテキストをヒンディー文字列に設定します。
@Override
public void initialize(URL location, ResourceBundle resources) {
// TODO Auto-generated method stub
if(Configuration.getLangSelected()==1){
label1.setText("आप क्या करना पसंद करेंगे?");
button1.setText("ई-कैश प्राप्त करें");
button2.setText("सेवा का उपयोग करें");
button3.setText("वापस");
}
}
は、低ハードウェア構成のためのリソースバンドルの方法よりもパフォーマンスが向上し、フロー時間(2.8sec)を取った英語のためではなく、ヒンディー語のレンダリングのための罰金です。 しかし、ここでは2.8秒は受け入れられません。最小限の時間でこのタスクを達成するための他の方法はありますか?好奇心のために
、次のように初期設定に英語の文字列でヒンディー語の文字列を置き換えたよう: -
@Override
public void initialize(URL location, ResourceBundle resources) {
// TODO Auto-generated method stub
if(Configuration.getLangSelected()==1){
label1.setText("What you want to do?");
button1.setText("Get E-cash");
button2.setText("Use Service");
button3.setText("Back");
}
}
同じファイルは、この変更のために高速にロード。 他の言語の文字列を直接ラベルやボタンに設定することはできません。 テキストを直接設定し、そのfxmlをすばやく読み込む方法はありますか?
http://mail.openjdk.java.net/pipermail/openjfx-dev/2017-January/020134.html – tomsontom
@tomsontom sirによって、あなたが噛まれている可能性があります。今のところ、回避策はありますか?この問題か他の方法ですか? –
考えられる回避方法:1.ウィンドウを使用します。 2.英語を使用する。 3.独自のJREを構築します。私は3と一緒に行き、10倍のパフォーマンス改善を見ました。 – Itai