hierarchical_timer.h File Reference


Detailed Description

Hierarchical timer

Id
hierarchical_timer.h,v 1.29 2004/01/16 09:07:42 lecroart Exp

Definition in file hierarchical_timer.h.

#include <string>
#include <vector>
#include "nel/misc/types_nl.h"
#include "nel/misc/time_nl.h"
#include "nel/misc/debug.h"
#include <algorithm>

Go to the source code of this file.

Namespaces

namespace  NLMISC

Defines

#define ALLOW_TIMING_MEASURES
#define H_AFTER(__name)   __name##_timer.after();
#define H_AUTO(__name)   static NLMISC::CHTimer __name##_timer(#__name); NLMISC::CAutoTimer __name##_auto(&__name##_timer);
#define H_AUTO_DECL(__name)   static NLMISC::CHTimer __name##_timer(#__name);
#define H_AUTO_INST(__name)   static NLMISC::CHTimer __name##_timer(#__name); NLMISC::CAutoTimerInst __name##_auto(&__name##_timer);
#define H_AUTO_USE(__name)   NLMISC::CAutoTimer __name##_auto(&__name##_timer);
#define H_BEFORE(__name)   static NLMISC::CHTimer __name##_timer(#__name); __name##_timer.before();
#define H_TIME(__name, __inst)


Define Documentation

#define ALLOW_TIMING_MEASURES
 

Definition at line 39 of file hierarchical_timer.h.

#define H_AFTER __name   )     __name##_timer.after();
 

Definition at line 54 of file hierarchical_timer.h.

Referenced by NL3D::CQuadGridClipClusterQTreeNode::clip(), NL3D::CLandscapeModel::clipAndRenderLandscape(), NL3D::CLandscape::render(), NL3D::CClipTrav::traverse(), and NLSOUND::CBackgroundSoundManager::updateBackgroundStatus().

#define H_AUTO __name   )     static NLMISC::CHTimer __name##_timer(#__name); NLMISC::CAutoTimer __name##_auto(&__name##_timer);
 

Definition at line 56 of file hierarchical_timer.h.

Referenced by NL3D::CVertexStreamManager::activate(), NL3D::CMeshMRMGeom::activeInstance(), NL3D::CLodCharacterManager::addRenderCharacterKey(), NL3D::CPlayListManagerUser::animate(), NLNET::CUnifiedNetwork::autoCheck(), NLNET::CCallbackNetBase::baseUpdate(), NL3D::CLodCharacterManager::beginRender(), NL3D::CZone::clip(), NL3D::CWaterModel::clip(), NL3D::CTransformShape::clip(), NL3D::CQuadGridClipClusterQTreeNode::clip(), NL3D::CLandscapeModel::clipAndRenderLandscape(), NL3D::CClipTrav::clipSkeletonShadowMaps(), NLLIGO::CPrimZone::contains(), NL3D::CQuadGridClipManager::deleteCaseModels(), NLPACS::CPrimitiveWorldImage::doMove(), NL3D::CLodCharacterManager::endRender(), NL3D::CMeshBlockManager::flush(), NL3D::CCoarseMeshManager::flushRender(), NL3D::CSkeletonModel::generateShadowMap(), NL3D::CLodCharacterShape::getAnimKey(), NL3D::CVisualCollisionEntity::getSurfaceInfo(), H_AUTO_DECL(), NL3D::CQuadGridClipManager::linkModel(), NLSOUND::CBackgroundSoundManager::load(), NL3D::CVertexStreamManager::lock(), NLNET::IService::main(), NL3D::CQuadGridClipManager::newCaseModels(), NL3D::CLandscape::refine(), NL3D::CVegetableManager::render(), NL3D::CVegetableBlendLayerModel::render(), NL3D::CParticleSystemShape::render(), NL3D::CMeshMRMSkinnedGeom::render(), NL3D::CMeshMRMGeom::render(), NL3D::CMeshGeom::render(), NL3D::CShadowMapManager::renderGenerate(), NL3D::CShadowMapManager::renderProject(), NL3D::CSkeletonModel::renderShadowSkins(), NL3D::CMeshGeom::renderSimpleWithMaterial(), NL3D::CMeshMRMGeom::renderSkin(), NL3D::CMeshGeom::renderSkin(), NL3D::CMeshMRMSkinnedGeom::renderSkinGroupGeom(), NL3D::CMeshMRMGeom::renderSkinGroupGeom(), NL3D::CMeshMRMSkinnedGeom::renderSkinGroupPrimitives(), NL3D::CMeshMRMGeom::renderSkinGroupPrimitives(), NL3D::CMeshMRMSkinnedGeom::renderSkinGroupSpecularRdrPass(), NL3D::CMeshMRMGeom::renderSkinGroupSpecularRdrPass(), NL3D::CSkeletonModel::renderSkinList(), NLSOUND::CSourceDSound::setEAXProperty(), NL3D::CPlayListManagerUser::setup(), NLSOUND::CClusteredSound::soundTraverse(), NL3D::CRenderTrav::traverse(), NL3D::CLoadBalancingTrav::traverse(), NL3D::CLightTrav::traverse(), NL3D::CHrcTrav::traverse(), NL3D::CClipTrav::traverse(), NL3D::CAnimDetailTrav::traverse(), NL3D::CWaterModel::traverseRender(), NL3D::CTransformShape::traverseRender(), NL3D::CSkeletonModel::traverseRender(), NLNET::uncbMsgProcessing(), NL3D::CVertexStreamManager::unlock(), NLNET::CUnifiedNetwork::update(), NLSOUND::CSourceDSound::update(), NLSOUND::CSoundDriverDSound::update(), NLSOUND::CClusteredSound::update(), NLNET::CCallbackServer::update(), NLNET::CCallbackClient::update(), NLSOUND::CAudioMixerUser::update(), NLSOUND::CBackgroundSoundManager::updateBackgroundStatus(), NL3D::CQuadGridClipManager::updateClustersFromCamera(), NL3D::CMeshMRMSkinnedGeom::updateRawSkinNormal(), NL3D::CMeshMRMGeom::updateRawSkinNormal(), and NL3D::CVegetableSortBlock::updateSortBlock().

