Browse Source

Add Xcode Instruments to the "Using C++ profilers with Godot" page. (#5037)

* Add Xcode Instruments to the "Using C++ profilers with Godot" page.
bruvzg 4 years ago
parent
commit
7abd4bdf1a

BIN
development/cpp/img/cpp_profiler_time_profiler.png


BIN
development/cpp/img/cpp_profiler_time_profiler_record.png


BIN
development/cpp/img/cpp_profiler_time_profiler_result.png


BIN
development/cpp/img/cpp_profiler_xcode_menu.png


+ 34 - 0
development/cpp/using_cpp_profilers.rst

@@ -15,6 +15,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)
 
 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.
@@ -141,3 +142,36 @@ HotSpot
     Process(es)**.
 
     This process attachment-based workflow is similar to the one used by VerySleepy.
+
+Xcode Instruments
+^^^^^^^^^^^^^^^^^
+
+- Open Xcode. Select **Open Developer Tool** - **Instruments** from the **Xcode** app menu:
+- Double-click on **Time Profiler** in the **Instruments** window:
+
+.. image:: img/cpp_profiler_xcode_menu.png
+
+- In the Time Profiler window, click on the **Target** menu, select **Choose target...**
+  and specify the path to the Godot binary, command line arguments and environment variables
+  in the next window.
+
+.. image:: img/cpp_profiler_time_profiler.png
+
+- You can also attach the Time Profiler to a running process by selecting it from the **Target**
+  menu.
+
+- Click the **Start an immediate mode recording** button to start profiling.
+
+.. image:: img/cpp_profiler_time_profiler_record.png
+
+- Perform the actions you wish to profile in the editor or project. When you're done,
+  click the **Stop** button.
+
+- Wait for the results to appear.
+- At the bottom of the window you will see a call tree for all CPU threads started, and
+  the **Heaviest Stack Trace** overview.
+- Select **Hide system libraries** in the **Call Tree** menu (at the bottom of window) to
+  remove external modules.
+- 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