UnityC#のループ内での文字列結合は+じゃなくStringBuilderを使っとけという話です。文字列は+するとメモリをアロケーションするループ内ではStringBuilderを使う速度を比較する詳しくはこちら文字列は+するとメモリをアロケーションする今、メモリ上に文字列「ABCDE」があるとします。これに対して「FGHDI」を+演算子でくっつけます。ソースコード的には以下の通りです。"FGHIJ";しかしこれは内部的にメモリを再割り当てして、結合した文字列をそこに入れるという処理を行っています。この処理を頻繁に行うと非効率が生じてしまいます。ループ内ではStringBuilderを使う頻繁に文字列の結合を行うようなケースでは、StringBuilderを使うと良いようです。System.Text.StringBuilder("ABCDE");builder.Append("FGHIJ");このクラスはメモリをあらかじめある程度確保しておくので結合時にのアロケーションが防げます。雑な方針を示すならば、ループ内で文字列結合を行う際にはStringBuilderを使った方が良さそうです。サイズが大きくなりそうならコンストラクタで容量を指定しておくとより良さそうです。速度を比較するそれでは速度の違いをざっと比較してみます。stringによる文字列結合です。}System.Console.WriteLine(sw.Elapsed);結果は00:00:13.6183865となりました。次にStringBuilderによる結合を試してみます。}System.Console.WriteLine(sw.Elapsed);結果は00:00:00.0032037となりました。詳しくはこちらこのあたりのより正確な情報は下記のページにまとめられています。詳細を知りたい方はこちらをご参照ください。»プロフィールUnityエンジニア。グラフィックスへの興味が強めです。Blur(渦巻ブラー)のポストエフェクトを実装する月別アーカイブはてなブログをはじめよう!halya_11さんは、はてなブログを使っています。ブログを報告するスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。