#define H_AUTO_DECL __name   )     static NLMISC::CHTimer __name##_timer(#__name);
 

H_AUTO splited in 2. The declaration of the static timer, and a CAutoTimer instance. Useful to group same timer bench in different functions for example

Definition at line 63 of file hierarchical_timer.h.

#define H_AUTO_INST __name   )     static NLMISC::CHTimer __name##_timer(#__name); NLMISC::CAutoTimerInst __name##_auto(&__name##_timer);
 

Definition at line 58 of file hierarchical_timer.h.

#define H_AUTO_USE __name   )     NLMISC::CAutoTimer __name##_auto(&__name##_timer);
 

Definition at line 64 of file hierarchical_timer.h.

Referenced by NL3D::CCoarseMeshManager::addMesh(), NL3D::CQuadGridClipCluster::clip(), NL3D::CQuadGridClipClusterQTreeNode::noFrustumClip(), NL3D::CMeshMRMSkinnedGeom::renderShadowSkinGeom(), NL3D::CMeshMRMGeom::renderShadowSkinGeom(), NL3D::CMeshMRMSkinnedGeom::renderShadowSkinPrimitives(), and NL3D::CMeshMRMGeom::renderShadowSkinPrimitives().

#define H_BEFORE __name   )     static NLMISC::CHTimer __name##_timer(#__name); __name##_timer.before();
 

Definition at line 53 of file hierarchical_timer.h.

Referenced by NL3D::CQuadGridClipClusterQTreeNode::clip(), NL3D::CLandscapeModel::clipAndRenderLandscape(), NL3D::CLandscape::render(), NL3D::CClipTrav::traverse(), and NLSOUND::CBackgroundSoundManager::updateBackgroundStatus().

#define H_TIME __name,
__inst   ) 
 

Value:

{ \
                static NLMISC::CHTimer  nl_h_timer(#__name); \
                nl_h_timer.before(); \
                __inst \
                nl_h_timer.after(); \
        }

Definition at line 45 of file hierarchical_timer.h.

Referenced by NLNET::CUnifiedNetwork::update().


Generated on Tue Mar 16 06:42:36 2004 for NeL by doxygen 1.3.6