Skip to content

Commit f1697ec

Browse files
Revised sections
1 parent cf86914 commit f1697ec

File tree

6 files changed

+91
-39
lines changed

6 files changed

+91
-39
lines changed

content/learning-paths/mobile-graphics-and-gaming/godot_packages/add-markers.md

Lines changed: 21 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -4,32 +4,40 @@ weight: 5
44
layout: learningpathall
55
---
66

7-
## Using the extension
7+
## Use the Performance Studio extension in your project
88

9-
All functionality in the extension is provided by the PerformanceStudio class, so first create an instance of it:
9+
All annotation features are provided through the `PerformanceStudio` class. To begin, create an instance in your script:
1010

11-
```console
11+
```gdscript
1212
var performance_studio = PerformanceStudio.new()
13-
```
14-
## Add single markers to highlight key game events
1513
16-
All functionality in the extension is provided by the `PerformanceStudio` class. First, create an instance:
1714
18-
```gdscript
19-
var performance_studio = PerformanceStudio.new()
20-
```
15+
## Add single markers to highlight key game events
2116
22-
The simplest annotations are single markers, which can have a name and a color. For example:
17+
The simplest annotations are single markers. These appear in the Streamline timeline and help you correlate game behavior with performance data.
18+
19+
To emit a basic marker, use the `marker()` method with a descriptive label:
2320
2421
```gdscript
2522
performance_studio.marker("Game Started")
2623
```
2724

28-
This will emit a timestamped marker labeled "Game Started." When you capture a profile in Streamline, you’ll see this marker at the point the game starts.
25+
This creates a timestamped marker labeled **Game Started**. When you capture a profile in Streamline, you’ll see this marker at the point the game starts.
26+
27+
![Marker annotation in Streamline#center](sl_marker.png "Marker annotation in Streamline")
2928

30-
![Marker annotation in Streamline](sl_marker.png "Figure 4. Marker annotation in Streamline")
3129

32-
To assign a color:
30+
## Assign a custom color
31+
32+
You can assign a color to the marker using the `marker_color()` method:
3333

3434
```gdscript
3535
performance_studio.marker_color("Game Started", Color8(0, 255, 0))
36+
```
37+
38+
This example displays the Game Started marker in green. Use different colors to visually distinguish important game events.
39+
40+
41+
42+
43+

content/learning-paths/mobile-graphics-and-gaming/godot_packages/create-counters.md

Lines changed: 24 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -3,23 +3,41 @@ title: Create and track custom counters in Godot
33
weight: 8
44
layout: learningpathall
55
---
6-
### Creating counters
6+
## What are counters?
77

8-
Counters are numerical data points that can be plotted as a chart in the Streamline timeline view. Counters can be created as either absolute counters, where every value is an absolute value, or as a delta counter, where values are the number of instances of an event since the last value was emitted. All values are floats and will be presented to 2 decimal places.
8+
Counters are floating-point values plotted as line charts in Streamline. Each value appears with two decimal places of precision.
99

10-
When charts are first defined, you can specify a title and series name. The title names the chart, the series names the data series.
10+
There are two types of counters:
1111

12-
Multiple counter series can use the same title, which means that they will be plotted on the same chart in the Streamline timeline.
12+
- Absolute counters: every value is treated as an independent measurement
1313

14-
To create a counter:
14+
- Delta counters: each value represents the change since the last measurement (for example, the number of enemy spawns since the last update)
15+
16+
## Define your counter chart
17+
18+
When charts are first defined, you can specify:
19+
20+
- A title: this names the chart in Streamline
21+
22+
- A series name: this labels the specific data stream within the chart
23+
24+
You can group multiple counter series under the same title to plot them on the same chart.
25+
26+
## Create and update a counter
27+
28+
Use the `create_counter()` method to define a counter in your script. For example:
1529

1630
```console
1731
var counter = performance_studio.create_counter("Title", "Series", false)
1832
```
1933

20-
Counter values are set easily as shown below:
34+
The third parameter sets whether the counter is a delta counter `(true)` or absolute counter `(false)`.
35+
36+
To update the counter value, use:
2137

2238
```console
2339
counter.setValue(42.2)
2440
```
2541

42+
This value will appear in the timeline alongside other profiling data during a Streamline capture.
43+

content/learning-paths/mobile-graphics-and-gaming/godot_packages/define-regions.md

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -4,9 +4,9 @@ weight: 6
44
layout: learningpathall
55
---
66

7-
## Defining regions in a Godot project
7+
## Defining regions in your Godot project
88

9-
To define regions of interest within the game, you can specify a pair of markers prefixed with Region Start and Region End, for example:
9+
To define regions of interest within the game, you can specify a pair of markers prefixed with **Region Start** and **Region End**, for example:
1010

1111
```console
1212
performance_studio.marker("Region Start Times Square")
@@ -16,11 +16,11 @@ performance_studio.marker("Region End Times Square")
1616

1717
These regions are shown on the frame rate analysis chart in the Performance Advisor report.
1818

