From 0edbe34b89a3aa93aa2a0f624547e19df9b8a6f8 Mon Sep 17 00:00:00 2001 From: Shawn Hardern <126725649+ShawnHardern@users.noreply.github.com> Date: Fri, 23 Aug 2024 11:24:53 +0100 Subject: [PATCH] Add C# examples to CPU optimization Co-authored-by: A Thousand Ships <96648715+AThousandShips@users.noreply.github.com> --- tutorials/performance/cpu_optimization.rst | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/tutorials/performance/cpu_optimization.rst b/tutorials/performance/cpu_optimization.rst index ec927f017b6..7e03a209ce2 100644 --- a/tutorials/performance/cpu_optimization.rst +++ b/tutorials/performance/cpu_optimization.rst @@ -92,7 +92,8 @@ using a profiler, is to manually time the function or area under test. The specifics vary depending on the language, but in GDScript, you would do the following: -:: +.. tabs:: + .. code-tab:: gdscript GDScript var time_start = Time.get_ticks_usec() @@ -102,6 +103,16 @@ the following: var time_end = Time.get_ticks_usec() print("update_enemies() took %d microseconds" % time_end - time_start) + .. code-tab:: csharp + + var timeStart = Time.GetTicksUsec(); + + // Your function you want to time. + UpdateEnemies(); + + var timeEnd = Time.GetTicksUsec(); + GD.Print($"UpdateEnemies() took {timeEnd - timeStart} microseconds"); + When manually timing functions, it is usually a good idea to run the function many times (1,000 or more times), instead of just once (unless it is a very slow function). The reason for doing this is that timers often have limited accuracy.