RavEngine
Loading...
Searching...
No Matches
physx::profile::PxProfileZoneManager Class Referenceabstract

The profiling system was setup in the expectation that there would be several systems that each had its own island of profile information. PhysX, client code, and APEX would be the first examples of these. Each one of these islands is represented by a profile zone. More...

#include <PxProfileZoneManager.h>

Inheritance diagram for physx::profile::PxProfileZoneManager:
[legend]
Collaboration diagram for physx::profile::PxProfileZoneManager:
[legend]

Public Member Functions

virtual void addProfileZone (PxProfileZone &inSDK)=0
 Add new profile zone for the manager.
 
virtual void removeProfileZone (PxProfileZone &inSDK)=0
 Removes profile zone from the manager.
 
virtual void addProfileZoneHandler (PxProfileZoneHandler &inHandler)=0
 Add profile zone handler callback for the profile zone notifications.
 
virtual void removeProfileZoneHandler (PxProfileZoneHandler &inHandler)=0
 Removes profile zone handler callback for the profile zone notifications.
 
virtual PxProfileZone & createProfileZone (const char *inSDKName, PxProfileNames inNames=PxProfileNames(), uint32_t inEventBufferByteSize=0x4000)=0
 Create a new profile zone. This means you don't need access to a PxFoundation to create your profile zone object, and your object is automatically registered with the profile zone manager.
 
virtual void release ()=0
 Releases the profile manager instance.
 
- Public Member Functions inherited from physx::profile::PxProfileEventFlusher
virtual void flushProfileEvents ()=0
 Flush profile events. Sends the profile event buffer to hooked clients.
 

Static Public Member Functions

static PxProfileZoneManager & createProfileZoneManager (PxAllocatorCallback *inAllocatorCallback)
 Create the profile zone manager.
 

Detailed Description

The profiling system was setup in the expectation that there would be several systems that each had its own island of profile information. PhysX, client code, and APEX would be the first examples of these. Each one of these islands is represented by a profile zone.

The Manager is a singleton-like object where all these different systems can be registered so that clients of the profiling system can have one point to capture all profiling events.

Flushing the manager implies that you want to loop through all the profile zones and flush each one.

See also
PxProfileEventFlusher

Member Function Documentation

◆ addProfileZone()

virtual void physx::profile::PxProfileZoneManager::addProfileZone ( PxProfileZone &  inSDK)
pure virtual

Add new profile zone for the manager.

Note
Threadsafe call, can be done from any thread. Handlers that are already connected will get a new callback on the current thread.
Parameters
inSDKProfile zone to add.

Implemented in physx::profile::ZoneManagerImpl.

◆ addProfileZoneHandler()

virtual void physx::profile::PxProfileZoneManager::addProfileZoneHandler ( PxProfileZoneHandler &  inHandler)
pure virtual

Add profile zone handler callback for the profile zone notifications.

Note
Threadsafe call. The new handler will immediately be notified about all known SDKs.
Parameters
inHandlerProfile zone handler to add.

Implemented in physx::profile::ZoneManagerImpl.

◆ createProfileZone()

virtual PxProfileZone & physx::profile::PxProfileZoneManager::createProfileZone ( const char *  inSDKName,
PxProfileNames  inNames = PxProfileNames(),
uint32_t  inEventBufferByteSize = 0x4000 
)
pure virtual

Create a new profile zone. This means you don't need access to a PxFoundation to create your profile zone object, and your object is automatically registered with the profile zone manager.

You still need to release your object when you are finished with it.

Parameters
inSDKNameName of the SDK object.
inNamesOption set of event id to name mappings.
inEventBufferByteSizerough maximum size of the event buffer. May exceed this size by sizeof one event. When full an immediate call to all listeners is made.

Implemented in physx::profile::ZoneManagerImpl.

◆ createProfileZoneManager()

PxProfileZoneManager & physx::profile::PxProfileZoneManager::createProfileZoneManager ( PxAllocatorCallback *  inAllocatorCallback)
static

Create the profile zone manager.

Parameters
inAllocatorCallbackAllocator callback.

◆ release()

virtual void physx::profile::PxProfileZoneManager::release ( )
pure virtual

Releases the profile manager instance.

Implemented in physx::profile::ZoneManagerImpl.

◆ removeProfileZone()

virtual void physx::profile::PxProfileZoneManager::removeProfileZone ( PxProfileZone &  inSDK)
pure virtual

Removes profile zone from the manager.

Note
Threadsafe call, can be done from any thread. Handlers that are already connected will get a new callback on the current thread.
Parameters
inSDKProfile zone to remove.

Implemented in physx::profile::ZoneManagerImpl.

◆ removeProfileZoneHandler()

virtual void physx::profile::PxProfileZoneManager::removeProfileZoneHandler ( PxProfileZoneHandler &  inHandler)
pure virtual

Removes profile zone handler callback for the profile zone notifications.

Note
Threadsafe call. The new handler will immediately be notified about all known SDKs.
Parameters
inHandlerProfile zone handler to remove.

Implemented in physx::profile::ZoneManagerImpl.


The documentation for this class was generated from the following files: