mirror of
https://github.com/stenzek/duckstation.git
synced 2025-06-13 14:57:32 +00:00
34 lines
836 B
C++
34 lines
836 B
C++
// SPDX-FileCopyrightText: 2019-2024 Connor McLaughlin <stenzek@gmail.com>
|
|
// SPDX-License-Identifier: CC-BY-NC-ND-4.0
|
|
|
|
#pragma once
|
|
|
|
#include "common/types.h"
|
|
|
|
namespace PerformanceCounters
|
|
{
|
|
static constexpr u32 NUM_FRAME_TIME_SAMPLES = 150;
|
|
using FrameTimeHistory = std::array<float, NUM_FRAME_TIME_SAMPLES>;
|
|
|
|
float GetFPS();
|
|
float GetVPS();
|
|
float GetEmulationSpeed();
|
|
float GetAverageFrameTime();
|
|
float GetMinimumFrameTime();
|
|
float GetMaximumFrameTime();
|
|
float GetCPUThreadUsage();
|
|
float GetCPUThreadAverageTime();
|
|
float GetSWThreadUsage();
|
|
float GetSWThreadAverageTime();
|
|
float GetGPUUsage();
|
|
float GetGPUAverageTime();
|
|
const FrameTimeHistory& GetFrameTimeHistory();
|
|
u32 GetFrameTimeHistoryPos();
|
|
|
|
void Clear();
|
|
void Reset();
|
|
void Update(u32 frame_number, u32 internal_frame_number);
|
|
void AccumulateGPUTime();
|
|
|
|
} // namespace Host
|