Files
UnrealEngine/Engine/Source/Developer/Profiler/Private/ProfilerRawStatsForThreadView.h
2025-05-18 13:04:45 +08:00

58 lines
1.3 KiB
C++

// Copyright Epic Games, Inc. All Rights Reserved.
#pragma once
#include "CoreMinimal.h"
#if STATS
#include "Stats/StatsFile.h"
#include "ProfilerStream.h"
#include "ProfilerSession.h"
class FRawProfilerSession
: public FProfilerSession
{
friend class FProfilerManager;
friend class FProfilerActionManager;
/** Profiler stream that contains all read raw profiler frames. */
FProfilerStream ProfilerStream;
/** Stats thread state, mostly used to manage the stats metadata. */
FStatsLoadedState StatsThreadStats;
FStatsReadStream Stream;
/** Index of the last processed data for the mini-view. */
int32 CurrentMiniViewFrame;
public:
/**
* Default constructor, creates a profiler session from a capture file.
*/
FRawProfilerSession(const FString& InRawStatsFileFileath);
/** Destructor. */
~FRawProfilerSession();
/** Updates this profiler session. */
bool HandleTicker(float DeltaTime);
/** Starts a process of loading the raw stats file. */
void PrepareLoading();
const FProfilerStream& GetStream() const
{
return ProfilerStream;
}
/**
* Process all stats packets and convert them to data accessible by the profiler.
* Temporary version, will be optimized later.
*/
void ProcessStatPacketArray(const FStatPacketArray& PacketArray, FProfilerFrame& out_ProfilerFrame, int32 FrameIndex);
};
#endif // STATS