LLFastTimer Class Reference

#include <llfasttimer.h>

List of all members.

Public Types

enum  EFastTimerType {
  FTM_FRAME, FTM_UPDATE, FTM_RENDER, FTM_SWAP,
  FTM_CLIENT_COPY, FTM_IDLE, FTM_SLEEP, FTM_PUMP,
  FTM_CURL, FTM_UPDATE_ANIMATION, FTM_UPDATE_TERRAIN, FTM_UPDATE_PRIMITIVES,
  FTM_UPDATE_PARTICLES, FTM_SIMULATE_PARTICLES, FTM_UPDATE_SKY, FTM_UPDATE_TEXTURES,
  FTM_UPDATE_WLPARAM, FTM_UPDATE_WATER, FTM_UPDATE_CLOUDS, FTM_UPDATE_GRASS,
  FTM_UPDATE_TREE, FTM_UPDATE_AVATAR, FTM_RENDER_GEOMETRY, FTM_RENDER_TERRAIN,
  FTM_RENDER_SIMPLE, FTM_RENDER_FULLBRIGHT, FTM_RENDER_GLOW, FTM_RENDER_GRASS,
  FTM_RENDER_INVISIBLE, FTM_RENDER_SHINY, FTM_RENDER_BUMP, FTM_RENDER_TREES,
  FTM_RENDER_CHARACTERS, FTM_RENDER_OCCLUSION, FTM_RENDER_ALPHA, FTM_RENDER_CLOUDS,
  FTM_RENDER_HUD, FTM_RENDER_PARTICLES, FTM_RENDER_WATER, FTM_RENDER_WL_SKY,
  FTM_RENDER_FAKE_VBO_UPDATE, FTM_RENDER_TIMER, FTM_RENDER_UI, FTM_RENDER_BLOOM,
  FTM_RENDER_BLOOM_FBO, FTM_RENDER_FONTS, FTM_MESSAGES, FTM_MOUSEHANDLER,
  FTM_KEYHANDLER, FTM_REBUILD, FTM_STATESORT, FTM_STATESORT_DRAWABLE,
  FTM_STATESORT_POSTSORT, FTM_REBUILD_VBO, FTM_REBUILD_VOLUME_VB, FTM_REBUILD_BRIDGE_VB,
  FTM_REBUILD_HUD_VB, FTM_REBUILD_TERRAIN_VB, FTM_REBUILD_WATER_VB, FTM_REBUILD_TREE_VB,
  FTM_REBUILD_PARTICLE_VB, FTM_REBUILD_CLOUD_VB, FTM_REBUILD_GRASS_VB, FTM_REBUILD_NONE_VB,
  FTM_REBUILD_OCCLUSION_VB, FTM_POOLS, FTM_POOLRENDER, FTM_IDLE_CB,
  FTM_WORLD_UPDATE, FTM_UPDATE_MOVE, FTM_OCTREE_BALANCE, FTM_UPDATE_LIGHTS,
  FTM_CULL, FTM_CULL_REBOUND, FTM_FRUSTUM_CULL, FTM_GEO_UPDATE,
  FTM_GEO_RESERVE, FTM_GEO_LIGHT, FTM_GEO_SHADOW, FTM_GEO_SKY,
  FTM_GEN_VOLUME, FTM_GEN_TRIANGLES, FTM_GEN_FLEX, FTM_AUDIO_UPDATE,
  FTM_RESET_DRAWORDER, FTM_OBJECTLIST_UPDATE, FTM_AVATAR_UPDATE, FTM_JOINT_UPDATE,
  FTM_ATTACHMENT_UPDATE, FTM_LOD_UPDATE, FTM_REGION_UPDATE, FTM_CLEANUP,
  FTM_NETWORK, FTM_IDLE_NETWORK, FTM_CREATE_OBJECT, FTM_LOAD_AVATAR,
  FTM_PROCESS_MESSAGES, FTM_PROCESS_OBJECTS, FTM_PROCESS_IMAGES, FTM_IMAGE_UPDATE,
  FTM_IMAGE_CREATE, FTM_IMAGE_DECODE, FTM_IMAGE_MARK_DIRTY, FTM_PIPELINE,
  FTM_VFILE_WAIT, FTM_FLEXIBLE_UPDATE, FTM_OCCLUSION_READBACK, FTM_HUD_EFFECTS,
  FTM_HUD_UPDATE, FTM_INVENTORY, FTM_AUTO_SELECT, FTM_ARRANGE,
  FTM_FILTER, FTM_REFRESH, FTM_SORT, FTM_TEMP1,
  FTM_TEMP2, FTM_TEMP3, FTM_TEMP4, FTM_TEMP5,
  FTM_TEMP6, FTM_TEMP7, FTM_TEMP8, FTM_OTHER,
  FTM_NUM_TYPES
}
enum  { FTM_HISTORY_NUM = 60 }
enum  { FTM_MAX_DEPTH = 64 }

