atwiki-logo
  • 新規作成
    • 新規ページ作成
    • 新規ページ作成(その他)
      • このページをコピーして新規ページ作成
      • このウィキ内の別ページをコピーして新規ページ作成
      • このページの子ページを作成
    • 新規ウィキ作成
  • 編集
    • ページ編集
    • ページ編集(簡易版)
    • ページ名変更
    • メニュー非表示でページ編集
    • ページの閲覧/編集権限変更
    • ページの編集モード変更
    • このページにファイルをアップロード
    • メニューを編集
    • 右メニューを編集
  • バージョン管理
    • 最新版変更点(差分)
    • 編集履歴(バックアップ)
    • アップロードファイル履歴
    • ページ操作履歴
  • ページ一覧
    • ページ一覧
    • このウィキのタグ一覧
    • このウィキのタグ(更新順)
    • このページの全コメント一覧
    • このウィキの全コメント一覧
    • おまかせページ移動
  • RSS
    • このウィキの更新情報RSS
    • このウィキ新着ページRSS
  • ヘルプ
    • ご利用ガイド
    • Wiki初心者向けガイド(基本操作)
    • このウィキの管理者に連絡
    • 運営会社に連絡(不具合、障害など)
ページ検索 メニュー
Akasin_Room
  • ウィキ募集バナー
  • 目安箱バナー
  • 操作ガイド
  • 新規作成
  • 編集する
  • 全ページ一覧
  • 登録/ログイン
ページ一覧
Akasin_Room
  • ウィキ募集バナー
  • 目安箱バナー
  • 操作ガイド
  • 新規作成
  • 編集する
  • 全ページ一覧
  • 登録/ログイン
ページ一覧
Akasin_Room
ページ検索 メニュー
  • 新規作成
  • 編集する
  • 登録/ログイン
  • 管理メニュー
管理メニュー
  • 新規作成
    • 新規ページ作成
    • 新規ページ作成(その他)
      • このページをコピーして新規ページ作成
      • このウィキ内の別ページをコピーして新規ページ作成
      • このページの子ページを作成
    • 新規ウィキ作成
  • 編集
    • ページ編集
    • ページ編集(簡易版)
    • ページ名変更
    • メニュー非表示でページ編集
    • ページの閲覧/編集権限変更
    • ページの編集モード変更
    • このページにファイルをアップロード
    • メニューを編集
    • 右メニューを編集
  • バージョン管理
    • 最新版変更点(差分)
    • 編集履歴(バックアップ)
    • アップロードファイル履歴
    • ページ操作履歴
  • ページ一覧
    • このウィキの全ページ一覧
    • このウィキのタグ一覧
    • このウィキのタグ一覧(更新順)
    • このページの全コメント一覧
    • このウィキの全コメント一覧
    • おまかせページ移動
  • RSS
    • このwikiの更新情報RSS
    • このwikiの新着ページRSS
  • ヘルプ
    • ご利用ガイド
    • Wiki初心者向けガイド(基本操作)
    • このウィキの管理者に連絡
    • 運営会社に連絡する(不具合、障害など)
  • atwiki
  • Akasin_Room
  • Diary
  • 2006年05月04日
  • 「ミスティックロンド」ver0.26、動作速度劇的改善

Akasin_Room

「ミスティックロンド」ver0.26、動作速度劇的改善

最終更新:2006年05月04日 09:24

匿名ユーザー

- view
メンバー限定 登録/ログイン
#blognavi
「ミスティックロンド」ver0.26をリリース。
動作速度の劇的な改善に成功いたしました。
実行時の負荷は実に7割減!(当社比)
これで貴方も処理落ちによる不快な思いからはオサラバ!

download

[更新内容]
ver0.25->0.26
  • 動作速度の劇的改善。

 - - - -
[改善内容の解説]
ここで少し、動作速度の改善に用いた方法とその解説をさせて頂く。

 - -
