You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: IntelPresentMon/metrics.csv
+3-3Lines changed: 3 additions & 3 deletions
Original file line number
Diff line number
Diff line change
@@ -13,7 +13,7 @@ PM_METRIC_FRAME_TYPE,,Frame Type,Whether the frame was rendered by the applicati
13
13
,,,
14
14
PM_METRIC_CPU_START_TIME,,CPU Start Time,The time the CPU started working on this frame.
15
15
PM_METRIC_CPU_START_QPC,1,CPU Start QPC,"The time the CPU started working on this frame, as a QueryPerformanceCounter() value."
16
-
PM_METRIC_CPU_FRAME_TIME,,FrameTime-App,How long it took from the start of this frame until the CPU started working on the next frame.
16
+
PM_METRIC_CPU_FRAME_TIME,1,FrameTime-App,How long it took from the start of this frame until the CPU started working on the next frame.
17
17
PM_METRIC_CPU_BUSY,,Ms CPU Busy,How long the CPU spent working on this frame before presenting it.
18
18
PM_METRIC_CPU_WAIT,,Ms CPU Wait,How long the CPU spent waiting before starting the next frame.
19
19
,,,
@@ -100,6 +100,6 @@ PM_METRIC_UNTIL_DISPLAYED,,Ms Until Displayed,"The time between the Present() ca
100
100
PM_METRIC_RENDER_PRESENT_LATENCY,,Ms Render Present Latency,"The time between the Present() call and when GPU work for this frame completed, in milliseconds."
101
101
PM_METRIC_BETWEEN_SIMULATION_START,,Ms Between Simulation Start,"The time between the start of simulation processing of the previous frame and this one, in milliseconds."
102
102
PM_METRIC_PC_LATENCY,,Ms PC Latency,"Time between PC receiving input and frame being sent to the display, in milliseconds."
103
-
PM_METRIC_DISPLAYED_FRAME_TIME,,FrameTime-Display,"The time between when the previous frame was displayed and this frame was, in milliseconds."
104
-
PM_METRIC_PRESENTED_FRAME_TIME,,FrameTime-Presents,"The time between this Present call and the previous one, in milliseconds."
103
+
PM_METRIC_DISPLAYED_FRAME_TIME,1,FrameTime-Display,"The time between when the previous frame was displayed and this frame was, in milliseconds."
104
+
PM_METRIC_PRESENTED_FRAME_TIME,1,FrameTime-Presents,"The time between this Present call and the previous one, in milliseconds."
105
105
PM_METRIC_BETWEEN_APP_START,,Ms Between App Start,"How long it took from the start of this frame until the CPU started working on the next frame, in milliseconds."
Copy file name to clipboardExpand all lines: README-CaptureApplication.md
+26-1Lines changed: 26 additions & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -54,6 +54,8 @@ In Debug configuration, the application will halt with a modal error dialog when
54
54
|GPU Wait|GPUWait|How long the GPU spent waiting while working on this frame|DF|
55
55
|Dropped Frames||Indicates if the frame was not displayed|DF|
56
56
|Displayed Time|DisplayedTime|How long this frame was displayed on screen|DF|
57
+
|Animation Error|MsAnimationError|The difference between the previous frame's CPU delta and display delta|DF|
58
+
|Animation Time|AnimationTime|The difference between the previous frame's CPU delta and display delta|F|
57
59
|Sync Interval|SyncInterval|The application's requested interval between presents measured in vertical sync/vblank events|DF|
58
60
|Present Flags|PresentFlags|Flags used to configure the present operation|DF|
59
61
|Present Mode|PresentMode|Method used to present the frame|DF|
@@ -62,7 +64,7 @@ In Debug configuration, the application will halt with a modal error dialog when
62
64
|Frame Type|FrameType|Whether the frame was rendered by the application or interpolated by a driver/SDK.|DF|
63
65
|GPU Latency|GPULatency|How long it took until GPU work for this frame started|DF|
64
66
|Display Latency|DisplayLatency|Time between frame submission and scan out to display|DF|
65
-
|Click To Photon Latency|ClickToPhotonLatency|Time between input and display|DF|
67
+
|Click To Photon Latency|MsClickToPhotonLatency|Time between mouse click input and display|DF|
66
68
|GPU Sustained Power Limit||Sustained power limit of the GPU|DS|
67
69
|GPU Power|GPUPower|Power consumed by the graphics adapter|DF|
68
70
|GPU Voltage|GPUVoltage|Voltage consumed by the graphics adapter|DF|
@@ -99,6 +101,29 @@ In Debug configuration, the application will halt with a modal error dialog when
99
101
|CPU Temperature|CPUTemperature|Temperature of the CPU|DF|
100
102
|CPU Frequency|CPUFrequency|Clock speed of the CPU|DF|
101
103
|CPU Core Utility||Amount of CPU processing utility being used per core|D|
104
+
|All Input To Photon Latency|MsAllInputToPhotonLatency|Time between any input and display|DF|
105
+
|Instrumented Latency|InstrumentedLatency|How long it took from the instrumented start of this frame until the frame was displayed on the screen|DF|
106
+
|GPU Effective Frequency||Effective clock speed of the GPU cores|DF|
107
+
|GPU Voltage Regulator Temperature||Voltage regulator temperature|DF|
108
+
|GPU Memory Effective Bandwidth||Data transfer rate that the memory modules can sustain based on current clock frequency|DF|
109
+
|GPU Overvoltage Percent||GPU overvoltage increment as a ratio of the maximum increment|DF|
110
+
|GPU Temperature Percent||GPU temperature as a ratio of the thermal margin|DF|
111
+
|GPU Power Percent||GPU power draw as a ratio of default maximum power|DF|
112
+
|GPU Fan Speed Percent||GPU fan speed as a ratio of the max speed for that fan|DF|
113
+
|GPU Card Power||,Total power consumption of the graphics adapter board|DF|
114
+
|Present Start Time|TimeInSeconds|The time the Present() call was made, in seconds|F|
115
+
|Present Start QPC|Present Start QPC|The time the Present() call was made as a QueryPerformanceCounter() value|F|
116
+
|Between Presents|MsBetweenPresents|The time between this Present() call and the previous one, in milliseconds|F|
117
+
|In Present API|MsInPresentAPI|The time spent inside the Present() call, in milliseconds.|F|
118
+
|Between Display Change|MsBetweenDisplayChange|How long the previous frame was displayed before this Present() was displayed, in milliseconds|DF|
119
+
|Until Displayed|MsUntilDisplayed|The time between the Present() call and when the frame was displayed, in milliseconds|DF|
120
+
|Render Present Latency|MsRenderPresentLatency|The time between the Present() call and when GPU work for this frame completed, in milliseconds|F|
121
+
|Between Simulation Start|MsBetweenSimulationStart|The time between the start of simulation processing of the previous frame and this one, in milliseconds.|F|
122
+
|PC Latency|MsPCLatency|Time between PC receiving input and frame being sent to the display, in milliseconds|DF|
123
+
|Displayed Frame Time||The time between when the previous frame was displayed and this frame was, in milliseconds|D|
124
+
|Presented Frame Time||The time between this Present call and the previous one, in milliseconds|D|
125
+
|Between App Start|MsBetweenAppStart|How long it took from the start of this frame until the CPU started working on the next frame, in milliseconds.|F|
@@ -28,6 +28,7 @@ A binary of the console application is provided in the release, e.g.:
28
28
|`--date_time`| Output the CPU start time as a date and time with nanosecond precision. |
29
29
|`--exclude_dropped`| Exclude frames that were not displayed to the screen from the CSV output. |
30
30
|`--v1_metrics`| Output a CSV using PresentMon 1.x metrics. |
31
+
|`--v2_metrics`| Output a CSV using PresentMon 2.x metrics. |
31
32
32
33
| Recording Options ||
33
34
| ------------------------------ | --- |
@@ -53,7 +54,8 @@ A binary of the console application is provided in the release, e.g.:
53
54
| ------------------------------ | --- |
54
55
|`--track_frame_type`| Track the type of each displayed frame; requires application and/or driver instrumentation using Intel-PresentMon provider. |
55
56
|`--track_hw_measurements`| Tracks HW-measured latency and/or power data coming from a LMT and/or PCAT device. |
56
-
|`--track_app_timing`| Track app timines for each displayed frame; requires application and/or driver instrumentation using Intel-PresentMon provider. |
57
+
|`--track_app_timing`| Track app times for each displayed frame; requires application and/or driver instrumentation using Intel-PresentMon provider. |
58
+
|`--track_hybrid_present`| Tracks if the present is a hybrid present and is performing a cross adapter copy. |
57
59
58
60
## Comma-separated value (CSV) file output
59
61
@@ -89,21 +91,28 @@ Default metrics include:
89
91
|*PresentMode*| The presentation mode used by the system for this frame. See the table below for more details. |
90
92
|*FrameType*| Whether the frame was rendered by the application or generated by a driver/SDK. |
91
93
|*CPUStartTime<br>(CPUStartQPC)<br>(CPUStartQPCTime)<br>(CPUStartDateTime)*| The time the CPU started working on this frame. By default, this is the time since recording started unless:<br>• When `--qpc_time` is used, the value is a [performance counter value](https://docs.microsoft.com/en-us/windows/win32/api/profileapi/nf-profileapi-queryperformancecounter) and the column is named *CPUStartQPC*.<br>• When `--qpc_time_ms` is used, the value is the query performance counter value converted to milliseconds and the column is named *CPUStartQPCTime*.<br>• When `--date_time` is used, the value is a date and the column is named *CPUStartDateTime*. |
92
-
|*FrameTime*| How long it took from the start of this frame until the CPU started working on the next frame. |
93
-
|*CPUBusy*| How long the CPU spent working on this frame before presenting it. |
94
-
|*CPUWait*| How long the CPU spent waiting before starting the next frame. |
95
-
|*GPULatency*| How long it took from the start of this frame until the GPU started working on it. |
96
-
|*GPUTime*| The total amount of time that GPU was working on this frame. |
97
-
|*GPUBusy*| How long the GPU was actively working on this frame (i.e., the time during which at least one GPU engine is executing work from the target process). |
98
-
|*GPUWait*| How long the GPU was idle while working on this frame. |
94
+
|*MsCPUBusy*| How long the CPU spent working on this frame before presenting it. |
95
+
|*MsCPUWait*| How long the CPU spent waiting before starting the next frame. |
96
+
|*MsGPULatency*| How long it took from the start of this frame until the GPU started working on it. |
97
+
|*MsGPUTime*| The total amount of time that GPU was working on this frame. |
98
+
|*MsGPUBusy*| How long the GPU was actively working on this frame (i.e., the time during which at least one GPU engine is executing work from the target process). |
99
+
|*MsGPUWait*| How long the GPU was idle while working on this frame. |
99
100
|*VideoBusy*| How long the GPU video encode/decode engines were actively working on this frame. |
100
101
|*DisplayLatency*| How long it took from the start of this frame until the frame was displayed on the screen. |
101
102
|*DisplayedTime*| How long the frame was displayed on the screen, or 'NA' if the frame was not displayed. |
102
-
|*AnimationError*| The difference between the previous frame's CPU delta and display delta. |
103
+
|*MsAnimationError*| The difference between the previous frame's CPU delta and display delta. |
103
104
|*AnimationTime*| The time the CPU started animation work on this frame. |
104
-
|*ClickToPhotonLatency*| How long it took from the earliest mouse click that contributed to this frame until this frame was displayed. When supported HW measuring devices are not available, this is the software-visible subset of the full click-to-photon latency and doesn't include:<br>• time spent processing input in the keyboard/controller hardware or drivers (typically a fixed additional overhead),<br>• time spent processing the output in the display hardware or drivers (typically a fixed additional overhead), and<br>• a combination of display blanking interval and scan time (which varies, depending on timing and tearing). |
105
-
|*AllInputToPhotonLatency*| How long it took from the earliest keyboard or mouse interaction that contributed to this frame until this frame was displayed. |
105
+
|*MsClickToPhotonLatency*| How long it took from the earliest mouse click that contributed to this frame until this frame was displayed. |
106
+
|*MsAllInputToPhotonLatency*| How long it took from the earliest keyboard or mouse interaction that contributed to this frame until this frame was displayed. |
106
107
|*InstrumentedLatency*| Instrumented Frame Start To Display Latency |
108
+
|*MsBetweenPresents*| The time between this Present() call and the previous one, in milliseconds. |
109
+
|*MsInPresentAPI*| The time spent inside the Present() call, in milliseconds. |
110
+
|*MsBetweenDisplayChange*| How long the previous frame was displayed before this Present() was displayed, in milliseconds. |
111
+
|*MsUntilDisplayed*| The time between the Present() call and when the frame was displayed, in milliseconds. |
112
+
|*MsRenderPresentLatency*| The time between the Present() call and when GPU work for this frame completed, in milliseconds. |
113
+
|*MsBetweenSimulationStart*| The time between the start of simulation processing of the previous frame and this one, in milliseconds. |
114
+
|*MsPCLatency*| Time between PC receiving input and frame being sent to the display, in milliseconds. |
115
+
|*MsBetweenAppStart*| How long it took from the start of this frame until the CPU started working on the next frame, in milliseconds. |
107
116
108
117
Some metrics are enabled or disabled depending on the command line options:
109
118
@@ -115,6 +124,7 @@ Some metrics are enabled or disabled depending on the command line options:
115
124
|`--no_track_input`||*ClickToPhotonLatency*|
116
125
|`--no_track_display`<br>(requires `--no_track_gpu` and `--no_track_input` as well) ||*AllowsTearing<br>PresentMode<br>DisplayLatency<br>DisplayedTime*|
117
126
|`--v1_metrics`|| Most of the above metrics. See a [1.x README.md](https://github.com/GameTechDev/PresentMon/blob/v1.9.2/README.md#csv-columns) for details on Presentmon 1.x metrics. |
127
+
|`--v2_metrics`|| Most of the above metrics. See a [2.x README.md](https://github.com/GameTechDev/PresentMon/blob/v2.3.0/README-ConsoleApplication.md#csv-columns) for details on Presentmon 2.x metrics. |
118
128
119
129
The following values are used in the PresentMode column:
Copy file name to clipboardExpand all lines: Tools/generate/readme/CSVOutro.md
+1Lines changed: 1 addition & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -9,6 +9,7 @@ Some metrics are enabled or disabled depending on the command line options:
9
9
|`--no_track_input`||*ClickToPhotonLatency*|
10
10
|`--no_track_display`<br>(requires `--no_track_gpu` and `--no_track_input` as well) ||*AllowsTearing<br>PresentMode<br>DisplayLatency<br>DisplayedTime*|
11
11
|`--v1_metrics`|| Most of the above metrics. See a [1.x README.md](https://github.com/GameTechDev/PresentMon/blob/v1.9.2/README.md#csv-columns) for details on Presentmon 1.x metrics. |
12
+
|`--v2_metrics`|| Most of the above metrics. See a [2.x README.md](https://github.com/GameTechDev/PresentMon/blob/v2.3.0/README-ConsoleApplication.md#csv-columns) for details on Presentmon 2.x metrics. |
12
13
13
14
The following values are used in the PresentMode column:
0 commit comments