[過去ログ]
【ダンジョン】 自動生成 2 【地形】 (1002レス)
【ダンジョン】 自動生成 2 【地形】 http://mevius.5ch.net/test/read.cgi/gamedev/1182223295/
上
下
前次
1-
新
通常表示
512バイト分割
レス栞
抽出解除
レス栞
このスレッドは過去ログ倉庫に格納されています。
次スレ検索
歴削→次スレ
栞削→次スレ
過去ログメニュー
149: 名前は開発中のものです。 [sage] 2008/01/29(火) 16:53:20 ID:ubNaezab 異常にページフォルトが頻発してるね(暴走してるのかと思って一瞬焦ったお・・) プロファイラでメモリ使用状況見てみたけど(個=インスタンス数) ・全体 - 5.670.000個 - 約117M ・Dictionary<T,U>.Entry - 270,000個 - 41M(34.2%) ・DungeonAutoCreate.Data.arrow - 3,300,000個 - 38M(32.2%) ・Int32 - 1,600,000個 - 18M(15.5%) ・Int32[] - 270,000個 - 13M(10.5%) ・Dictionary<T,U> - 90,000個 - 4.5M(3.8%) これで全体の96.2%を占めている。 ・DungeonAutoCreate.Block - 90,000個 - 1.7M(1.5%) ・DungeonAutoCreate.Block[] - 10,000個 - 1.7M(1.4%) ここまで入れると99.1% 330万インスタンスあるData.arrowってのも気にはなるけど、何で辞書がこんなに大量に使われてるの? GCも何度か発生して殆どのインスタンスがGEN2になっている辺りも改善の余地がある(=無駄なGCが発生している) 処理速度に関しては明らかにボトルネックは別なので見ていない。 あと、ReadMeに書いてあるサイズ変更した場合に大量のメモリが消費される問題だけど 「古いフィールドを破棄→新しいフィールドを作成」の間で手動でGCを実行してやるのが効果的だと思う。 http://mevius.5ch.net/test/read.cgi/gamedev/1182223295/149
154: 名前は開発中のものです。 [sage] 2008/01/30(水) 20:06:27 ID:haTlidy2 >>149-150 占有メモリがかなーり減りました。サンクス。 Dictionaryのパフォーマンスがよろしくない、というよりenumの使い方がまずかったんだろうか。 >330万インスタンスあるData.arrowってのも気にはなるけど、何で辞書がこんなに大量に使われてるの? もうお察しかもわかりませんが、Data.Arrowは方向を示すenumです。(ナナメ有り上下左右の8つ) マップチップ(Block)のインスタンスに Dictionary<Data.Arrow,Block> を持たせて、マップチップの隣接を表現しよう、という考えです。 http://mevius.5ch.net/test/read.cgi/gamedev/1182223295/154
155: 名前は開発中のものです。 [sage] 2008/01/31(木) 01:02:39 ID:cyh1Enm0 >>154 お役に立てたようで嬉しいです。 # 解決の為にコードを覗き見したのはすまなかった。 enumの使い方は特に間違ってないと思いますよ。 今回のケースでは"大量の辞書を使用した"のが直接の問題ですかねぇ ・辞書自体がインデックスを管理したりするためにメモリを消費する ・後から追加するために余分な領域を確保する(コレクション全般) (ただし、最初に大きさを指定してやれば必要以上に確保してしまう事はない) この辺が影響してるのかな?とは思うけどあまり詳しくは分からない。 (実際に>>149で使用状況見た時に「こんなに使うのか?!」と衝撃を受けました) 最後に何かの時に役に立つかも知れないので、>>149で使ったツールを貼っておきま CLR Profiler 2.0 ttp://www.microsoft.com/downloads/details.aspx?familyid=A362781C-3870-43BE-8926-862B40AA0CD0&displaylang=en http://mevius.5ch.net/test/read.cgi/gamedev/1182223295/155
メモ帳
(0/65535文字)
上
下
前次
1-
新
書
関
写
板
覧
索
設
栞
歴
スレ情報
赤レス抽出
画像レス抽出
歴の未読スレ
AAサムネイル
Google検索
Wikipedia
ぬこの手
ぬこTOP
0.025s