Skip to content

Commit c379353

Browse files
authored
Update documentation
* Naming updated to reflect Arm Performance Studio replacing Arm Mobile Studio. * Assorted other minor documentation content and formatting improvement.
1 parent a24a418 commit c379353

File tree

5 files changed

+106
-59
lines changed

5 files changed

+106
-59
lines changed

CHANGELOG.md

+29-1
Original file line numberDiff line numberDiff line change
@@ -4,4 +4,32 @@ All notable changes to this package will be documented in this file.
44

55
## [1.0.0]
66

7-
- Initial release.
7+
- Initial release.
8+
9+
## [1.1.0]
10+
11+
- **Improvement:** Improve the counter annotation API.
12+
- **Fix:** Added binding synchronization for multi-threaded usage.
13+
14+
## [1.2.0]
15+
16+
- **Improvement:** Added Unity profiler metrics as counters.
17+
18+
## [1.3.0]
19+
20+
- **Fix:** Added static annotation ID namespacing to avoid collisions with
21+
other Arm tooling, such as the Performance Advisor layer driver.
22+
23+
## [1.4.0]
24+
25+
- **Fix:** Added 64-bit counter value support in the annotation API.
26+
27+
## [1.5.0]
28+
29+
- **Improvement:** Improved CAM annotation API to support track nesting.
30+
- **Improvement:** Improved CAM annotation API to support job dependencies.
31+
- **Fix:** Renamed counter `set_value()` to `setValue()`.
32+
33+
- - -
34+
35+
_Copyright © 2021-2024, Arm Limited and contributors. All rights reserved._
Original file line numberDiff line numberDiff line change
@@ -1,31 +1,35 @@
1-
Unity Bindings for Mobile Studio
2-
================================
1+
Unity Bindings for Performance Studio
2+
=====================================
33

44
Introduction
55
------------
66

77
This package contains C# bindings needed to export application-generated
8-
counters and event annotations to the Mobile Studio Streamline profiler.
8+
counters and event annotations to the Performance Studio Streamline profiler.
99

1010
The Streamline profiler can collect and present application software profiling
1111
information alongside sample-based hardware performance counter data from both
1212
Arm CPUs and GPUs. Streamline has an *annotations* feature which allows the
1313
application being profiled to emit additional information that can be displayed
1414
alongside the other captured performance information.
1515

16+
> **Note:** Performance Studio was formerly known as Mobile Studio. For API
17+
> backwards compatibility the package continues to use the `MobileStudio` file
18+
> name prefix and C# namespace.
19+
1620
Installation
1721
------------
1822

1923
1) Open the package manager in Unity.
2024
2) Click `+` in the toolbar and select `Add package from git URL`.
21-
3) Import the Mobile Studio package from GitHub into your project.
25+
3) Import the Performance Studio package from GitHub into your project.
2226

2327
It is recommended that you set up a define so you can easily remove the
2428
package from release builds without leaving errors in your code from package
2529
usage. To set up the define, follow these steps:
2630

27-
4) If you do not have an asmdef file for scripts that reference the Mobile
28-
Studio API, create one.
31+
4) If you do not have an asmdef file for scripts that reference the package
32+
API, create one.
2933
5) In the asmdef file, under `Assembly Definition References`,
3034
add `MobileStudio.Runtime`.
3135
6) In the asmdef file, under `Version Defines`, add a rule:
@@ -34,7 +38,7 @@ usage. To set up the define, follow these steps:
3438
c) Set `Expression` to `1.0.0`
3539
This rule makes Unity define `MOBILE_STUDIO` if the `com.arm.mobile-studio`
3640
package is present in the project and if its version is greater than `1.0.0`.
37-
7) In your code, wrap `MOBILE_STUDIO` around the Mobile Studio API:
41+
7) In your code, wrap `MOBILE_STUDIO` around the package API use:
3842

3943
#if MOBILE_STUDIO
4044
// Package usage
@@ -48,72 +52,75 @@ Usage
4852

4953
### Markers
5054

51-
The simplest annotations are markers. To use them in a project into which you
52-
have included this package, simply call into the Mobile Studio library as
53-
follows:
55+
Markers are the simplest annotations, emitting a timestamped point indicator
56+
that will be shown along the top of the Streamline timeline view.
5457

