【JAVA】2Dアクションゲームを作る【初級】at GAMEDEV【JAVA】2Dアクションゲームを作る【初級】 - 暇つぶし2ch■コピペモード□スレを通常表示□オプションモード□このスレッドのURL■項目テキスト26:名前は開発中のものです。 04/09/23 21:20:58 aZqAfyms ヤムチャかよ! 27:名前は開発中のものです。 04/09/23 21:31:25 teKJ9g46 面白いからそれでいいじゃん。 28:名前は開発中のものです。 04/09/24 10:47:48 rxnCqiG6 斬新なアイデアだ 29:名前は開発中のものです。 04/09/25 02:11:22 m5HAIfiz え?Thread.sleep(16)で出来てなかったの? これは出来てないの? 30:12 04/10/02 12:36:34 jCcM5OdI 速度調整に関する検証結果です。 WindowsXP上のVMでwaitメソッドを実行した場合の精度は15msのようです。 確実に指定した期間以上スレッドを停止させるため、端数は繰り上げになります。 つまり、30FPSを実現しようとしてwait(33)を実行すると、実際にはwait(45)を 実行したのと同じになり、期待した速度調整がまったくできなくなります。 Windowsネイティブアプリケーションの場合、APIのtimeBeginPeriodを呼び出す ことでタイムスライシング全体の精度を上げるようになっているようです。 実際に別タスクでtimeBeginPeriodを呼び出すアプリケーションを実行している間は、 JavaVMのwaitメソッドの精度も向上しています。終了させた途端に精度は落ちます。 この現象は、SunのVMでもIEに付属のMicrosoftVMでも再現するようです。 今のところjavaのプログラムから明示的にwaitの精度を上げる方法がみつかりません。 とりあえず、 スレッド1 while(終了条件){処理();wait();} スレッド2 while(終了条件){notify();wait(30);} としておくのがWin95系でもNT系でも一番安定するようですが、他のOSでどんな挙動を するかはまったく調査していませんし、好ましい記述とはかけ離れています。 次ページ最新レス表示レスジャンプ類似スレ一覧スレッドの検索話題のニュースおまかせリストオプションしおりを挟むスレッドに書込スレッドの一覧暇つぶし2ch