LLFastTimer Class Reference

#include <llfasttimer.h>

List of all members.

Public Types

 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_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_TIMER
 FTM_RENDER_UI
 FTM_RENDER_FONTS
 FTM_MESSAGES
 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_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
 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
 FTM_HISTORY_NUM = 60
 FTM_MAX_DEPTH = 64
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_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_TIMER, FTM_RENDER_UI,
  FTM_RENDER_FONTS, FTM_MESSAGES, 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_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, 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

anonymous enum

Enumerator:
FTM_MAX_DEPTH 

Definition at line 177 of file llfasttimer.h.

anonymous enum

Enumerator:
FTM_HISTORY_NUM 

Definition at line 176 of file llfasttimer.h.

enum LLFastTimer::EFastTimerType

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_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_TIMER 
FTM_RENDER_UI 
FTM_RENDER_FONTS 
FTM_MESSAGES 
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_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 
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.


Constructor & Destructor Documentation

LLFastTimer::LLFastTimer ( EFastTimerType  type  )  [inline]

Definition at line 180 of file llfasttimer.h.

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

LLFastTimer::~LLFastTimer (  )  [inline]

Definition at line 195 of file llfasttimer.h.

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


Member Function Documentation

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().

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 main_loop().


Member Data Documentation

EFastTimerType LLFastTimer::mType [private]

Definition at line 235 of file llfasttimer.h.

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

U64 LLFastTimer::sCallAverage [static]

Definition at line 225 of file llfasttimer.h.

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

U64 LLFastTimer::sCallHistory [static]

Definition at line 227 of file llfasttimer.h.

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

U64 LLFastTimer::sCalls [static]

Definition at line 223 of file llfasttimer.h.

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

U64 LLFastTimer::sCountAverage [static]

Definition at line 224 of file llfasttimer.h.

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

U64 LLFastTimer::sCounter [static]

Definition at line 222 of file llfasttimer.h.

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

U64 LLFastTimer::sCountHistory [static]

Definition at line 226 of file llfasttimer.h.

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

F64 LLFastTimer::sCPUClockFrequency = 0.0 [static]

Definition at line 232 of file llfasttimer.h.

Referenced by countsPerSecond().

int LLFastTimer::sCurDepth = 0 [static]

Definition at line 220 of file llfasttimer.h.

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

S32 LLFastTimer::sCurFrameIndex = -1 [static]

Definition at line 228 of file llfasttimer.h.

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

S32 LLFastTimer::sLastFrameIndex = -1 [static]

Definition at line 229 of file llfasttimer.h.

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

int LLFastTimer::sPauseHistory = 0 [static]

Definition at line 230 of file llfasttimer.h.

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

int LLFastTimer::sResetHistory = 0 [static]

Definition at line 231 of file llfasttimer.h.

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

U64 LLFastTimer::sStart [static]

Definition at line 221 of file llfasttimer.h.

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


The documentation for this class was generated from the following files:
Generated on Thu Jul 1 06:11:16 2010 for Second Life Viewer by  doxygen 1.4.7