|
1 | 1 | // Copyright (C) 2017-2024 Intel Corporation |
| 2 | +// Copyright (c) 2025 NVIDIA CORPORATION & AFFILIATES. All rights reserved |
2 | 3 | // SPDX-License-Identifier: MIT |
3 | 4 |
|
4 | 5 | #include "PresentMon.hpp" |
@@ -156,7 +157,8 @@ void WriteCsvHeader<FrameMetrics1>(FILE* fp) |
156 | 157 | L",PresentMode" |
157 | 158 | L",msUntilRenderComplete" |
158 | 159 | L",msUntilDisplayed" |
159 | | - L",msBetweenDisplayChange"); |
| 160 | + L",msBetweenDisplayChange" |
| 161 | + L",msFlipDelay"); |
160 | 162 | } |
161 | 163 | if (args.mTrackGPU) { |
162 | 164 | fwprintf(fp, L",msUntilRenderStart" |
@@ -221,11 +223,12 @@ void WriteCsvRow<FrameMetrics1>( |
221 | 223 | fwprintf(fp, L",%.*lf,%.*lf", DBL_DIG - 1, metrics.msInPresentApi, |
222 | 224 | DBL_DIG - 1, metrics.msBetweenPresents); |
223 | 225 | if (args.mTrackDisplay) { |
224 | | - fwprintf(fp, L",%d,%hs,%.*lf,%.*lf,%.*lf", p.SupportsTearing, |
225 | | - PresentModeToString(p.PresentMode), |
226 | | - DBL_DIG - 1, metrics.msUntilRenderComplete, |
227 | | - DBL_DIG - 1, metrics.msUntilDisplayed, |
228 | | - DBL_DIG - 1, metrics.msBetweenDisplayChange); |
| 226 | + fwprintf(fp, L",%d,%hs,%.*lf,%.*lf,%.*lf,%.*lf", p.SupportsTearing, |
| 227 | + PresentModeToString(p.PresentMode), |
| 228 | + DBL_DIG - 1, metrics.msUntilRenderComplete, |
| 229 | + DBL_DIG - 1, metrics.msUntilDisplayed, |
| 230 | + DBL_DIG - 1, metrics.msBetweenDisplayChange, |
| 231 | + DBL_DIG - 1, metrics.msFlipDelay); |
229 | 232 | } |
230 | 233 | if (args.mTrackGPU) { |
231 | 234 | fwprintf(fp, L",%.*lf,%.*lf", DBL_DIG - 1, metrics.msUntilRenderStart, |
@@ -333,7 +336,8 @@ void WriteCsvHeader<FrameMetrics>(FILE* fp) |
333 | 336 | L",DisplayLatency" |
334 | 337 | L",DisplayedTime" |
335 | 338 | L",AnimationError" |
336 | | - L",AnimationTime"); |
| 339 | + L",AnimationTime" |
| 340 | + L",FlipDelay"); |
337 | 341 | } |
338 | 342 | if (args.mTrackInput) { |
339 | 343 | fwprintf(fp, L",AllInputToPhotonLatency"); |
@@ -364,7 +368,8 @@ void WriteCsvHeader<FrameMetrics>(FILE* fp) |
364 | 368 | } |
365 | 369 | if (args.mTrackDisplay) { |
366 | 370 | fwprintf(fp, L",MsAnimationError" |
367 | | - L",AnimationTime"); |
| 371 | + L",AnimationTime" |
| 372 | + L",FlipDelay"); |
368 | 373 | } |
369 | 374 | if (args.mTrackInput) { |
370 | 375 | fwprintf(fp, L",MsAllInputToPhotonLatency"); |
@@ -542,6 +547,11 @@ void WriteCsvRow<FrameMetrics>( |
542 | 547 | else { |
543 | 548 | fwprintf(fp, L",NA"); |
544 | 549 | } |
| 550 | + if (metrics.mMsFlipDelay == 0.0) { |
| 551 | + fwprintf(fp, L",NA"); |
| 552 | + } else { |
| 553 | + fwprintf(fp, L",%.4lf", metrics.mMsFlipDelay); |
| 554 | + } |
545 | 555 | } |
546 | 556 | if (args.mTrackInput) { |
547 | 557 | if (metrics.mMsAllInputPhotonLatency == 0.0) { |
|
0 commit comments