pfvmStats(3pf) OpenGL Performer 3.2.2 libpfv C++ Reference Pages
NAMEpfvmStats - Stats module for pfvViewer
FUNCTION SPECIFICATION
#include <Performer/pfvm/pfvmStats.h>
pfvmStats::pfvmStats(pfvXmlNode* xml=NULL);
PARENT CLASS FUNCTIONS
The OpenGL Performer class pfvmStats is derived from the parent class
pfvModule, so each of these member functions of class pfvModule are also
directly usable with objects of class pfvmStats. This is also true for
ancestor classes of class pfvModule.
int pfvModule::getScope();
int pfvModule::getScopeIndex();
pfvObject* pfvModule::getScopeTarget();
int pfvModule::autoScope( int*scopeIndex );
void pfvModule::bindCallback(int which);
void pfvModule::unbindCallback(int which);
int pfvModule::getCBMask();
virtual void pfvModule::preConfig();
virtual void pfvModule::postConfig();
virtual void pfvModule::enterView(pfvView*v);
virtual void pfvModule::exitView(pfvView*v);
virtual void pfvModule::enterWorld();
virtual void pfvModule::exitWorld();
virtual void pfvModule::sync();
virtual void pfvModule::frame();
virtual void pfvModule::preCull(pfvDispChan*chan);
virtual void pfvModule::postCull(pfvDispChan*chan);
virtual void pfvModule::preDraw(pfvDispChan*chan);
virtual void pfvModule::postDraw(pfvDispChan*chan);
virtual void pfvModule::overlay(pfvDispChan*chan);
int pfvModule::bindKeys(char*keys);
int pfvModule::unbindKeys(char*keys)
char* pfvModule::getEventMask()
void pfvModule::setEventMask(char* str);
virtual int pfvModule::handleEvent(int evType, char key);
uint64_t pfvModule::getViewMask();
Since the class pfvModule is itself derived from the parent class
pfvobject, objects of class pfvmStats can also be used with these
functions designed for objects of class pfvobject.
virtual int pfvObject::parseXml(pfvXmlNode*xml);
virtual int pfvObject::setXmlField(pfvXmlNode*xml);
char* pfvObject::getName();
void pfvObject::setName(char*_name);
Page 1
pfvmStats(3pf) OpenGL Performer 3.2.2 libpfv C++ Reference Pages
Since the class pfvobject is itself derived from the parent class
pfObject, objects of class pfvmStats can also be used with these
functions designed for objects of class pfObject.
void* pfObject::operator new(size_t);
void* pfObject::operator new(size_t, pfFluxMemory *fmem);
void pfObject::setUserData(void *data);
void pfObject::setUserData(int slot, void *data);
void* pfObject::getUserData(pfObject *obj);
void* pfObject::getUserData(pfObject *obj, int slot);
int pfObject::getNumUserData();
Since the class pfObject is itself derived from the parent class
pfMemory, objects of class pfvmStats can also be used with these
functions designed for objects of class pfMemory.
void* pfMemory::getData(const void *ptr);
pfType * pfMemory::getType();
int pfMemory::isOfType(pfType *type);
int pfMemory::isExactType(pfType *type);
const char * pfMemory::getTypeName();
int pfMemory::copy(pfMemory *src);
int pfMemory::compare(const pfMemory *mem);
void pfMemory::print(uint which, uint verbose, char *prefix,
FILE *file);
int pfMemory::getArena(void *ptr);
void* pfMemory::getArena();
int pfMemory::ref();
int pfMemory::unref();
int pfMemory::unrefDelete();
int pfMemory::unrefGetRef();
int pfMemory::getRef();
int pfMemory::checkDelete();
int pfMemory::isFluxed();
void * pfMemory::getArena();
int pfMemory::getSize();
DESCRIPTIONpfvmStats is a module for collecting and displaying channel statistics in
pfvViewer applications.
Currently, pfvmStats can only be configured through XML tokens.
========
XML tags
========
Page 2
pfvmStats(3pf) OpenGL Performer 3.2.2 libpfv C++ Reference Pages
The following tokens are valid inside the <data> XML tag for pfvmStats
modules:
<module>
<class>pfvmStats</class>
<data>
<Key>string</Key>
<Key2>string</Key2>
<Key3>string</Key3>
<Key4>string</Key4>
<OnOff>bool</OnOff>
<UpdateFrames>float</UpdateFrames>
<Cpu>bool</Cpu>
<Db>bool</Db>
<Cull>bool</Cull>
<Fill>bool</Fill>
<Gfx>bool</Gfx>
<Times>bool</Times>
<GfxTimes>bool</GfxTimes>
<AttrCounts>bool</AttrCounts>
<TStrips>bool</TStrips>
<TimeHist>bool</TimeHist>
<TranspFill>bool</TranspFill>
<DbVis>bool</DbVis>
<Depth>bool</Depth>
</data>
</module>
<Key>string</Key>, where string identifies the key that will toggle the
overlay display of collected statistics. See man page for
pfvInputMngr::getKeyName() and pfvinput.h for a complete list of keys and
associated strings. The default key is 's'.
<Key2>string</Key2>, where string identifies the key that will cycle
through the different statistics collection modes supported by the
pfvmStats module. See man page for pfvInputMngr::getKeyName() and
pfvinput.h for a complete list of keys and associated strings. The
default key is 'S'.
There are 8 different modes, each displaying one ore more classes of
statistics:
mode 0: Times
mode 1: GfxTimes
mode 2: Gfx
mode 3: Cull
mode 4: Db
Page 3
pfvmStats(3pf) OpenGL Performer 3.2.2 libpfv C++ Reference Pages
mode 5: Times + Gfx
mode 6: Times + Db + Cull
mode 7: Times + Gfx + Db + Cull
<Key3>string</Key3>, where string identifies the key that will toggle
parameters specific to the statistics classes being displayed.
Specifically, if the Gfx statistics are currently displayed, this key
will toggle the state of the 'AttrCounts' and 'TStrips' parameters; if
the Db statistics are currently displayed, this key will toggle the state
of the 'DbVis' parameter; if the Fill stats are being displayed, this key
will toggle the state of the 'Depth' and 'TranspFill' parameters. See
man page for pfvInputMngr::getKeyName() and pfvinput.h for a complete
list of keys and associated strings. The default key is 'M'.
<Key4>string</Key4>, where string identifies the key that will toggle
Fill mode. See man page for pfvInputMngr::getKeyName() and pfvinput.h
for a complete list of keys and associated strings. The default key is
'F'.
<OnOff>bool</OnOff>, where bool specifies whether stats display should
initially be enabled or disabled. The default value is 'Off'.
<UpdateFrames>float</UpdateFrames> specifies the number of consecutive
frames over which collected stats should be averaged. See
PFFSTATS_UPDATE_FRAMES in man page for pfFrameStats. The default value
is 2.
<Cpu>bool</Cpu> where bool specifies whether the CPU statistics class
should be enabled or disabled. See PFSTATSHW_ENCPU in man page for
pfStats. Default value is 'off'.
<Db>bool</Db> where bool specifies whether the DB statistics class should
be enabled or disabled. See PFFSTATS_ENDB in man page for pfFrameStats.
Default value is 'off'.
<Cull>bool</Cull> where bool specifies whether the CULL statistics class
should be enabled or disabled. See PFFSTATS_ENCULL in man page for
pfFrameStats. Default value is 'off'.
<Fill>bool</Fill> where bool specifies whether the FILL statistics class
should be enabled or disabled. See PFSTATSHW_ENGFXPIPE_FILL in man page
for pfStats. Default value is 'off'.
<Gfx>bool</Gfx> where bool specifies whether the GFX statistics class
should be enabled or disabled. See PFSTATS_ENGFX in man page for pfStats.
Default value is 'off'.
<Times>bool</Times> where bool specifies whether the PFTIMES statistics
class should be enabled or disabled. See PFFSTATS_ENPFTIMES in man page
for pfFrameStats. Default value is 'off'.
Page 4
pfvmStats(3pf) OpenGL Performer 3.2.2 libpfv C++ Reference Pages
<GfxTimes>bool</Gfx> If bool is set, both the PFTIMES and the
GFXPIPE_TIMES statistics classes will be enabled. See PFFSTATS_ENPFTIMES
and PFSTATSHW_ENGFXPIPE_TIMES in man page for pfFrameStats. Default value
is 'off'.
<AttrCounts>bool</AttrCounts> where bool specifies whether the
PFSTATS_GFX_ATTR_COUNTS flag for stats class PFSTATS_GFX should be
enabled or disabled. Default value is 'off'.
<TStrips>bool</TStrips> where bool specifies whether the
PFSTATS_GFX_TSTRIP_LENGTHS flag for stats class PFSTATS_GFX should be
enabled or disabled. Default value is 'off'.
<TimeHist>bool</TimeHist> where bool specifies whether the
PFFSTATS_PFTIMES_HIST flag for stats class PFFSTATS_PFTIMES should be
enabled or disabled. Default value is 'off'.
<TranspFill>bool</TranspFill> where bool specifies whether the
PFSTATSHW_GFXPIPE_FILL_TRANSPARENT flag for stats class
PFSTATSHW_GFXPIPE_FILL should be enabled or disabled. Default value is
'off'.
<DbVis>bool</DbVis> where bool specifies whether the PFFSTATS_DB_VIS flag
for stats class PFFSTATS_DB should be enabled or disabled. Default value
is 'off'.
<Depth>bool</Depth> where bool specifies whether the
PFSTATSHW_GFXPIPE_FILL_DEPTHCMP flag for stats class
PFSTATSHW_GFXPIPE_FILL should be enabled or disabled. Default value is
'off'.
=======
Scoping
=======
A pfvmStats module can be scoped globally, to a single view, or to a
single world.
If scoped globally, pfvmStats module will collect and render statistics
for all channels created by application.
If scoped to a view, pfvmStats module will collect and render statistics
for all channels belonging to the target view.
If scoped to a world, pfvmStats module will collect and render statistics
for all channels belonging to any view which is currently viewing
module's target world.
Page 5
pfvmStats(3pf) OpenGL Performer 3.2.2 libpfv C++ Reference Pages
NOTES
The source code for the pfvmStats Module is provided and can be found in
/usr/share/Performer/src/pguide/libpfv/viewer/modules/pfvmStats
For examples of pfvViewer XML configuration files, look at the sample
.pfv files in /usr/share/Performer/config.
SEE ALSO
pfvModule, pfvViewer, pfStats, pfFrameStats, pfvXml
Page 6