55-
MobileStudio.Annotations.marker("Frame");
58+
To emit a marker, e.g:
5659

57-
This will emit a timestamped marker with the label "Frame", which Streamline
58-
will show along the top of the timeline.
60+
MobileStudio.Annotations.marker("Frame");
5961

60-
You can also specify the color of the marker by passing an optional Color
61-
object, such as:
62+
You can also specify the color of the marker by passing an optional Unity
63+
`Color` object, e.g:
6264

6365
MobileStudio.Annotations.marker("Frame", Color.green);
6466

6567
### Channels
6668

67-
Channels are custom event timelines associated with a software thread. When a
68-
channel has been created, you can place annotations within it. A channel
69-
annotation has a text label and a color but, unlike markers, they span a range
70-
of time.
69+
Channels are custom event swimlanes that are associated with a software thread
70+
in the Streamline timeline. Once a channel has been created, you can place
71+
job annotations within it. A channel job annotation has a text label and a
72+
color but, unlike markers, they span a range of time.
7173

72-
To create a channel:
74+
To create a channel, e.g.:
7375

7476
channel = new MobileStudio.Annotations.Channel("AI");
7577

76-
Annotations can be inserted into a channel easily:
78+
To insert an annotation time-box into the channel, e.g.:
7779

80+
// Trigger the start of the annotation
7881
channel.annotate("NPC AI", Color.red);
79-
// Do work ...
82+
83+
// Do the work you want to time ...
84+
85+
// Trigger the end of the annotation
8086
channel.end();
8187

8288
### Counters
8389

84-
Counters are numerical data points that can be plotted as a chart in the
90+
Counters are numerical data points that can be plotted as a chart series in the
8591
Streamline timeline view. Counters can be created as either absolute counters,
8692
where every value is an absolute value, or as a delta counter, where values are
8793
the number of instances of an event since the last value was emitted. All
8894
values are floats and will be presented to 2 decimal places.
8995

90-
When charts are first defined the user can specify two strings, a title and
91-
series name. The title names the chart, the series names the data series.
92-
Multiple counter series can use the same title, which means that they will be
93-
plotted on the same chart in the Streamline timeline.
96+
When charts are first defined you can specify a title and a series name. The
97+
title names the chart, the series names the data series. Multiple counter
98+
series can use the same title, which means that they will be plotted on the
99+
same chart in the Streamline timeline.
94100

95101
To create a counter, e.g.:
96102

97103
counter = new MobileStudio.Annotations.Counter(
98104
"Title", "Series", MobileStudio.Annotations.CounterType.Absolute);
99105

100-
Counter values are set easily:
106+
To set a value for a counter, e.g.:
101107

102108
counter.setValue(42.2f);
103109

104110
### Custom Activity Maps
105111

106-
Custom Activity Map (CAM) views allow execution information to be plotted on
107-
a hierarchical set of timelines. Like channel annotations, CAM views plot Jobs
108-
on tracks, but unlike channel annotations, CAM views are not associated with a
109-
specific thread. CAM Jobs can also be linked by dependency lines, allowing
110-
control flow between them to be visualized.
112+
Custom Activity Map (CAM) views allow job execution information to be plotted
113+
on a hierarchical set of swimlane tracks. Each CAM view defines a standalone
114+
visualization and, unlike channel annotations, tracks are not associated with
115+
with a specific calling thread. Dependency information between jobs within a
116+
single CAM view can also be defined, allowing the visualization to show
117+
control flow information if it is provided.
111118

112-
To create a CAM view:
119+
To create a CAM view, e.g:
113120

114121
gameCAM = new MobileStudio.Annotations.CAM("Game Activity");
115122

116-
To add tracks to the CAM:
123+
To add tracks to the CAM, e.g:
117124

118125
// Create root tracks in the view
119126
aiTrack = gameCAM.createTrack("AI activity");
@@ -154,11 +161,15 @@ Streamline visualization.
154161
Further Reading
155162
---------------
156163

157-
If you'd like to know more or raise any questions, please see the Mobile Studio
158-
developer pages at:
164+
If you'd like to know more or raise any questions, please see the Performance
165+
Studio developer pages at:
166+
167+
* https://developer.arm.com/performance-studio
168+
169+
Community support is available from Arm's graphics forum at:
159170

160-
* https://developer.arm.com/mobile-studio
171+
* https://community.arm.com/graphics
161172

162-
Community support is available from Arm's Graphics and Multimedia forum at:
173+
- - -
163174

164-
* https://community.arm.com/support-forums/f/graphics-gaming-and-vr-forum
175+
_Copyright © 2021-2024, Arm Limited and contributors. All rights reserve

Documentation/Mobile-Studio.md.meta Documentation/Performance-Studio.md.meta

+3-3
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

LICENSE_UNITY.md

+6-2
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,9 @@
11
Unity Native Plugin API copyright © 2015 Unity Technologies ApS
22

3-
Licensed under the Unity Companion License for Unity-dependent projects--see [Unity Companion License](http://www.unity3d.com/legal/licenses/Unity_Companion_License).
3+
Licensed under the Unity Companion License for Unity-dependent projects -- see
4+
[Unity Companion License](http://www.unity3d.com/legal/licenses/Unity_Companion_License).
45

5-
Unless expressly provided otherwise, the Software under this license is made available strictly on an “AS IS” BASIS WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED. Please review the license for details on these and other terms and conditions.
6+
Unless expressly provided otherwise, the Software under this license is made
7+
available strictly on an “AS IS” BASIS WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
8+
IMPLIED. Please review the license for details on these and other terms and
9+
conditions.

README.md

+17-13
Original file line numberDiff line numberDiff line change
@@ -1,22 +1,25 @@
1-
Mobile Studio Package
2-
======================
1+
Performance Studio Package
2+
==========================
33

4-
This project is a Unity package for integrating the Mobile Studio tool suite
5-
into game development workflows. This version of the package has the following
6-
features for integrating with the Streamline profiler.
4+
This project is a Unity package for integrating the Performance Studio tool
5+
suite into game development workflows. This version of the package has the
6+
following features for integrating with the Streamline profiler.
77

88
* C# language bindings for emitting event annotations.
99
* C# language bindings for emitting software counters.
1010

11+
> **Note:** Performance Studio was formerly known as Mobile Studio. For API
12+
> backwards compatibility the package continues to use the `MobileStudio` file
13+
> name prefix and C# namespace.
14+
1115
License
1216
=======
1317

14-
Most files in this library are licensed under the BSD-3 Clause License,
15-
provided in [LICENSE.md](LICENSE.md).
18+
Most files in this library are licensed under the BSD-3 Clause License (see
19+
[LICENSE.md](LICENSE.md)).
1620

1721
The Unity native plugin interface header, `IUnityInterface.h`, is licensed
18-
under the Unity Companion License, provided in
19-
[LICENSE_UNITY.md](LICENSE_UNITY.md).
22+
under the Unity Companion License (see [LICENSE_UNITY.md](LICENSE_UNITY.md)).
2023

2124
Technical details
2225
=================
@@ -32,8 +35,8 @@ Building
3235

3336
This package is built using the Unity bee compiler.
3437

35-
1) Set the environment variable `ANDROID_NDK_ROOT`
36-
to a local Android NDK install. Android NDK can usually be found in:
38+
1) Set the environment variable `ANDROID_NDK_ROOT` to a local Android NDK
39+
install. Android NDK can usually be found in:
3740
`\Editor\Data\PlaybackEngines\AndroidPlayer\NDK`.
3841
2) Locate the bee compiler in your Unity install. It is usually found in:
3942
`\Editor\Data\il2cpp\build\BeeSettings\offline\bee.exe`.
@@ -51,7 +54,8 @@ Installing and using
5154
--------------------
5255

5356
For instructions on how to install and use this package, see the
54-
[full documentation page](Documentation/Mobile-Studio.md).
55-
57+
[full documentation page](Documentation/Performance-Studio.md).
5658

59+
- - -
5760

61+
_Copyright © 2021-2024, Arm Limited and contributors. All rights reserved._

0 commit comments

Comments
 (0)