寄稿文の最後にシステムスペックとコードサンプル!
まず第一に、私はこのフォーラムに不慣れです。レイアウトや質問自体に問題があれば教えてください。私はLinux、ubuntuも初めてで、Javaの初心者です。ubuntuの前はwindows7を使っていました。私のマシンにubuntuをインストールした後、問題が最初に現れました。
問題
eclipse で、swing パッケージまたは Java アプレットを使用してアニメーション ウィンドウを実行すると、アニメーションがびくびくして滑らかになりません。JPanel と、背景と左から右に移動する 2D ボールを持つ JFrame で構成される非常に単純なプログラムのコードのサンプルを示します。プログラムは 30 ミリ秒ごとに再描画するように設定されています。このような単純なグラフィックスを実行することは問題になりません。それ以外の場合、Eclipseは高速でスムーズです。誰かが以前にこのようなことに遭遇した場合は、助けやアドバイスをいただければ幸いです。
編集:
例外の追加: アプリケーション ウィンドウの上にマウスを置いて (そして動かし続けると)、アニメーションがびくびくしなくなります。動きを止めると、また滑らかではなく、びくびくし始めます。誰かがこれについて聞いたことがありますか?
私が試したこと
*これに関連するバグや問題を検索していますが、何も見つかりません
※最新のEclipseと最新のJDKをインストール
* eclipse.ini ファイルの編集
* 私の Windows 7 マシンで私のコードを実行しています (正常に動作します)
*バンブルビーをインストールし、nvidia optimus を使用
システム
OS: Ubuntu 12.04 (正確) 64 ビット
メモリ: 5.6 GiB、プロセッサ Intel Core 2.5 GHz x 4 CPU
日食ジュノ 4.2.0
Java -バージョンが私をもたらします
$ -java version
java version "1.7.0_21"
Java(TM) SE Runtime Environment (build 1.7.0_21-b11)
Java HotSpot(TM) 64-Bit Server VM (build 23.21-b01, mixed mode)
lspci | grep VGA は私をもたらします
00:02:0 VGA compatible controller: Intel Corporation Ivy Bridge Graphics Controller (rev 09)
私のeclipse.iniファイル
-startup
plugins/org.eclipse.equinox.launcher_1.3.0.v20120522-1813.jar
--launcher.library
plugins/org.eclipse.equinox.launcher.gtk.linux.x86_64_1.1.200.v20120913-144807
-product
org.eclipse.epp.package.jee.product
--launcher.defaultAction
openFile
-showsplash
org.eclipse.platform
--launcher.XXMaxPermSize
256m
--launcher.defaultAction
openFile
-vmargs
-Xincgc
-XX:NewSize=8m
-XX:MaxPermHeapExpansion=10m
-XX:CMSInitiatingOccupancyFraction=70
-XX:+UseCMSInitiatingOccupancyOnly
-XX:+UseParNewGC
-XX:+CMSConcurrentMTEnabled
-XX:ConcGCThreads=2
-XX:ParallelGCThreads=2
-XX:CMSIncrementalDutyCycleMin=0
-XX:CMSIncrementalDutyCycle=5
-XX:GCTimeRatio=49
-XX:MaxGCPauseMillis=20
-XX:GCPauseIntervalMillis=1000
-XX:+UseCMSCompactAtFullCollection
-XX:+CMSClassUnloadingEnabled
-XX:+DoEscapeAnalysis
-XX:+UseCompressedOops
-XX:+AggressiveOpts
-XX:+ExplicitGCInvokesConcurrentAndUnloadsClasses
-Dosgi.requiredJavaVersion=1.7
-Dhelp.lucene.tokenizer=standard
-XX:MaxPermSize=128m
-XX:PermSize=128m
-Xmn128m
-Xms1024m
-Xmx1024m
-Xss2m
-XX:+UseConcMarkSweepGC
コードサンプル
/////////Sample from the JPanel class (extends JPanel)/////////
private int y = 200;
private int x = 0;
public testPanel() {
setVisible(true);
setPreferredSize(new Dimension(1500, 400));
setBackground(Color.black);
}
public void move() {
x = x + 2;
}
public void paintComponent(Graphics g) {
super.paintComponent(g);
g.setColor(Color.green);
g.fillOval(x, y, 50, 50);
}
}
///////Sample from the JFrame class (extends JFrame)/////////
private testPanel thePanel = new testPanel();
private Timer t = new Timer(30, this);
public testFrame() {
add(thePanel);
setVisible(true);
setDefaultCloseOperation(EXIT_ON_CLOSE);
pack();
t.start();
}
public void actionPerformed(ActionEvent e) {
thePanel.move();
repaint();
}