Attention: Here be dragons

This is the latest (unstable) version of this documentation, which may document features not available in or compatible with released stable versions of Godot.

デバッガーパネル

デバッガーを含むGodotのデバッグツールの多くは、画面下部のデバッガー パネルにあります。 デバッガー をクリックして開きます。

../../../_images/overview_debugger.webp

デバッガーパネルはいくつかのタブに分割され、各タブは特定のタスクに焦点を当てています。

Stack Trace

The Stack Trace tab opens automatically when the GDScript compiler reaches a breakpoint in your code.

これは スタックトレース 、オブジェクトの状態に関する情報、およびプログラムの実行を制御するボタンを提供します。デバッガーがブレークポイントで中断すると、スクリプトエディタのガターに緑色の三角形の矢印が表示されます。この矢印はデバッガーが中断したコード行を示します。

Tip

スクリプトエディタの左側 (行番号の左側) にあるガターをクリックすると、ブレークポイントを作成できます。このガターにマウスを移動すると、透明な赤い点が表示されます。クリックしてブレークポイントを配置すると、この点が不透明な赤い点に変わります。赤い点をもう一度クリックするとブレークポイントを削除できます。この方法で作成されたブレークポイントは、エディタの終了時にスクリプトが保存されなかった場合でも保持されます。

GDScriptで breakpoint キーワードを使用して、スクリプト自体に保存されるブレークポイントを作成することもできます。ガター内をクリックして作成されたブレークポイントとは異なり、このキーワードベースのブレークポイントは、バージョン管理を使用しているとき、異なるマシン間でも永続的に存在できます。

右上のボタンを使用して、次の操作を行うことができます:

  • すべてのブレークポイントをスキップ。これは将来のデバッグのためにブレークポイントを保存できます。

  • 現在のエラーメッセージをコピー。

  • ステップイン 。このボタンを押すと次のコード行に移動し、そこが関数の場合は関数内に入り1行ずつステップ実行します。

  • ステップオーバー 。このボタンを押すとコードの次の行に移動しますが、関数内に入ってステップ実行は行いません。

  • ブレーク 。このボタンを押すとゲームの実行を一時停止します。

  • 続行 。このボタンを押すとブレークポイント、または一時停止からゲームを再開します。

エラー

ここにはゲーム実行中のエラーと警告のメッセージが出力されます。

プロジェクト設定 > デバッグ > GDScript で特定の警告を無効にすることができます。

Evaluator

This tab contains an expression evaluator, also known as a REPL. This is a more powerful complement to the Stack Variables tree available in the Stack Trace tab.

When the project is interrupted in the debugger (due to a breakpoint or script error), you can enter an expression in the text field at the top. If the project is running, the expression field won't be editable, so you will need to set a breakpoint first. Expressions can be persisted across runs by unchecking Clear on Run, although they will be lost when the editor quits.

Expressions are evaluated using Godot's expression language, which allows you to perform arithmetic and call some functions within the expression. Expressions can refer to member variables, or local variables within the same scope as the line the breakpoint is on. You can also enter constant values, which makes it usable as a built-in calculator.

Consider the following script:

var counter = 0

func _process(delta):
    counter += 1
    if counter == 5:
        var text = "Some text"
        breakpoint
    elif counter >= 6:
        var other_text = "Some other text"
        breakpoint

If the debugger breaks on the first line containing breakpoint, the following expressions return non-null values:

  • Constant expression: 2 * PI + 5

  • Member variable: counter, counter ** 2, sqrt(counter)

  • Local variable or function parameter: delta, text, text.to_upper()

If the debugger breaks on the second line containing breakpoint, the following expressions return non-null values:

  • Constant expression: 2 * PI + 5

  • Member variable: counter, counter ** 2, sqrt(counter)

  • Local variable or function parameter: delta, other_text, other_text.to_upper()

プロファイラー

プロファイラーはプロジェクト実行中にどのようなコードが実行されているか、そしてそれがパフォーマンスにどのような影響を与えているかを確認するために使用されます。

参考

プロファイラーについての詳細な説明は、専用の プロファイラー ページにあります。

ビジュアルプロファイラー

ビジュアルプロファイラーを使用すると、フレームをレンダリングするときにCPUとGPUそれぞれ最も時間がかかっているものを監視できます。これによりレンダリングによって引き起こされる潜在的なCPUおよびGPUボトルネックの原因を追跡できます。

警告

ビジュアル プロファイラーは描画呼び出しの実行などのレンダリングタスクにかかるCPU時間のみを測定します。ビジュアルプロファイラーにはスクリプトや物理学などの、他のタスクにかかるCPU時間は**含まれません**。ほかのタスクを測定するには標準のプロファイラータブの機能を使用します。

