Files
UnrealEngineUWP/Engine/Source/Developer/Profiler/Private/ProfilerRawStatsForThreadView.h
ionut matasaru 1502e84e56 Disabled Profiler if STATS is not enabled (so Editor can compile also when ENABLE_STATNAMEDEVENTS is on).
#jira UE-140874
#fyi Brandon.Schaefer
#preflight 6201451e6773a3612898bddb
#rb none

[CL 18886574 by ionut matasaru in ue5-main branch]
2022-02-07 11:35:37 -05: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