Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
36 changes: 36 additions & 0 deletions engine_details/development/debugging/using_cpp_profilers.rst
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,7 @@ Recommended profilers
- `VerySleepy <http://www.codersnotes.com/sleepy/>`__ (Windows only)
- `HotSpot <https://github.com/KDAB/hotspot>`__ (Linux only)
- `Xcode Instruments <https://developer.apple.com/xcode/>`__ (macOS only)
- `Superluminal <https://superluminal.eu/>`__ (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.
Expand Down Expand Up @@ -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 <https://www.superluminal.eu/docs/documentation.html#navigating_ui>`__.
Loading