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.