ビジュアルプロファイラーを使用するには、プロジェクトを実行しデバッガーの下部パネル内の**ビジュアルプロファイラー** タブに切り替えて、開始 をクリックします。

"開始" をクリックし、数秒待ってから "停止" をクリックした後の "ビジュアル プロファイラー" タブ

開始 をクリックし、数秒待ってから 停止 をクリックした後のビジュアルプロファイラータブ

Tip

You can also check Autostart, which will make the visual profiler automatically start when the project is run the next time. Note that the Autostart checkbox's state is not preserved across editor sessions.

プロファイラーの実行中にカテゴリと結果が表示されます。グラフの線も表示され左側がCPUフレームグラフ、右側がGPUフレームグラフになります。

停止 をクリックしてプロファイリングを終了すると、最新の結果が固定され表示されたままになります。実行中のプロジェクトを停止した後も結果は表示されたままですが、エディタを終了した後は表示されません。

左側の結果カテゴリをクリックすると、右側のCPUおよびGPUグラフでハイライト表示されます。またグラフをクリックしてカーソルを特定のフレーム番号に移動し、左側の結果カテゴリで選択したデータタイプを強調表示することもできます。

結果の値は、フレーム時間 (フレームあたりのミリ秒単位) またはパーセンテージ (現在16.67ミリ秒、つまり60FPSにハードコードされています) の間で切り替えることができます。

プロファイリング中にフレームレートのスパイクが発生すると、グラフのスケーリングが適切に行われない可能性があります。 フレームに合わせる を無効にして、グラフが 60FPS+ 部分にズームするようにします。

注釈

ビジュアルプロファイラーの結果はビューポートの解像度に応じて**大きく**変わる可能性があることに注意してください。ビューポートの解像度は disabled または canvas_items ストレッチモード を使用する場合のウィンドウ サイズによって決まります。

異なる実行の間で結果を比較する場合は、すべての実行で同じビューポートサイズを使用するようにしてください。

ビジュアルプロファイラーは任意のレンダリング方法 (Forward+、モバイル、または互換性) を使用する場合にサポートされますが、報告されるカテゴリは現在のレンダリング方法と有効なグラフィック機能によって異なります。たとえばForward+を使用する場合、影を落とすライトを含む単純な2Dシーンでは次のカテゴリが表示されます。

ビジュアルプロファイラーで2Dシーンを測定した結果の例

ビジュアルプロファイラーで2Dシーンを測定した結果の例

Forward+を使用した3Dシーンの結果の例を挙げると、影を落とすライトとさまざまなエフェクトが有効になっている場合、次のカテゴリが有効になります。

ビジュアル プロファイラーで3Dシーンを測定した結果の例

ビジュアル プロファイラーで3Dシーンを測定した結果の例

3Dの例では、いくつかのカテゴリの名前に (Parallel) が追加されていることに注目してください。これは複数のタスクがGPU上で並行して実行されていることを示しています。これは一般的に他のタスクは引き続き順次実行しているため、関連する機能を1つだけ無効にしてもパフォーマンスは期待ほど向上しないことを意味します。

ネットワークプロファイラー

ネットワークプロファイラーには、マルチプレイヤーAPIを介して通信するすべてのノードのリストと、各ノードについて、着信および発信ネットワークインタラクションの量に関するカウンターが含まれています。また、任意の時点での総帯域幅使用量を表示する帯域幅メーターも備えています。

注釈

帯域幅メーターは High-level multiplayer API独自の圧縮システムを**考慮しません**。これは使用される圧縮アルゴリズムを変更しても、帯域幅メーターによって報告される結果には反映されないことを意味します。

モニター

モニターは、ゲームの複数の側面をグラフ化したもので、FPS、メモリ使用量、シーン内のノード数など、ゲームの動作を示します。すべてのモニターは統計を自動的に追跡するため、ゲームの実行中にモニターを1つも開いていなくても、後で開いて値の変化を確認できます。

参考

デフォルトのパフォーマンスモニターに加えて、カスタムパフォーマンスモニター を作成して、プロジェクト内の任意の値を追跡することもできます。

ビデオRAM

ビデオRAM タブには、ゲーム実行中のビデオRAMの使用量が表示されます。リソースパス別にビデオRAMを使用しているすべてのリソースのリスト、リソースの種類、形式、リソースが使用しているビデオRAMの量が表示されます。パネルの右上には、ビデオRAMの合計使用量の数値も表示されます。

../../../_images/video_ram.png

その他

**その他**タブには、実行時にクリックしているコントロールノードを識別するツールが含まれています:

  • クリックされたコントロール はクリックされたノードのシーンツリーの場所が表示されます。

  • クリックされたコントロールのタイプ はクリックしたノードのタイプが表示されます。