MCPcopy Create free account
hub / github.com/GameTechDev/PresentMon / FrameMetrics>

Method FrameMetrics>

PresentMon/CsvOutput.cpp:522–654  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

520
521template<>
522void WriteCsvHeader<pmon::util::metrics::FrameMetrics>(FILE* fp)
523{
524 auto const& args = GetCommandLineArgs();
525
526 fwprintf(fp, L"Application"
527 L",ProcessID"
528 L",SwapChainAddress"
529 L",PresentRuntime"
530 L",SyncInterval"
531 L",PresentFlags");
532 if (args.mTrackDisplay) {
533 fwprintf(fp, L",AllowsTearing"
534 L",PresentMode");
535 }
536 if (args.mTrackFrameType) {
537 fwprintf(fp, L",FrameType");
538 }
539 if (args.mTrackHybridPresent) {
540 fwprintf(fp, L",HybridPresent");
541 }
542 if (args.mUseV2Metrics == false) {
543 switch (args.mTimeUnit) {
544 case TimeUnit::MilliSeconds: fwprintf(fp, L",TimeInMs"); break;
545 case TimeUnit::QPC: fwprintf(fp, L",TimeInQPC"); break;
546 case TimeUnit::DateTime: fwprintf(fp, L",TimeInDateTime"); break;
547 default: fwprintf(fp, L",TimeInSeconds"); break;
548 }
549
550 fwprintf(fp, L",MsBetweenSimulationStart"
551 L",MsBetweenPresents");
552
553 if (args.mTrackDisplay) {
554 fwprintf(fp, L",MsBetweenDisplayChange");
555 }
556
557 fwprintf(fp, L",MsInPresentAPI"
558 L",MsRenderPresentLatency");
559
560 if (args.mTrackDisplay) {
561 fwprintf(fp, L",MsUntilDisplayed");
562 if (args.mTrackPcLatency) {
563 fwprintf(fp, L",MsPCLatency");
564 }
565 }
566 }
567
568 if (args.mUseV2Metrics) {
569 switch (args.mTimeUnit) {
570 case TimeUnit::MilliSeconds: fwprintf(fp, L",CPUStartTime"); break;
571 case TimeUnit::QPC: fwprintf(fp, L",CPUStartQPC"); break;
572 case TimeUnit::QPCMilliSeconds: fwprintf(fp, L",CPUStartQPCTime"); break;
573 case TimeUnit::DateTime: fwprintf(fp, L",CPUStartDateTime"); break;
574 default: fwprintf(fp, L",CPUStartTime"); break;
575 }
576 fwprintf(fp, L",FrameTime"
577 L",CPUBusy"
578 L",CPUWait");
579 if (args.mTrackGPU) {

Callers

nothing calls this directly

Calls 8

RuntimeToStringFunction · 0.85
PresentModeToStringFunction · 0.85
FrameTypeToStringFunction · 0.85
HasFrameMetricValueFunction · 0.85
WriteMetricOrZeroFunction · 0.85

Tested by

no test coverage detected