2012-02-20 28 views
1

小さなアニメーションを実行する2つのタイマーを持つプログラムを作成しました。もともとtimerXは5msで動作し、timerYは1msで動作していました。私は実行可能なjarファイルにプログラムをエクスポートし、すべて正常に働いた。私はその後、同じ仕様を実行している別のコンピュータにその瓶を送りましたが、問題はありませんでした。しかし、私はtimerXをスピードアップすることに決めたので、このタイマーを1msで実行するように変更し、実行して保存し、ファイルをエクスポートしました。私のデスクトップからは、この新しいファイルは完璧に動いていましたが、それを他のコンピュータに渡すと、以前のものと変わりはありませんでした。実行可能なjarファイルに再送信する前に、Eclipseで何かする必要がありますか?また、デスクトップからは正常に動作しますが、他のコンピュータでは正常に動作しません.2msタイマーも1msに設定されているため、両方のインスタンスで同じ速度で動作します。タイマ付き実行可能なjar

答えて

2

Timer accuracyに示されているように、クロックの解像度はホストプラットフォームとオペレーティングシステムによって異なります。 javax.swing.Timerはデフォルトでイベントを結合しますが、タイマースレッドはこのような短い期間(高頻度)ですばやく飽和する傾向があります。古いシステムでは、補償が必要な場合があります。

+0

私はこのコードをTimer 100に変更して保存しても、最初に設定した最初の設定(Timer 5)に何らかの形でロックされていると思われます。私がこれを私の他のコンピュータに送ると、それはまだタイマー5の速度で走っているようです - それゆえ、私は遅くか早く進むことを補償できません。 – user1190323

+0

値が[コンパイル時定数](http://mindprod.com/jgloss/constant.html)の場合、クリーンビルドを実行して対応するクラスファイルをリフレッシュする必要があります。 – trashgod

関連する問題