This is the documentation for Enlighten.
class Enlighten EnlightenProfile
class Enlighten::EnlightenProfile
A container for Enlighten runtime profile statistics.
It defines the interface used by the HLRT to record statistics. A pointer to an EnlightenProfile is a member of UpdateManagerProperties. If non-NULL upon creation of an update manager, the HLRT will push real time stats to the EnlightenProfile object.
Functions
Name | Description |
---|---|
DumpCubeMapStatsToStream(Geo::IGeoStream &) | Writes some summary stats (average etc.) for all Enlighten cube maps. |
DumpCurrentStatsToStream(Geo::IGeoStream &) | Writes the set of most recently recorded stats. |
DumpHeaderToStream(Geo::IGeoStream &) | Writes a small header containing the description (see SetDescription). |
DumpProbeSetStatsToStream(Geo::IGeoStream &) | Writes some summary stats (average etc.) for all Enlighten probe sets. |
DumpSystemStatsToStream(Geo::IGeoStream &) | Writes some summary stats (average etc.) for all Enlighten systems. |
DumpToStream(Geo::IGeoStream &) | Writes the header, current stats and system stats to the given stream. |
GetAggregateProfile() | Read-only access to profile data. |
GetCubeMapProfileAtIdx(Geo::s32) | Get a cube map at the specified index. |
GetCubeMapProfileAtIdx(Geo::s32) | Get a cube map at the specified index. |
GetCubeMapProfileFromGuid(const Geo::GeoGuid &) | Get a cube map from a given guid. |
GetDescription() | Gets/sets the profile description which is written in the header in DumpHeaderToStream. |
GetNumCubeMaps() | Get number of recorded cube maps Calls to this should be surrounded in a Lock/Unlock pair. |
GetNumProbeSets() | Get number of recorded probe sets. |
GetNumSystems() | Get number of recorded systems. |
GetProbeSetProfileAtIdx(Geo::s32) | Get a probe set at the specified index. |
GetProbeSetProfileAtIdx(Geo::s32) | Get a probe set at the specified index. |
GetProbeSetProfileFromGuid(const Geo::GeoGuid &) | Get a probe set from a given guid. |
GetSystemProfileAtIdx(Geo::s32) | Get a system at the specified index. |
GetSystemProfileAtIdx(Geo::s32) | Read-only access to profile data. |
GetSystemProfileFromGuid(const Geo::GeoGuid &) | Get a system from a given guid. |
Lock() | Multi-threaded access controls. |
RecordAggregateProfileItem(AggregateProfileItem, double) | Record aggregate profile items. |
RecordAggregateProfileItemUnsafe(AggregateProfileItem, double) | Record aggregate profile items. |
RecordCubeMapItem(const Geo::GeoGuid &, CubeMapProfileItem, double) | Record a stat item for cube maps. |
RecordEnlightenCpuTime(double) | Record a stat item for total enlighten cpu time. |
RecordEnlightenCpuTimeUnsafe(double) | Record a stat item for total enlighten cpu time. |
RecordEnlightenCubeMapTime(double) | Record a stat item for total enlighten cube map time. |
RecordEnlightenCubeMapTimeUnsafe(double) | Record a stat item for total enlighten cube map time. |
RecordEnlightenGpuTime(double) | Record a stat item for total enlighten gpu time. |
RecordEnlightenGpuTimeUnsafe(double) | Record a stat item for total enlighten gpu time. |
RecordEnlightenProbeInterpolationTime(double) | Record a stat item for total enlighten light probe interpolation time. |
RecordEnlightenProbeInterpolationTimeUnsafe(double) | Record a stat item for total enlighten light probe interpolation time. |
RecordEnlightenProbeSetTime(double) | Record a stat item for total enlighten light probe time (either cpu or gpu) |
RecordEnlightenProbeSetTimeUnsafe(double) | Record a stat item for total enlighten light probe time (either cpu or gpu) |
RecordProbeSetItem(const Geo::GeoGuid &, ProbeSetProfileItem, double) | Record a stat item for probes sets. |
RecordSystemItem(const Geo::GeoGuid &, SystemProfileItem, double) | Stat recording functions. |
RegisterCubeMap(const Geo::GeoGuid &) | Register HLRT objects with the profiler and returns their respective index. |
RegisterProbeSet(const Geo::GeoGuid &) | Register HLRT objects with the profiler and returns their respective index. |
RegisterSystem(const Geo::GeoGuid &) | Register HLRT objects with the profiler and returns their respective index. |
Reset() | Reset all recorded stats. Also empties the arrays. |
ResetHistory() | Reset the recorded stats. |
SetDescription(ProfileDescription) | Gets/sets the profile description which is written in the header in DumpHeaderToStream. |
Unlock() | Unlock access to the profile records. |
void Enlighten::EnlightenProfile::DumpCubeMapStatsToStream
public: void DumpCubeMapStatsToStream
(
  Geo::IGeoStream & stream
) const
Writes some summary stats (average etc.) for all Enlighten cube maps.
void Enlighten::EnlightenProfile::DumpCurrentStatsToStream
public: void DumpCurrentStatsToStream
(
  Geo::IGeoStream & stream
) const
Writes the set of most recently recorded stats.
void Enlighten::EnlightenProfile::DumpHeaderToStream
public: void DumpHeaderToStream
(
  Geo::IGeoStream & stream
) const
Writes a small header containing the description (see SetDescription).
void Enlighten::EnlightenProfile::DumpProbeSetStatsToStream
public: void DumpProbeSetStatsToStream
(
  Geo::IGeoStream & stream
) const
Writes some summary stats (average etc.) for all Enlighten probe sets.
void Enlighten::EnlightenProfile::DumpSystemStatsToStream
public: void DumpSystemStatsToStream
(
  Geo::IGeoStream & stream
) const
Writes some summary stats (average etc.) for all Enlighten systems.
void Enlighten::EnlightenProfile::DumpToStream
public: void DumpToStream
(
  Geo::IGeoStream & stream
) const
Writes the header, current stats and system stats to the given stream.
const EnlightenAggregateProfile* Enlighten::EnlightenProfile::GetAggregateProfile
public: const EnlightenAggregateProfile * GetAggregateProfile() const
Read-only access to profile data.
Warning
All of these functions should be surrounded in a Lock/Unlock pair.Get the aggregate profile history
EnlightenCubeMapProfile* Enlighten::EnlightenProfile::GetCubeMapProfileAtIdx
public: EnlightenCubeMapProfile * GetCubeMapProfileAtIdx
(
  Geo::s32 idx
)
Get a cube map at the specified index.
Calls to this and all access to the returned pointer should be surrounded in a Lock/Unlock pair.
const EnlightenCubeMapProfile* Enlighten::EnlightenProfile::GetCubeMapProfileAtIdx
public: const EnlightenCubeMapProfile * GetCubeMapProfileAtIdx
(
  Geo::s32 idx
) const
Get a cube map at the specified index.
Calls to this and all access to the returned pointer should be surrounded in a Lock/Unlock pair.
Geo::s32 Enlighten::EnlightenProfile::GetCubeMapProfileFromGuid
public: Geo::s32 GetCubeMapProfileFromGuid
(
  const Geo::GeoGuid & guid
) const
Get a cube map from a given guid.
Calls to this and all access to the returned pointer should be surrounded in a Lock/Unlock pair.
Returns
-1 if guid does not exit.
ProfileDescription Enlighten::EnlightenProfile::GetDescription
public: ProfileDescription GetDescription()
Gets/sets the profile description which is written in the header in DumpHeaderToStream.
Geo::s32 Enlighten::EnlightenProfile::GetNumCubeMaps
public: Geo::s32 GetNumCubeMaps() const
Get number of recorded cube maps Calls to this should be surrounded in a Lock/Unlock pair.
Geo::s32 Enlighten::EnlightenProfile::GetNumProbeSets
public: Geo::s32 GetNumProbeSets() const
Get number of recorded probe sets.
Calls to this should be surrounded in a Lock/Unlock pair
Geo::s32 Enlighten::EnlightenProfile::GetNumSystems
public: Geo::s32 GetNumSystems() const
Get number of recorded systems.
Calls to this should be surrounded in a Lock/Unlock pair
const EnlightenProbeSetProfile* Enlighten::EnlightenProfile::GetProbeSetProfileAtIdx
public: const EnlightenProbeSetProfile * GetProbeSetProfileAtIdx
(
  Geo::s32 idx
) const
Get a probe set at the specified index.
Calls to this and all access to the returned pointer should be surrounded in a Lock/Unlock pair.
EnlightenProbeSetProfile* Enlighten::EnlightenProfile::GetProbeSetProfileAtIdx
public: EnlightenProbeSetProfile * GetProbeSetProfileAtIdx
(
  Geo::s32 idx
)
Get a probe set at the specified index.
Calls to this and all access to the returned pointer should be surrounded in a Lock/Unlock pair.
Geo::s32 Enlighten::EnlightenProfile::GetProbeSetProfileFromGuid
public: Geo::s32 GetProbeSetProfileFromGuid
(
  const Geo::GeoGuid & guid
) const
Get a probe set from a given guid.
Calls to this and all access to the returned pointer should be surrounded in a Lock/Unlock pair.
Returns
-1 if guid does not exit.
const EnlightenSystemProfile* Enlighten::EnlightenProfile::GetSystemProfileAtIdx
public: const EnlightenSystemProfile * GetSystemProfileAtIdx
(
  Geo::s32 idx
) const
Get a system at the specified index.
Calls to this and all access to the returned pointer should be surrounded in a Lock/Unlock pair.
EnlightenSystemProfile* Enlighten::EnlightenProfile::GetSystemProfileAtIdx
public: EnlightenSystemProfile * GetSystemProfileAtIdx
(
  Geo::s32 idx
)
Read-only access to profile data.
Warning
All of these functions should be surrounded in a Lock/Unlock pair.Get the aggregate profile history
Geo::s32 Enlighten::EnlightenProfile::GetSystemProfileFromGuid
public: Geo::s32 GetSystemProfileFromGuid
(
  const Geo::GeoGuid & guid
) const
Get a system from a given guid.
Calls to this and all access to the returned pointer should be surrounded in a Lock/Unlock pair.
Returns
-1 if guid does not exit.
void Enlighten::EnlightenProfile::Lock
public: void Lock() const
Multi-threaded access controls.
Lock access to the profile records.
void Enlighten::EnlightenProfile::RecordAggregateProfileItem
public: void RecordAggregateProfileItem
(
  AggregateProfileItem item,
  double value
)
Record aggregate profile items.
void Enlighten::EnlightenProfile::RecordAggregateProfileItemUnsafe
public: void RecordAggregateProfileItemUnsafe
(
  AggregateProfileItem item,
  double value
)
Record aggregate profile items.
void Enlighten::EnlightenProfile::RecordCubeMapItem
public: void RecordCubeMapItem
(
  const Geo::GeoGuid & cubeMapGuid,
  CubeMapProfileItem profileType,
  double value
)
Record a stat item for cube maps.
void Enlighten::EnlightenProfile::RecordEnlightenCpuTime
public: void RecordEnlightenCpuTime
(
  double value
)
Record a stat item for total enlighten cpu time.
void Enlighten::EnlightenProfile::RecordEnlightenCpuTimeUnsafe
public: void RecordEnlightenCpuTimeUnsafe
(
  double value
)
Record a stat item for total enlighten cpu time.
void Enlighten::EnlightenProfile::RecordEnlightenCubeMapTime
public: void RecordEnlightenCubeMapTime
(
  double value
)
Record a stat item for total enlighten cube map time.
void Enlighten::EnlightenProfile::RecordEnlightenCubeMapTimeUnsafe
public: void RecordEnlightenCubeMapTimeUnsafe
(
  double value
)
Record a stat item for total enlighten cube map time.
void Enlighten::EnlightenProfile::RecordEnlightenGpuTime
public: void RecordEnlightenGpuTime
(
  double value
)
Record a stat item for total enlighten gpu time.
void Enlighten::EnlightenProfile::RecordEnlightenGpuTimeUnsafe
public: void RecordEnlightenGpuTimeUnsafe
(
  double value
)
Record a stat item for total enlighten gpu time.
void Enlighten::EnlightenProfile::RecordEnlightenProbeInterpolationTime
public: void RecordEnlightenProbeInterpolationTime
(
  double value
)
Record a stat item for total enlighten light probe interpolation time.
void Enlighten::EnlightenProfile::RecordEnlightenProbeInterpolationTimeUnsafe
public: void RecordEnlightenProbeInterpolationTimeUnsafe
(
  double value
)
Record a stat item for total enlighten light probe interpolation time.
void Enlighten::EnlightenProfile::RecordEnlightenProbeSetTime
public: void RecordEnlightenProbeSetTime
(
  double value
)
Record a stat item for total enlighten light probe time (either cpu or gpu)
void Enlighten::EnlightenProfile::RecordEnlightenProbeSetTimeUnsafe
public: void RecordEnlightenProbeSetTimeUnsafe
(
  double value
)
Record a stat item for total enlighten light probe time (either cpu or gpu)
void Enlighten::EnlightenProfile::RecordProbeSetItem
public: void RecordProbeSetItem
(
  const Geo::GeoGuid & probeSetGuid,
  ProbeSetProfileItem profileType,
  double value
)
Record a stat item for probes sets.
void Enlighten::EnlightenProfile::RecordSystemItem
public: void RecordSystemItem
(
  const Geo::GeoGuid & systemGuid,
  SystemProfileItem profileType,
  double value
)
Stat recording functions.
Internally they Lock/Unlock this class and so will block if anther thread already has the lock.Record a stat item for systems.
Geo::s32 Enlighten::EnlightenProfile::RegisterCubeMap
public: Geo::s32 RegisterCubeMap
(
  const Geo::GeoGuid & cubeMapGuid
)
Register HLRT objects with the profiler and returns their respective index.
Geo::s32 Enlighten::EnlightenProfile::RegisterProbeSet
public: Geo::s32 RegisterProbeSet
(
  const Geo::GeoGuid & probeSetGuid
)
Register HLRT objects with the profiler and returns their respective index.
Geo::s32 Enlighten::EnlightenProfile::RegisterSystem
public: Geo::s32 RegisterSystem
(
  const Geo::GeoGuid & systemGuid
)
Register HLRT objects with the profiler and returns their respective index.
void Enlighten::EnlightenProfile::Reset
public: void Reset()
Reset all recorded stats. Also empties the arrays.
void Enlighten::EnlightenProfile::ResetHistory
public: void ResetHistory()
Reset the recorded stats.
void Enlighten::EnlightenProfile::SetDescription
public: void SetDescription
(
  ProfileDescription desc
)
Gets/sets the profile description which is written in the header in DumpHeaderToStream.
void Enlighten::EnlightenProfile::Unlock
public: void Unlock() const
Unlock access to the profile records.