問題点について
動作速度について問題となっていた処理は、コインオブジェクト(O_Coin)の処理である。
このオブジェクトは、敵を倒すと大量に発生し、多いときには同時に50個以上発生する。
また、ここで行われている処理も重い。
周囲8方向に壁が無いか調べ、その影響を計算するという処理を毎フレーム行っている。
この処理の軽量化をすることで、動作速度は大きく改善する。

 - -
改善方法について
改善に用いた方法は2つ。
 -
先ず、毎フレーム周囲を調べる処理について。
周囲に壁があるか調べるというのは、人ならパッと見で分かるが、
計算機が行うのは、思いのほか処理が重い。
明らかに壁から遠いにも拘らず、毎フレーム周囲を調べるという”無駄な”計算を強いられる。
壁に近いか否かだけでも簡単に分かれば、壁に近い場合にのみ周囲を調べればよくなり、負荷は軽減される。
それを実現する方法には、あらかじめその地点(座標)が壁から近いか否かを調べておく方法をとった。
あらかじめ各地点が壁から近いか否か(最も近い壁からの距離)を調べその情報を配列に格納しておく。
コインオブジェクトは、まずその配列にアクセスし、壁から近い場合にのみ実際に調査・計算を行えばいい。
これにより、毎フレーム周囲を調べていたのが、必要なときにのみ周囲を調べ、
通常は配列の1要素にアクセスするという簡単な処理のみで済むようになった。
なお、地点の刻み幅は8ドットとした。
理想を言えば、1ドット刻み、つまり全ドットに対して調べたほうがいいのだが、それを行うには膨大な手間が掛かり、
またそこまでやる意味もない。(画面サイズ400×300の場合、データ数は12万に上り、調査に要する時間も膨大)
壁にある程度近いか否かの判別に使うだけなので、さほど正確な情報は必要ない。
コインのサイズや刻み幅の大きさによるコストなどから、8ドット刻みとした。
あからじめ各地点の情報を調べるのに多少時間は掛かるが、さほど問題ではない(1秒程度)。
 -
もう1つ、処理の停止について。
コインの動きを見てもらえば分かるが、一度停止したコインはもう動作しない。
動作する必要が無い。つまり、動作に必要な(重い)処理、周囲を調べ壁の影響を計算、重力の影響を計算、
等をする必要が無い。
そこで、動作しているか(!=速度0)を先ず判定し、動作している場合にのみ処理を行うようにした。
これにより、長い時には出現から300フレーム目に自動消滅するまで、上記の処理を行っていたのが、
生成から停止するまでの約100フレーム程度の時間で処理を停止させることが出来る。

 - -
ここまで上手く出来るとは思っても見なかった。
久々にプログラムやってて感動した。



カテゴリ: [ゲーム制作] - &trackback() - 2006年05月04日 03:28:28

#blognavi
「「ミスティックロンド」ver0.26、動作速度劇的改善」をウィキ内検索
LINE
シェア
Tweet
Akasin_Room
記事メニュー

MENU

  • TopPage.
  • Product(別館)
    • TRogue
    • その他
  • Weblog
  • BBS
  • Links





■


更新履歴

取得中です。

[ more old ]


Total: - /today: -



記事メニュー2

人気記事ランキング
  1. Diary/2006年06月01日
  2. BBS-BBS/16
  3. BBS-BBS/38
  4. Diary/2006年11月01日/改めて思う
  5. Diary/2006年01月21日
もっと見る
最近更新されたページ
  • 5292日前

    Diary/2010年08月10日/昔の"記憶"
  • 5312日前

    Diary/2011年03月15日/◆地震に役立つ情報
  • 5312日前

    Diary/2011年03月15日/情報を(必要以上に)取り入れないという選択
  • 5312日前

    Diary/2011年03月15日
  • 5312日前

    Links
  • 5314日前

    Diary/2011年03月13日/生存報告
  • 5315日前

    Diary/2011年03月13日
  • 5523日前

    Diary/2010年08月17日/PC購入
  • 5523日前

    Diary/2010年08月17日
  • 5530日前

    Diary/2010年08月10日
もっと見る
人気記事ランキング
  1. Diary/2006年06月01日
  2. BBS-BBS/16
  3. BBS-BBS/38
  4. Diary/2006年11月01日/改めて思う
  5. Diary/2006年01月21日
