C# C# C♯ でゲームを作ろう Part2at GAMEDEVC# C# C♯ でゲームを作ろう Part2 - 暇つぶし2ch■コピペモード□スレを通常表示□オプションモード□このスレッドのURL■項目テキスト25:名前は開発中のものです。 10/12/16 01:44:28 1jVCL3Xf >>16はG0で済ましているから負荷が軽い 26:アジェグ4倍 ◆4xAJeG.COM 10/12/16 10:13:47 QtGXpLv7 なんや知らんが、秒間60回のフレームループの中で newをやっちゃダメだよ。 27:名前は開発中のものです。 10/12/16 16:54:03 4Vhu2VWF なんか落とし穴とかわかりにくい foreachとか駄目なんでしょ? 28:名前は開発中のものです。 10/12/16 19:07:42 kONXhBxi >>27 何がどうダメなのか具体的に 29:名前は開発中のものです。 10/12/17 00:44:40 1SX4G+z6 動かすターゲットによって目標とする最適化の程度は異なる。 .NET CLR:世代別GC(.NET Framework/Silverlight) .NET CF CLR:マーク&スイープGC(Xbox360/Zune) .NET CF CLRはGCのコストが桁違いに大きいため、徹底的にGCを排除すると大きくパフォーマンスが上がる。 .NET CLRでは>>16>>25の言うようにG0/G1のGCのコストが小さいので、全部最適化するだけの労力に見合った効果が得られない。 .NET CLRはG2の発生が抑制されていてG0の発生頻度が1フレームより長ければ問題ない。 この状態を保てている範囲なら1フレーム未満の寿命しかないインスタンスを作り捨ててもいい。 もっと長い寿命を持つインスタンスの生成は、G2ヒープ/LOHにどのくらいのペースで積まれるかによって上限が決まるので、 プロファイルをとってヒープに積まれたインスタンスの生成元を調べて、最適化の効果が大きく簡単に改善できる個所から手を入れましょう。 これ以上の最適化は手段と目的が逆転するが大丈夫か? 次ページ最新レス表示レスジャンプ類似スレ一覧スレッドの検索話題のニュースおまかせリストオプションしおりを挟むスレッドに書込スレッドの一覧暇つぶし2ch