Counters and phase timings for one tick snapshotted at a safe point for a debug view to read.
More...
|
|
std::array< size_t, static_cast< size_t >(NarrowPhasePairType::count)> | narrow_pair_candidates = {} |
|
std::array< double, static_cast< size_t >(NarrowPhasePairType::count)> | narrow_pair_time_ms = {} |
|
size_t | narrow_jobs = 0 |
|
size_t | narrow_candidates = 0 |
|
size_t | box_voxel_split_pairs = 0 |
| | Of narrow_pair_candidates box_voxel/voxel_voxel how many crossed the split threshold.
|
|
size_t | voxel_voxel_split_pairs = 0 |
|
size_t | voxel_voxel_resolved_pairs = 0 |
| | Of resolved voxel-voxel candidates how many had a non-degenerate overlap.
|
|
size_t | voxel_voxel_nondegenerate_pairs = 0 |
|
size_t | box_voxel_max_estimated_voxels = 0 |
| | Largest estimated_voxels seen this tick regardless of threshold.
|
|
size_t | voxel_voxel_max_estimated_voxels = 0 |
|
float | box_voxel_max_extent_meters = 0.0f |
| | World-space longest axis metres behind box_voxel_max_estimated_voxels.
|
|
size_t | narrow_collisions = 0 |
|
size_t | sleeping_pairs_skipped = 0 |
|
size_t | rejected_manifolds = 0 |
|
size_t | contact_points = 0 |
|
size_t | bodies_woken = 0 |
|
size_t | bodies_slept = 0 |
|
size_t | woken_by_approach = 0 |
| | Of bodies_woken what woke each sleeper.
|
|
size_t | woken_by_racing = 0 |
|
size_t | woken_by_contact_end = 0 |
|
size_t | woken_by_support_loss = 0 |
|
size_t | contact_begins = 0 |
|
size_t | contact_persists = 0 |
|
size_t | contact_ends = 0 |
|
size_t | reused_cached_contacts = 0 |
|
size_t | cold_cached_contacts = 0 |
|
size_t | constraints = 0 |
|
size_t | rejected_constraints = 0 |
|
size_t | warm_started_constraints = 0 |
|
size_t | island_jobs = 0 |
|
size_t | invalid_constraints = 0 |
|
size_t | position_corrections = 0 |
|
double | tick_ms = 0.0 |
|
double | damage_apply_ms = 0.0 |
|
double | connectivity_ms = 0.0 |
|
double | character_step_ms = 0.0 |
|
double | narrow_phase_ms = 0.0 |
|
double | solve_ms = 0.0 |
|
size_t | character_sweep_calls = 0 |
| | Call counts this tick not character count a movement tick calls trace/fits several times.
|
|
size_t | character_overlap_calls = 0 |
|
double | cache_update_ms = 0.0 |
| | solve_ms broken down island_solve_ms is solveIslands itself the rest is bookkeeping around it
|
|
double | wake_groups_ms = 0.0 |
|
double | prepare_constraints_ms = 0.0 |
|
double | build_islands_ms = 0.0 |
|
double | island_solve_ms = 0.0 |
|
double | sleep_update_ms = 0.0 |
|
size_t | body_count = 0 |
|
size_t | awake_body_count = 0 |
|
size_t | voxel_shape_count = 0 |
|
size_t | manifold_count = 0 |
|
size_t | damage_commands = 0 |
|
size_t | dirty_bricks = 0 |
|
size_t | surface_bricks_repaired = 0 |
|
size_t | connectivity_jobs = 0 |
|
size_t | connectivity_jobs_dispatched = 0 |
|
size_t | connectivity_jobs_stale = 0 |
|
size_t | connectivity_shapes_waiting = 0 |
|
size_t | fragments_spawned = 0 |
|
size_t | fragment_spawn_failures = 0 |
|
size_t | fragments_pending = 0 |
|
size_t | fragments_active = 0 |
|
size_t | fragments_sleep_locked = 0 |
|
size_t | fragments_despawned = 0 |
|
size_t | fragments_evicted = 0 |
|
size_t | static_splits_spawned = 0 |
|
uint32_t | brick_pool_allocated = 0 |
|
uint32_t | brick_pool_capacity = 0 |
|
size_t | max_constraint_batches = 0 |
| | Peak constraint batch count across islands this tick.
|
|
size_t | ticks_this_frame = 1 |
| | How many ticks the fixed step accumulator ran this frame since tick_ms above is only the last one.
|
|
bool | ticks_capped_by_time_budget = false |
| | The accumulator cut this frame catch up burst short on time rather than running out of work.
|
Counters and phase timings for one tick snapshotted at a safe point for a debug view to read.