Toast Engine
Loading...
Searching...
No Matches
physics::Simulator::PhysicsStepProfile Struct Reference

Counters and phase timings for one tick snapshotted at a safe point for a debug view to read. More...

#include <simulator.hpp>

Public Attributes

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.

Detailed Description

Counters and phase timings for one tick snapshotted at a safe point for a debug view to read.


The documentation for this struct was generated from the following file: