diff --git a/IntelPresentMon/Core/source/pmon/RawFrameDataWriter.cpp b/IntelPresentMon/Core/source/pmon/RawFrameDataWriter.cpp index 9157857f3..6d86cbcad 100644 --- a/IntelPresentMon/Core/source/pmon/RawFrameDataWriter.cpp +++ b/IntelPresentMon/Core/source/pmon/RawFrameDataWriter.cpp @@ -143,7 +143,8 @@ namespace p2c::pmon metricId == PM_METRIC_BETWEEN_SIMULATION_START || metricId == PM_METRIC_PC_LATENCY || metricId == PM_METRIC_BETWEEN_DISPLAY_CHANGE || - metricId == PM_METRIC_UNTIL_DISPLAYED ) { + metricId == PM_METRIC_UNTIL_DISPLAYED || + metricId == PM_METRIC_INSTRUMENTED_LATENCY) { flags |= Annotation_::FLAG_NAN_MEANS_NOT_AVAILABLE; } diff --git a/IntelPresentMon/PresentMonMiddleware/ConcreteMiddleware.cpp b/IntelPresentMon/PresentMonMiddleware/ConcreteMiddleware.cpp index 768b1a8b5..9a9114404 100644 --- a/IntelPresentMon/PresentMonMiddleware/ConcreteMiddleware.cpp +++ b/IntelPresentMon/PresentMonMiddleware/ConcreteMiddleware.cpp @@ -806,9 +806,14 @@ static void ReportMetricsHelper( if (displayed) { chain->mDisplayLatency .push_back(metrics.mDisplayLatency); chain->mDisplayedTime .push_back(metrics.mDisplayedTime); - chain->mMsBetweenDisplayChange .push_back(metrics.mMsBetweenDisplayChange); chain->mMsUntilDisplayed .push_back(metrics.mMsUntilDisplayed); chain->mDropped .push_back(0.0); + if (metrics.mMsBetweenDisplayChange != 0) { + // Only push back the mMsBetweenDisplayChange if it is non-zero. + // mMsBetweenDisplayChange will be zero on the first use of the incoming + // swap chain parameter. + chain->mMsBetweenDisplayChange.push_back(metrics.mMsBetweenDisplayChange); + } } else { chain->mDropped .push_back(1.0); }