おすすめ初期設定(画面を滑らかにする方法など)
投稿者 : マッキー(ml7ts005v13c.pcsitebrowser.ne.jp)
- 2012/05/04(Fri) 22:49
No.13556
|
|
|
|
|
13556.zip
質問ではないです。 Tonyuの画面は、デフォルトだと処理が重くなくても、よく見ると少しガクついて見えてしまいます。(特にvista,7でAeroが有効の場合) そこで、なるべく滑らかに見えるようにする方法や、その他の問題に対応するための、 おススメの設定を紹介したくなったので、書き込みました。 (但し、自PCでしか動作確認していないので、他の環境だと違う挙動になるかもしれません… また、これはTonyu 1.26であることを前提に書いています)
【画面を滑らかにする】(60FPSのゲームの話) Tonyuウィンドウの「オプション」→「描画方法」を見ると、デフォルトではA方式にチェックが付いていますが、 Tonyu内部ではB方式になっているようです。 Aeroが有効の場合、B方式ではFPSが62,63になっていても、よく見るとガクついて見えてしまいます。 したがって、$Window.setDrawMode() メソッドでA方式かC方式に設定した方がいいです。 但し、フルスクリーンの時はB方式にしないと画面が映らなくなるので注意!
新しいPC(XP以降あたり)では、A方式の方がFPSが上がると思います。 古いPCでは、C方式の方がFPSが上がるはずです。 但し、C方式では半透明処理で激重になるのは、どの環境でも共通のようです。
FPSはデフォルトで62,63程ですが、60FPSに近い方が滑らかに見えます。(PCのモニターの周波数が60Hzの場合) $System.setFrameRate() メソッドで第1引数に58を設定すると、実行時に59FPSになります。 デフォルトよりは滑らかに表示されるはずです。(1秒ごとに画面の歪みorガクつきが見えてしまいますが…)
【CPU使用率を下げる】 Tonyuはデフォルトでは、処理が重くなくてもCPUをガンガン使います!(1コアのCPUだと100%になる) これは、高性能のPCにとってはすごく無駄です。 必要な分だけCPUを使うには、$Options.set() メソッドで"sleep_time"を1に設定します。 値を大きくし過ぎると、FPSが下がってしまうので注意してください。 古いPCでは、値を1にしてもFPSが下がる可能性があります。
【SE(wavファイル)が遅れて鳴るのを軽減する】 vista,7ではSEが遅れて鳴るのが目立ちます。 $mplayer.setDelay() メソッドで、SEの遅延を軽減することができます。 値は2250か、余裕を持つなら2400,2500あたりがいいと思います。(51ミリ〜56ミリ秒程の遅延で済むはず) 値を小さくし過ぎると、SEの始めの部分が途切れて聞こえるので注意!
【最初のSEの音が飛ばないようにする】 起動して最初に鳴らすSEは、どうしても音飛びしてしまいます。(特に長い音の場合) 起動直後に適当なSEを音量0で鳴らして、7フレーム以上後ならSEが正常に鳴らせるはずです。
【おススメの設定】 以上の説明を踏まえると、下記のような設定が好ましいと思います。 下記のコードを、ループの上など初期設定する場所にコピペしておくといいでしょう。(必要であれば改変した方がいいかも)
if (!$fullScreen) $Window.setDrawMode("A"); $System.setFrameRate(58, 5); $Options.set("sleep_time", 1); $mplayer.setDelay(2400); //$mplayer.play($se_sound1, 0, 0); // 音量0でSEを鳴らす(次のSEは7フレーム後に鳴らす)
【補足】 FPSが59の状態だと、1秒ごとに歪みorガクつきが生じてしまいます。 気になる場合は、以下の方法も試してください。 下記のコードは、フレームレートを微調整するための物です。
但し、Aeroが有効の場合、タイミングによっては、FPS表示よりも見た目上ではガクついて見えたりします。 Aeroが無効の場合でも、タイミングによっては、画面に歪み続けている部分ができたりします。 つまり、歪みorガクつきを完全に消すことはできないので、マシなものを選ぶしかありません。 FPS:59のままの方がマシかもしれませんし、下記の方がいいかもしれません。(好みで違うかな?)
以下のどれかコード1行を、ループ中に埋め込みます。(必要であれば改変した方がいいかも)
if ($frameCount%3 < 2) $System.setFrameRate(58, 5); else $System.setFrameRate(60, 5); // 歪みorガクつき局所化 if ($frameCount%9 < 6) $System.setFrameRate(58, 5); else $System.setFrameRate(60, 5); // 歪みorガクつき分散 if ($frameCount%5 < 4) $System.setFrameRate(58, 5); else $System.setFrameRate(60, 5); // 2秒ごとに歪みorガクつき
添付ファイルは、デフォルト設定と改良後の設定の差を見比べることができます。(スペースキーで切替) また、上記のコード試すのにも使えます。
なんかここ間違っているよーとか、その他何かあれば返信してください。
(もう少しでBBSのアクセスカウンターが80万になりますね〜 (^^))
|
Re: おすすめ初期設定(画面を滑らかにする方法など)
投稿者 : mm(ntnara077099.nara.nt.ftth4.ppp.infoweb.ne.jp)
- 2012/05/30(Wed) 19:14
No.13560
|
|
|
|
最近osをwindow7に変更しましたが、今回のまとめは色々参考になりました。
|
Re: おすすめ初期設定(画面を滑らかにする方法など)
投稿者 : *tak(210-252-41-179.ppp.bbiq.jp)
- 2012/06/04(Mon) 09:47
No.13561
|
|
|
|
参考になりました、これから作るゲームに取り入れます(`・ω・´)
推薦記事:
HIATUS
|
Re: おすすめ初期設定(画面を滑らかにする方法など)
投稿者 : マッキー(p3086-ipbf907sapodori.hokkaido.ocn.ne.jp)
- 2012/06/15(Fri) 00:08
No.13565
|
|
|
|
13565.zip
追記:
【CPU使用率を下げる】 $Options.set() メソッドで"sleep_time"を1に設定すると、古いPCではFPSが下がるとありますが、 古くないPCでも、FPSの数値は下がらなくても、画面がカクカクに見える場合があることが判明しました。
初期設定をする際には、 ・画面のなめらかさ ・CPU使用率の節約 この2つのどちらを優先させるか選び、
画面のなめらかさを優先するなら、 $Options.set("sleep_time", 0); もしくは、このコードを書かない
CPU使用率の節約を優先するなら、 $Options.set("sleep_time", 1);
とそれぞれ設定した方がいいです。
ゲーム中に設定項目(オプション等)を設けて、プレイヤーにどちらを優先させるかを 選ばせるという方法もいいかもしれません。
今回の添付ファイルは、 ・デフォルト設定 ・改良設定(スリープタイム0ms) ・改良設定(スリープタイム1ms) の3つの設定の差を見比べることができます。
|
Re: おすすめ初期設定(画面を滑らかにする方法など)
投稿者 : マッキー(p2430044-ipngn16401hodogaya.kanagawa.ocn.ne.jp)
- 2021/07/01(Thu) 01:03
No.13948
|
|
|
|
13948.zip
追記:
Tonyu1の上記スレッドの設定ですが、 Tonyu1.29からは、上記設定をする必要は無くなりました。 (Tonyu1.28までで有効な設定となります)
Tonyu1.29では上記設定をしなくても、 @滑らかに見える ACPU使用率を無駄に使わない BSE(wavファイル)はできる限り遅れない ように対応しています。
(【最初のSEの音が飛ばないようにする】については対策していないので、気になる場合はこれのみ上記設定をしてください。「//$mplayer.play〜」の部分です。)
Tonyu1.29は、Tonyu1新Wikiの方で公開しています。(現Tonyu1Wikiから新Wikiに移行予定) ttps://makkii-bcr.github.io/Tonyu1-wiki/download
【添付ファイル】 Tonyu1.29で実行する際のソースコードです。 上記スレッドの添付ファイルから、不要な設定を削除しました。
【備考】 Tonyu1.29で上記設定が不要になった理由として、具体的には以下の対応を1.29に入れたからです。 @滑らかに見える、ACPU使用率を無駄に使わない ・フレームレートの精度がよくなるよう変更しました。(ver1.28までは60FPS設定で62.5FPS、58FPS設定で58.8FSPだった) ・モニターの走査線を取得し、ゲーム実行タイミングを微調整するので、カクつき(スタッタリング)が軽減されます。 ・Tonyu内部のゲーム実行処理を、ビジーループ+Sleep⇒マルチメディアタイマー変更しました。この変更で、CPU使用率を削減されつつ、カクつきを軽減できます。 ・描画方式のデフォルト設定を、Vista以降はA方式にしました。それより古いOSはB方式です。Vista以降は、A方式の方がカクつきが軽減されるようです。 BSE(wavファイル)ができる限り遅れない ・OSによってDelayの初期値を変更しています。
|
Re: おすすめ初期設定(画面を滑らかにする方法など)
投稿者 : マッキー(p3136105-ipngn20601hodogaya.kanagawa.ocn.ne.jp)
- 2022/08/05(Fri) 02:02
No.14053
|
|
|
|
Tonyu1 ver1.30 (Tonyu1_30_2022_0804)をリリースしました。 ver1.30より、本スレッドの設定は全て不要になりました。 (Tonyu1内部でデフォルトで最適な設定にしているためです。あと、不具合修正したためです) むしろ設定しているとカクついたりするので、ver1.30以降では本スレッドの設定を全て削除してください。
|
|