diff --git a/engine_details/development/debugging/img/cpp_profiler_superluminal_graph.webp b/engine_details/development/debugging/img/cpp_profiler_superluminal_graph.webp new file mode 100644 index 00000000000..7c26d4d7146 Binary files /dev/null and b/engine_details/development/debugging/img/cpp_profiler_superluminal_graph.webp differ diff --git a/engine_details/development/debugging/img/cpp_profiler_superluminal_setup_session.webp b/engine_details/development/debugging/img/cpp_profiler_superluminal_setup_session.webp new file mode 100644 index 00000000000..63fd3300a61 Binary files /dev/null and b/engine_details/development/debugging/img/cpp_profiler_superluminal_setup_session.webp differ diff --git a/engine_details/development/debugging/using_cpp_profilers.rst b/engine_details/development/debugging/using_cpp_profilers.rst index df51becbbe1..c5418958e70 100644 --- a/engine_details/development/debugging/using_cpp_profilers.rst +++ b/engine_details/development/debugging/using_cpp_profilers.rst @@ -18,6 +18,7 @@ Recommended profilers - `VerySleepy `__ (Windows only) - `HotSpot `__ (Linux only) - `Xcode Instruments `__ (macOS only) +- `Superluminal `__ (Windows, Xbox, and PlayStation, requires paid license) These profilers may not be the most powerful or flexible options, but their standalone operation and limited feature set tends to make them easier to use. @@ -159,3 +160,38 @@ Xcode Instruments - You can use the timeline at the top of the window to display details for the specific time period. .. image:: img/cpp_profiler_time_profiler_result.png + +Superluminal +~~~~~~~~~~~~ + +Superluminal is a commercial profiler with many features and a special focus on game development. +It has support for profiling on Windows and some console platforms. + +While it does not have a free version, it has more advanced features that aren't available in the open source profilers. + +Here are the steps to use it: + +- Open Superluminal. Set the **Application** field to the Godot executable path. + Set the **Working Directory** to the project path. + +- Set the **Commandline Arguments** field based on your needs. Use ``--editor`` if you want to profile + the editor, for instance. You can leave it empty for profiling a running project. + +.. image:: img/cpp_profiler_superluminal_setup_session.webp + +- If needed, you can adjust the **Capture Options**. The defaults are usually fine. + You can use this to enable child process profiling, which allows for profiling the editor + and running the game from it on the same session. + +- Click on the **Run** button to start profiling. The software will ask for elevated privileges + which are necessary to capture the information. + +- Perform the actions you need to profile on the running process. + +- Once done, you can close the executable, or click on the **Start Analyzing** button (which will + kill the executable process). + +.. image:: img/cpp_profiler_superluminal_graph.webp + +- The results will be shown on screen. For more information on how to use this, see the + `Superluminal documentation `__.