Public Member Functions

 LLFastTimer (EFastTimerType type)
 ~LLFastTimer ()

Static Public Member Functions

static void reset ()
static U64 countsPerSecond ()

Static Public Attributes

static int sCurDepth = 0
static U64 sStart [FTM_MAX_DEPTH]
static U64 sCounter [FTM_NUM_TYPES]
static U64 sCalls [FTM_NUM_TYPES]
static U64 sCountAverage [FTM_NUM_TYPES]
static U64 sCallAverage [FTM_NUM_TYPES]
static U64 sCountHistory [FTM_HISTORY_NUM][FTM_NUM_TYPES]
static U64 sCallHistory [FTM_HISTORY_NUM][FTM_NUM_TYPES]
static S32 sCurFrameIndex = -1
static S32 sLastFrameIndex = -1
static int sPauseHistory = 0
static int sResetHistory = 0
static F64 sCPUClockFrequency = 0.0

Private Attributes

EFastTimerType mType


Detailed Description

Definition at line 39 of file llfasttimer.h.


Member Enumeration Documentation

Enumerator:
FTM_FRAME 
FTM_UPDATE 
FTM_RENDER 
FTM_SWAP 
FTM_CLIENT_COPY 
FTM_IDLE 
FTM_SLEEP 
FTM_PUMP 
FTM_CURL 
FTM_UPDATE_ANIMATION 
FTM_UPDATE_TERRAIN 
FTM_UPDATE_PRIMITIVES 
FTM_UPDATE_PARTICLES 
FTM_SIMULATE_PARTICLES 
FTM_UPDATE_SKY 
FTM_UPDATE_TEXTURES 
FTM_UPDATE_WLPARAM 
FTM_UPDATE_WATER 
FTM_UPDATE_CLOUDS 
FTM_UPDATE_GRASS 
FTM_UPDATE_TREE 
FTM_UPDATE_AVATAR 
FTM_RENDER_GEOMETRY 
FTM_RENDER_TERRAIN 
FTM_RENDER_SIMPLE 
FTM_RENDER_FULLBRIGHT 
FTM_RENDER_GLOW 
FTM_RENDER_GRASS 
FTM_RENDER_INVISIBLE 
FTM_RENDER_SHINY 
FTM_RENDER_BUMP 
FTM_RENDER_TREES 
FTM_RENDER_CHARACTERS 
FTM_RENDER_OCCLUSION 
FTM_RENDER_ALPHA 
FTM_RENDER_CLOUDS 
FTM_RENDER_HUD 
FTM_RENDER_PARTICLES 
FTM_RENDER_WATER 
FTM_RENDER_WL_SKY 
FTM_RENDER_FAKE_VBO_UPDATE 
FTM_RENDER_TIMER 
FTM_RENDER_UI 
FTM_RENDER_BLOOM 
FTM_RENDER_BLOOM_FBO 
FTM_RENDER_FONTS 
FTM_MESSAGES 
FTM_MOUSEHANDLER 
FTM_KEYHANDLER 
FTM_REBUILD 
FTM_STATESORT 
FTM_STATESORT_DRAWABLE 
FTM_STATESORT_POSTSORT 
FTM_REBUILD_VBO 
FTM_REBUILD_VOLUME_VB 
FTM_REBUILD_BRIDGE_VB 
FTM_REBUILD_HUD_VB 
FTM_REBUILD_TERRAIN_VB 
FTM_REBUILD_WATER_VB 
FTM_REBUILD_TREE_VB 
FTM_REBUILD_PARTICLE_VB 
FTM_REBUILD_CLOUD_VB 
FTM_REBUILD_GRASS_VB 
FTM_REBUILD_NONE_VB 
FTM_REBUILD_OCCLUSION_VB 
FTM_POOLS 
FTM_POOLRENDER 
FTM_IDLE_CB 
FTM_WORLD_UPDATE 
FTM_UPDATE_MOVE 
FTM_OCTREE_BALANCE 
FTM_UPDATE_LIGHTS 
FTM_CULL 
FTM_CULL_REBOUND 
FTM_FRUSTUM_CULL 
FTM_GEO_UPDATE 
FTM_GEO_RESERVE 
FTM_GEO_LIGHT 
FTM_GEO_SHADOW 
FTM_GEO_SKY 
FTM_GEN_VOLUME 
FTM_GEN_TRIANGLES 
FTM_GEN_FLEX 
FTM_AUDIO_UPDATE 
FTM_RESET_DRAWORDER 
FTM_OBJECTLIST_UPDATE 
FTM_AVATAR_UPDATE 
FTM_JOINT_UPDATE 
FTM_ATTACHMENT_UPDATE 
FTM_LOD_UPDATE 
FTM_REGION_UPDATE 
FTM_CLEANUP 
FTM_NETWORK 
FTM_IDLE_NETWORK 
FTM_CREATE_OBJECT 
FTM_LOAD_AVATAR 
FTM_PROCESS_MESSAGES 
FTM_PROCESS_OBJECTS 
FTM_PROCESS_IMAGES 
FTM_IMAGE_UPDATE 
FTM_IMAGE_CREATE 
FTM_IMAGE_DECODE 
FTM_IMAGE_MARK_DIRTY 
FTM_PIPELINE 
FTM_VFILE_WAIT 
FTM_FLEXIBLE_UPDATE 
FTM_OCCLUSION_READBACK 
FTM_HUD_EFFECTS 
FTM_HUD_UPDATE 
FTM_INVENTORY 
FTM_AUTO_SELECT 
FTM_ARRANGE 
FTM_FILTER 
FTM_REFRESH 
FTM_SORT 
FTM_TEMP1 
FTM_TEMP2 
FTM_TEMP3 
FTM_TEMP4 
FTM_TEMP5 
FTM_TEMP6 
FTM_TEMP7 
FTM_TEMP8 
FTM_OTHER 
FTM_NUM_TYPES 

