mirror of
https://github.com/godotengine/godot-docs.git
synced 2026-01-04 14:11:02 +03:00
Merge pull request #7594 from Calinou/cpu-optimization-link-cpp-profilers
Link to Using C++ profilers page in CPU optimization
This commit is contained in:
@@ -56,19 +56,8 @@ External profilers
|
||||
Although the Godot IDE profiler is very convenient and useful, sometimes you
|
||||
need more power, and the ability to profile the Godot engine source code itself.
|
||||
|
||||
You can use a number of third party profilers to do this including
|
||||
`Valgrind <https://www.valgrind.org/>`__,
|
||||
`VerySleepy <http://www.codersnotes.com/sleepy/>`__,
|
||||
`HotSpot <https://github.com/KDAB/hotspot>`__,
|
||||
`Visual Studio <https://visualstudio.microsoft.com/>`__ and
|
||||
`Intel VTune <https://software.intel.com/content/www/us/en/develop/tools/vtune-profiler.html>`__.
|
||||
|
||||
.. note:: You will need to compile Godot from source to use a third-party profiler.
|
||||
This is required to obtain debugging symbols. You can also use a debug
|
||||
build, however, note that the results of profiling a debug build will
|
||||
be different to a release build, because debug builds are less
|
||||
optimized. Bottlenecks are often in a different place in debug builds,
|
||||
so you should profile release builds whenever possible.
|
||||
You can :ref:`use a number of third-party C++ profilers <doc_using_cpp_profilers>`
|
||||
to do this.
|
||||
|
||||
.. figure:: img/valgrind.png
|
||||
:alt: Screenshot of Callgrind
|
||||
@@ -81,7 +70,7 @@ itself, excluding child functions (Self), the number of times the function is
|
||||
called, the function name, and the file or module.
|
||||
|
||||
In this example, we can see nearly all time is spent under the
|
||||
`Main::iteration()` function. This is the master function in the Godot source
|
||||
``Main::iteration()`` function. This is the master function in the Godot source
|
||||
code that is called repeatedly. It causes frames to be drawn, physics ticks to
|
||||
be simulated, and nodes and scripts to be updated. A large proportion of the
|
||||
time is spent in the functions to render a canvas (66%), because this example
|
||||
@@ -225,8 +214,8 @@ SceneTree
|
||||
=========
|
||||
|
||||
Although Nodes are an incredibly powerful and versatile concept, be aware that
|
||||
every node has a cost. Built-in functions such as `_process()` and
|
||||
`_physics_process()` propagate through the tree. This housekeeping can reduce
|
||||
every node has a cost. Built-in functions such as ``_process()`` and
|
||||
``_physics_process()`` propagate through the tree. This housekeeping can reduce
|
||||
performance when you have a very large numbers of nodes (how many exactly
|
||||
depends on the target platform and can range from thousands to tens of
|
||||
thousands so ensure that you profile performance on all target platforms
|
||||
|
||||
Reference in New Issue
Block a user