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)
 - `VerySleepy <http://www.codersnotes.com/sleepy/>`__ (Windows only)
 - `HotSpot <https://github.com/KDAB/hotspot>`__ (Linux 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
 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.
 standalone operation and limited feature set tends to make them easier to use.
@@ -141,3 +142,36 @@ HotSpot
     Process(es)**.
     Process(es)**.
 
 
     This process attachment-based workflow is similar to the one used by VerySleepy.
     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