teratail header banner
teratail header banner
質問するログイン新規登録
C#

C#はマルチパラダイムプログラミング言語の1つで、命令形・宣言型・関数型・ジェネリック型・コンポーネント指向・オブジェクティブ指向のプログラミング開発すべてに対応しています。

Q&A

解決済

1回答

212閲覧

Debug.Logが与える負荷について

Tora_ou

総合スコア16

C#

C#はマルチパラダイムプログラミング言語の1つで、命令形・宣言型・関数型・ジェネリック型・コンポーネント指向・オブジェクティブ指向のプログラミング開発すべてに対応しています。

0グッド

0クリップ

投稿2025/07/01 15:53

0

0

実現したいこと

「Debug.Log」は100%使う&使用頻度も最高だと思うのですが
「Debug.Log」はゲームが完成したら消しておいたほうが良いのでしょうか?
いつも残したままにしてある(もし新しいバグ等が見つかった時に探せるから)
のですが「Debug.Log」が残ったままでも処理に負荷を与えたりはしてないのでしょうか。

またコメントアウト「 // 」や「 /* ~ */ 」等で
プログラムに無視させた部分については何をどれだけの行数が書いてあったとしても
処理に負荷を与える事は無いのでしょうか。

発生している問題・分からないこと

質問というよりは素朴な疑問です。

該当のソースコード

// コンソールへ表示 Debug.Log ("コンソールへ表示"); //↑完成した後も「Debug.Log」の部分はずっと残したままで放置しておいても全く問題無い? // ↓コメントアウトしておけば何をどれだけ書いてあっても処理の負荷には全く影響しない? // Debug.Log ("コンソールへ表示"); // Debug.Log ("コンソールへ表示"); // Debug.Log ("コンソールへ表示"); // ・・・・×100万回 とか

試したこと・調べたこと

  • teratailやGoogle等で検索した
  • ソースコードを自分なりに変更した
  • 知人に聞いた
  • その他
上記の詳細・結果

小規模な物しか作っていませんし
「Debug.Log」を残したままでも処理が重いと思った事は全く無いです。

補足

特になし

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

一般的な最適化のデバッグコードと [conditional] 属性に書いてあるようにUnityEngine.Debugはリリースビルドでも実行されるようです。
なのでリリース時になるべく影響を与えないようにラッピングしてリリース時に実行されないようにするのが一般的な最適化方法の1つと書いてあります。

コメントアウトすればリリース時に影響はないですが、コメントアウトのし忘れやデバッグ時にコメントアウトしたものを元に戻すなどの手間を考えたら上記のようにラッピングクラスを作って対応するのがいいでしょう。

ぱっと「Unity Debug.log 負荷」といったキーワードで検索した感じそういった解説をしている情報は結構ありましたので参考にしてみてください。

投稿2025/07/01 22:18

YAmaGNZ

総合スコア10674

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

Tora_ou

2025/07/02 03:39

回答ありがとうございます。 出来れば消しておいたほうが良い、という事なのですね。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.30%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問