Definition at line 42 of file llfasttimer.h.

anonymous enum

Enumerator:
FTM_HISTORY_NUM 

Definition at line 183 of file llfasttimer.h.

anonymous enum

Enumerator:
FTM_MAX_DEPTH 

Definition at line 184 of file llfasttimer.h.


Constructor & Destructor Documentation

LLFastTimer::LLFastTimer ( EFastTimerType  type  )  [inline]

Definition at line 187 of file llfasttimer.h.

References get_cpu_clock_count(), mType, sCurDepth, and sStart.

Here is the call graph for this function:

LLFastTimer::~LLFastTimer (  )  [inline]

Definition at line 202 of file llfasttimer.h.

References get_cpu_clock_count(), i, mType, sCalls, sCounter, sCurDepth, and sStart.

Here is the call graph for this function:


Member Function Documentation

void LLFastTimer::reset (  )  [static]

Definition at line 136 of file llfasttimer.cpp.

References countsPerSecond(), FTM_HISTORY_NUM, FTM_NUM_TYPES, i, llendl, llerrs, S32, sCallAverage, sCallHistory, sCalls, sCountAverage, sCounter, sCountHistory, sCurDepth, sCurFrameIndex, sLastFrameIndex, sPauseHistory, and sResetHistory.

Referenced by LLAppViewer::mainLoop().

Here is the call graph for this function:

Here is the caller graph for this function:

U64 LLFastTimer::countsPerSecond (  )  [static]

Definition at line 125 of file llfasttimer.cpp.

References CProcessor::GetCPUFrequency(), and sCPUClockFrequency.

Referenced by LLFastTimerView::draw(), LLFastTimerView::getTime(), and reset().

Here is the call graph for this function:

Here is the caller graph for this function:


Member Data Documentation

int LLFastTimer::sCurDepth = 0 [static]

Definition at line 227 of file llfasttimer.h.

Referenced by LLFastTimer(), reset(), and ~LLFastTimer().

Definition at line 228 of file llfasttimer.h.

Referenced by LLFastTimer(), and ~LLFastTimer().

Definition at line 229 of file llfasttimer.h.

Referenced by reset(), and ~LLFastTimer().

Definition at line 230 of file llfasttimer.h.

Referenced by reset(), and ~LLFastTimer().

Definition at line 231 of file llfasttimer.h.

Referenced by LLFastTimerView::draw(), LLFastTimerView::getTime(), and reset().

Definition at line 232 of file llfasttimer.h.

Referenced by LLFastTimerView::draw(), and reset().

Definition at line 233 of file llfasttimer.h.

Referenced by LLFastTimerView::draw(), and reset().

Definition at line 234 of file llfasttimer.h.

Referenced by LLFastTimerView::draw(), and reset().

Definition at line 235 of file llfasttimer.h.

Referenced by LLFastTimerView::draw(), and reset().

Definition at line 236 of file llfasttimer.h.

Referenced by LLFastTimerView::draw(), LLFastTimerView::handleScrollWheel(), and reset().

int LLFastTimer::sPauseHistory = 0 [static]

int LLFastTimer::sResetHistory = 0 [static]

Definition at line 238 of file llfasttimer.h.

Referenced by LLFastTimerView::draw(), and reset().

Definition at line 239 of file llfasttimer.h.

Referenced by countsPerSecond().

Definition at line 242 of file llfasttimer.h.

Referenced by LLFastTimer(), and ~LLFastTimer().


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

Generated on Fri May 16 08:44:31 2008 for SecondLife by  doxygen 1.5.5