「動作速度の極限を求めて」の編集履歴(バックアップ)一覧はこちら
「動作速度の極限を求めて」(2006/12/26 (火) 12:09:42) の最新版変更点
追加された行は緑色になります。
削除された行は赤色になります。
**パネルを高速描画する
情報元:[[ryotaさんのwikiより>http://ryota222.hp.infoseek.co.jp/cgi-bin/wiki/wiki.cgi?page=%b3%d0%bd%f1]]
Panelクラスを直接作る。(PanelCharクラスを使わない)
Panel::draw/Panel::stretchDrawで描画する。
使い方については、PanelChar.tonyu/Panel.tonyuを参照
**Tonyu実行速度の客観的計測結果
情報元:[[ryotaさんのwikiより>http://ryota222.hp.infoseek.co.jp/cgi-bin/wiki/wiki.cgi?page=%bc%c2%b9%d4%c2%ae%c5%d9]]
結論として、「TonyuSystemはインタープリタの中では速い方である。」そうです。ただし、あくまで計算による計測結果であって、やはり画像描写やサウンドの再生についてはHSPやCに劣る点がある。
**ページ数を少なくする
[[loadPage()関数>http://tonyu.kake.info.waseda.ac.jp/api/html/$projectManager.loadPage.html]]の遅さをはユーザーからすればゲーム速度の遅さです。
ページを減らしてロードを少なくすると体感速度が上がります。あとはコンパイル速度も上がります。
**効果音、画像を少なくする
コンパイル速度を上げます。
**クラス数を少なくする
単純な話です。
これは、動作速度そのものよりも管理のし易さや起動時のコンパイル速度を上げるためのテクです。
**プログラムを短くする
コンパイル速度を上げる意味が強いです。
また、短く簡潔なプログラムは後で見直す時にも読み解きやすくいいことづくめです。
※)大規模なゲームになると矛盾する内容があります。これを守ろうとするとゲームが面白くなくなることがあるので、それほど難しく考えないほうがいいでしょう。
**変数を減らす
特にグローバル変数を使いまわしたりして減らします。
これはメモリの利用量を減らせるので低スペックパソで効果がある…かもしれません(ほとんど変わらない現実^^;)
**画面外のオブジェクトは動作を停止する
[[screenOut()関数>http://tonyu.kake.info.waseda.ac.jp/api/html/PlainChar.screenOut.html]]でそのオブジェクトが画面外にあるかどうかを判定できます。
この関数を使って、画面外のオブジェクトは動作をしないようにすれば実行速度は大幅にアップします。
**一ステージのサイズを小さくする
一ステージのマップのサイズが小さければ、ロード時間が早くなります。つまり、[[loadPage()関数>http://tonyu.kake.info.waseda.ac.jp/api/html/$projectManager.loadPage.html]]の速度が体感的に向上します。
**オブジェクトを使わずに描写する
スコアや、ちょっとしたキャラクターなどはオブジェクトを使わずにdraw系メソッドで代用します。動作速度の向上に大きく効果アリ!(大量のオブジェクトvsならば。少量ならあまり効果はない)
TDRCではほとんどオブジェクトを使わずに動作させてみてます。
**画面サイズを小さくする
320×240サイズだとだいたいのパソコンで快適に動作します。
これが一番手っ取り早く動作速度を上げる方法です。
**音を再生しない
特にBGMの再生をしないのは動作速度の向上に大きく役立ちます。ただし、ゲームが物足りなくなりますので、あんまりお勧めしません。
**描写モードの変更
半透明機能などを使っていないならば描写モードはCで。それ以外ならばAにしましょう。Bはあんまり効果がありません。
**フルスクリーンモードを使わない
Tonyuではフルスクリーンのほうが動作が遅いです。
**高性能のパソコンに買い換える
一番手っ取り早い動作速度の向上方法です。
**マップを作らない
お手軽に高速化できます。読み込み速度も上がります。
**$panelを作らない
Kernelフォルダー内のBootファイルを編集します。あんまし工科がないわりに、とっても不便になるのであんまりお勧めできません^^;
**パネルを高速描画する
情報元:[[ryotaさんのwikiより>http://ryota222.hp.infoseek.co.jp/cgi-bin/wiki/wiki.cgi?page=%b3%d0%bd%f1]]
Panelクラスを直接作る。(PanelCharクラスを使わない)
Panel::draw/Panel::stretchDrawで描画する。
使い方については、PanelChar.tonyu/Panel.tonyuを参照
**Tonyu実行速度の客観的計測結果
情報元:[[ryotaさんのwikiより>http://ryota222.hp.infoseek.co.jp/cgi-bin/wiki/wiki.cgi?page=%bc%c2%b9%d4%c2%ae%c5%d9]]
結論として、「TonyuSystemはインタープリタの中では速い方である。」そうです。ただし、あくまで計算による計測結果であって、やはり画像描写やサウンドの再生についてはHSPやCに劣る点がある。
**ページ数を少なくする
[[loadPage()関数>http://tonyu.kake.info.waseda.ac.jp/api/html/$projectManager.loadPage.html]]の遅さをはユーザーからすればゲーム速度の遅さです。
ページを減らしてロードを少なくすると体感速度が上がります。あとはコンパイル速度も上がります。
**効果音、画像を少なくする
コンパイル速度を上げます。
**クラス数を少なくする
単純な話です。
これは、動作速度そのものよりも管理のし易さや起動時のコンパイル速度を上げるためのテクです。
**プログラムを短くする
コンパイル速度を上げる意味が強いです。
また、短く簡潔なプログラムは後で見直す時にも読み解きやすくいいことづくめです。
※)大規模なゲームになると矛盾する内容があります。これを守ろうとするとゲームが面白くなくなることがあるので、それほど難しく考えないほうがいいでしょう。
**変数を減らす
特にグローバル変数を使いまわしたりして減らします。
これはメモリの利用量を減らせるので低スペックパソで効果がある…かもしれません(ほとんど変わらない現実^^;)
**画面外のオブジェクトは動作を停止する
[[screenOut()関数>http://tonyu.kake.info.waseda.ac.jp/api/html/PlainChar.screenOut.html]]でそのオブジェクトが画面外にあるかどうかを判定できます。
この関数を使って、画面外のオブジェクトは動作をしないようにすれば実行速度は大幅にアップします。
**一ステージのサイズを小さくする
一ステージのマップのサイズが小さければ、ロード時間が早くなります。つまり、[[loadPage()関数>http://tonyu.kake.info.waseda.ac.jp/api/html/$projectManager.loadPage.html]]の速度が体感的に向上します。
**オブジェクトを使わずに描写する
スコアや、ちょっとしたキャラクターなどはオブジェクトを使わずにdraw系メソッドで代用します。動作速度の向上に大きく効果アリ!(大量のオブジェクトvsならば。少量ならあまり効果はない)
TDRCではほとんどオブジェクトを使わずに動作させてみてます。
**画面サイズを小さくする
320×240サイズだとだいたいのパソコンで快適に動作します。
これが一番手っ取り早く動作速度を上げる方法です。
**音を再生しない
特にBGMの再生をしないのは動作速度の向上に大きく役立ちます。ただし、ゲームが物足りなくなりますので、あんまりお勧めしません。
**描写モードの変更
半透明機能などを使っていないならば描写モードはCで。それ以外ならばAにしましょう。Bはあんまり効果がありません。
**フルスクリーンモードを使わない
Tonyuではフルスクリーンのほうが動作が遅いです。
**高性能のパソコンに買い換える
一番手っ取り早い動作速度の向上方法です。
**マップを作らない
お手軽に高速化できます。読み込み速度も上がります。
**$panelを作らない
Kernelフォルダー内のBootファイルを編集します。あんまし工科がないわりに、とっても不便になるのであんまりお勧めできません^^;
**その他Akasinさんのwikiより
http://www7.atwiki.jp/akasi3/pages/542.htmlを参照。中身は以下。
1.当たり判定を数フレームに1回に
2.オブジェクト毎に$charsに相当する配列を作成
3.メニュー表示などにパネルを使用する
表示オプション
横に並べて表示:
変化行の前後のみ表示: