This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revisionNext revisionBoth sides next revision | ||
en:tutorials:tools:profiler [2018/12/13 18:30 (5 years ago)] – sausage | en:tutorials:tools:profiler [2018/12/16 02:54 (5 years ago)] – iarwain | ||
---|---|---|---|
Line 1: | Line 1: | ||
====== The Orx Profiler ====== | ====== The Orx Profiler ====== | ||
- | Every application that is built using Orx contains a profiler tool. The Profiler is compiled-in when using either debug or release | + | Every application that is built using Orx contains a profiler tool. The Profiler is compiled-in when using either debug or profile |
{{ : | {{ : | ||
Line 43: | Line 43: | ||
==== 1) Thread Frame bar ==== | ==== 1) Thread Frame bar ==== | ||
- | This grey bar indicates which thread is currently selected. Most of Orx's tasks run on the main thread. There are other threads that handle things like streaming audio, resource requests and bitmap | + | This grey bar indicates which thread is currently selected. Most of Orx's tasks run on the main thread. There are other threads that handle things like streaming audio, resource requests and bitmap |
{{ : | {{ : | ||
Line 50: | Line 50: | ||
==== 2) The Meter Bar Panel ==== | ==== 2) The Meter Bar Panel ==== | ||
- | These colored meter bars indicate how much time each Marker took to complete within the frame. The colors themselves correspond to the colors on each Markers | + | These colored meter bars indicate how much time each Marker took to complete within the frame. The colors themselves correspond to the colors on each Marker |
+ | |||
+ | {{ : | ||
The bars are spread over four or more lines. The row of the bar corresponds to the level of the function call marker. For example, the '' | The bars are spread over four or more lines. The row of the bar corresponds to the level of the function call marker. For example, the '' | ||
+ | |||
+ | {{ : | ||
This helps easily distinguish between the markers that are of similar color. | This helps easily distinguish between the markers that are of similar color. | ||
Line 58: | Line 62: | ||
==== 3) Marker Panel ==== | ==== 3) Marker Panel ==== | ||
This panel shows all the Markers currently running in the frame. Markers represent important function calls. Each Marker contains three numbers. | This panel shows all the Markers currently running in the frame. Markers represent important function calls. Each Marker contains three numbers. | ||
+ | |||
+ | {{ : | ||
The first is the amount of time in ms this Marker has taken to run in the current frame. The second number indicates the longest amount of time this Marker took to run in the last second. | The first is the amount of time in ms this Marker has taken to run in the current frame. The second number indicates the longest amount of time this Marker took to run in the last second. | ||
Line 70: | Line 76: | ||
The Markers in this panel are white and have more than one parent. Therefore they don't fit in to the tree hierarchy. | The Markers in this panel are white and have more than one parent. Therefore they don't fit in to the tree hierarchy. | ||
- | There can be grey markers | + | {{ : |
+ | |||
+ | These markers | ||
==== 5) Memory Panel ==== | ==== 5) Memory Panel ==== | ||
Each line represents a different type of memory. | Each line represents a different type of memory. | ||
+ | |||
+ | {{ : | ||
The first group of numbers represents the number of live allocations and the second number is the max allocations in the past. | The first group of numbers represents the number of live allocations and the second number is the max allocations in the past. | ||
Line 89: | Line 99: | ||
You can pause or unpause the profiler at any time using the '' | You can pause or unpause the profiler at any time using the '' | ||
- | Observe the running function call Markers. | + | Observe the running function call Markers. |
- | Notice that the '' | + | Notice that the '' |
You can profile an application with vsync on or off. In the playground application you can toggle this with the `F11` key. With vsync on, the longest bar will be the '' | You can profile an application with vsync on or off. In the playground application you can toggle this with the `F11` key. With vsync on, the longest bar will be the '' | ||
Line 103: | Line 113: | ||
You can activate a history graph of frames by pressing the '' | You can activate a history graph of frames by pressing the '' | ||
- | You can pause this graph with the Space Bar and you can scroll back and forth through the history to a particular frame to inspect the meters and values for each Marker to observe spikes. | + | {{ : |
+ | |||
+ | You can pause this graph with the '' | ||
The white vertical line shows the current frame being inspected. | The white vertical line shows the current frame being inspected. | ||
- | You can get more details on a particular marker by changing the depth using the '' | + | You can get more details on a particular marker |
+ | |||
+ | {{ : | ||
+ | And that is the Orx Profiler. This tool should be invaluable for checking the health of your application and to help you optimize it. |