もっと見る
最近更新されたページ
  • 5292日前

    Diary/2010年08月10日/昔の"記憶"
  • 5312日前

    Diary/2011年03月15日/◆地震に役立つ情報
  • 5312日前

    Diary/2011年03月15日/情報を(必要以上に)取り入れないという選択
  • 5312日前

    Diary/2011年03月15日
  • 5312日前

    Links
  • 5314日前

    Diary/2011年03月13日/生存報告
  • 5315日前

    Diary/2011年03月13日
  • 5523日前

    Diary/2010年08月17日/PC購入
  • 5523日前

    Diary/2010年08月17日
  • 5530日前

    Diary/2010年08月10日
もっと見る
ウィキ募集バナー
急上昇Wikiランキング

急上昇中のWikiランキングです。今注目を集めている話題をチェックしてみよう!

  1. 遊戯王2ch本スレWiki
  2. PC版Webサカ@ ウィキ
  3. 千鳥の鬼レンチャン サビだけカラオケデータベース
  4. 鬼レンチャンWiki
  5. 錬金術2021 パズル 攻略wiki
  6. asagaolabo @ ポップン百科大事典
  7. "The Planet Crafter" 非公式日本語Wiki
  8. 番組スポンサー 詳しく! @ ウィキ
  9. ヌカづけ◎日本語コンシューマ版「Fallout」wiki
  10. メダロット辞典@wiki
もっと見る
人気Wikiランキング

atwikiでよく見られているWikiのランキングです。新しい情報を発見してみよう!

  1. アニヲタWiki(仮)
  2. ストグラ まとめ @ウィキ
  3. ゲームカタログ@Wiki ~名作からクソゲーまで~
  4. 初音ミク Wiki
  5. 発車メロディーwiki
  6. モンスター烈伝オレカバトル2@wiki
  7. 検索してはいけない言葉 @ ウィキ
  8. Grand Theft Auto V(グランドセフトオート5)GTA5 & GTAオンライン 情報・攻略wiki
  9. オレカバトル アプリ版 @ ウィキ
  10. 機動戦士ガンダム EXTREME VS.2 INFINITEBOOST wiki
もっと見る
新規Wikiランキング

最近作成されたWikiのアクセスランキングです。見るだけでなく加筆してみよう!

  1. MadTown GTA (Beta) まとめウィキ
  2. シュガードール情報まとめウィキ
  3. まどドラ攻略wiki
  4. 戦国ダイナスティ攻略@ウィキ
  5. ちいぽけ攻略
  6. SurrounDead 攻略 (非公式wiki)
  7. シミュグラ2Wiki(Simulation Of Grand2)GTARP
  8. 20XX @ ウィキ
  9. Dark War Survival攻略
  10. 魔法少女ノ魔女裁判 攻略・考察Wiki
もっと見る
全体ページランキング

最近アクセスの多かったページランキングです。話題のページを見に行こう!

  1. 参加者一覧 - ストグラ まとめ @ウィキ
  2. 鬼レンチャン(レベル順) - 鬼レンチャンWiki
  3. 信じていた仲間達にダンジョン奥地で殺されかけたがギフト『無限ガチャ』でレベル9999の仲間達を手に入れて元パーティーメンバーと世界に復讐&『ざまぁ!』します! - アニヲタWiki(仮)
  4. 魔獣トゲイラ - バトルロイヤルR+α ファンフィクション(二次創作など)総合wiki
  5. サーヴァント/一覧/クラス別 - Fate/Grand Order @wiki 【FGO】
  6. コメント/雑談・質問 - マージマンション@wiki
  7. 櫛田桔梗 - アニヲタWiki(仮)
  8. 機動戦士ガンダム サンダーボルト - アニヲタWiki(仮)
  9. パナマ運河 - アニヲタWiki(仮)
  10. ミッション攻略 - 地球防衛軍6 @ ウィキ
もっと見る

  • このWikiのTOPへ
  • 全ページ一覧
  • アットウィキTOP
  • 利用規約
  • プライバシーポリシー

2019 AtWiki, Inc.