19-
![Regions in Performance Advisor](pa_frame_rate_regions.png "Figure 5. Regions in Performance Advisor")
19+
![Regions in Performance Advisor#center](pa_frame_rate_regions.png "Regions in Performance Advisor")
2020

21-
Also, dedicated charts for each region are appended to the end of the report, so you can analyze each region independently.
21+
Performance Advisor also includes dedicated charts for each region at the end of the report, allowing you to analyze them independently.
2222

23-
![Dedicated region charts in Performance Advisor](pa_dedicated_region_charts.png "Figure 6. Dedicated region charts in Performance Advisor")
23+
![Dedicated region charts in Performance Advisor#center](pa_dedicated_region_charts.png "Dedicated region charts in Performance Advisor")
2424

2525

2626

content/learning-paths/mobile-graphics-and-gaming/godot_packages/install-extension.md

Lines changed: 11 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -10,10 +10,17 @@ To profile performance in your Godot game, first install the Arm Performance Stu
1010

1111
Start by opening your project in Godot, then select **AssetLib** from the top menu to browse available extensions.
1212

13+
Search for **Arm Performance Studio Integration**, then double-click the result to open its details.
14+
15+
In the extension dialog that appears, select **Download** to begin the installation.
16+
17+
![Extension download dialog in Godot#center](godot_install_performance_studio_extension.png "Download dialog for the Arm Performance Studio Integration extension in Godot")
18+
19+
When prompted, you can change the install folder if needed. To complete the setup, select **Install**.
20+
21+
The extension will now be added to your project and ready to use for adding markers and counters.
22+
23+
1324

14-
2. Find the **Arm Performance Studio Integration** extension, then double-click to open the extension.
15-
3. The extension opens in a dialog box. Click **Download**.
1625

17-
![Installing the Arm Performance Studio Integration extension in Godot](godot_install_performance_studio_extension.png "Figure 2. Installing the Arm Performance Studio Integration extension in Godot")
1826

19-
4. A new dialog box opens where you can change the install folder if required. Click **Install**.

content/learning-paths/mobile-graphics-and-gaming/godot_packages/use-channels.md

Lines changed: 13 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -3,11 +3,13 @@ title: Use channels for threaded performance annotations
33
weight: 7
44
layout: learningpathall
55
---
6-
### Using channels in a Godot project
6+
## Use channels for threaded annotations in Godot
77

8-
Channels are custom event timelines associated with a software thread. You can create channels and place annotations within them. A channel annotation has a text label and a color but, unlike markers, they span a range of time.
8+
Channels are custom event timelines associated with a specific software thread. Unlike single-point markers, channel annotations span a duration and include a label and optional color. You can use them to trace task execution or track long-running operations, such as asset loading or enemy spawning.
99

10-
To create a channel called "Spawner" and insert an annotation called "Spawning Wave", with the color red:
10+
## Create and annotate a channel
11+
12+
To define a new channel named **Spawner** and insert an annotation labeled **Spawning Wave**, use the following approach:
1113

1214
```console
1315
var channel : PerformanceStudio_Channel
@@ -22,7 +24,14 @@ func _on_new_wave_started() -> void:
2224
func _on_wave_completed() -> void:
2325
channel.end()
2426
```
27+
In this example:
28+
29+
- The `annotate_color()` method begins a red-colored annotation labeled Spawning Wave
30+
31+
- The end() method marks when the annotation finishes
32+
33+
## View channels in Streamline
2534

2635
To see channels in Streamline, select the **Core Map** view, and expand the **VkThread** thread:
2736

28-
![Channel annotations in Streamline](sl_channel.png "Figure 7. Channel annotations in Streamline")
37+
![Channel annotations in Streamline#center](sl_channel.png "Channel annotations in Streamline")

content/learning-paths/mobile-graphics-and-gaming/godot_packages/use-custom-activity-maps.md

Lines changed: 17 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,20 @@
11
---
2-
title: Use Custom Activity Maps in Godot profiling
2+
title: Use custom activity maps in Godot profiling
33
weight: 9
44
layout: learningpathall
55
---
66

7-
### Custom Activity Maps
7+
## Use custom activity maps to organize game profiling
88

9-
[Custom Activity Map (CAM)](https://developer.arm.com/documentation/101816/latest/Annotate-your-code/User-space-annotations/Custom-Activity-Map-annotations) views allow execution information to be plotted on a hierarchical set of timelines. Like channel annotations, CAM views plot jobs on tracks, but unlike channel annotations, CAM views are not associated with a specific thread. Each CAM view contains one or more tracks and each track contains one or more jobs.
9+
[Custom Activity Map (CAM)](https://developer.arm.com/documentation/101816/latest/Annotate-your-code/User-space-annotations/Custom-Activity-Map-annotations) views allow execution information to be plotted on a hierarchical set of timelines.
1010

11-
![Custom activity maps in Streamline](sl_cam.png "Figure 8. Custom activity maps in Streamline")
11+
Like channel annotations, CAM views plot jobs on tracks, but unlike channel annotations, CAM views are not associated with a specific thread. Each CAM view contains one or more tracks and each track contains one or more jobs.
1212

13-
To create a custom activity map and add tracks to it:
13+
![Custom activity maps in Streamline#center](sl_cam.png "Custom activity maps in Streamline")
14+
15+
## Create a CAM and add tracks
16+
17+
To define a custom activity map and add tracks for different systems:
1418

1519
```console
1620
var game_cam : PerformanceStudio_CAM
@@ -26,7 +30,9 @@ func _ready() -> void:
2630
ui_track = game_cam.create_track("UI Activity")
2731
```
2832

29-
To create a job within a track:
33+
## Add jobs to tracks
34+
35+
You can use jobs to represent specific time-bound tasks on a track. Here’s how to create and stop a job:
3036

3137
```console
3238
var wave_job : PerformanceStudio_CAMJob
@@ -38,4 +44,8 @@ func _on_wave_completed() -> void:
3844
wave_job.stop()
3945
```
4046

41-
You can now annotate your Godot game and analyze the performance with markers that give context to a profile in Arm Performance Studio tools.
47+
## Analyze custom activity maps in Streamline
48+
49+
Once you capture a profiling session, you can view your CAM data in Streamline under the Custom Activity Map section. Each job appears on its assigned track, enabling you to inspect how long each task ran and when overlapping operations occurred.
50+
51+
Use CAMs to structure your profiling data around gameplay concepts, not just threads, making your performance analysis more intuitive and actionable.

0 commit comments

Comments
 (0)