20 class VisualDebugAttributeGroup;
21 class VisualDebugServer;
26 WorldUpdateStep_WorldUpdate = 0,
27 WorldUpdateStep_WorldUpdateAllButVisualDebug ,
28 WorldUpdateStep_SendVisualDebugData ,
29 WorldUpdateStep_ProcessQueuesInWorldUpdate ,
30 WorldUpdateStep_FlushQueries ,
31 WorldUpdateStep_UpdateDatabases ,
32 WorldUpdateStep_UpdateDynamicNavMesh ,
33 WorldUpdateStep_UpdateSpatializations ,
34 WorldUpdateStep_UpdateBotsPathFollowing ,
35 WorldUpdateStep_QueryQueueProcess ,
37 WorldUpdateStepIndex_Count
40 enum WorldSummaryAttributes
42 WorldSummaryAttributes_worldUpdateStat,
43 WorldSummaryAttributes_visualDebugTime,
44 WorldSummaryAttributes_queriesTime,
45 WorldSummaryAttributes_navdata_count,
46 WorldSummaryAttributes_bot_count,
47 WorldSummaryAttributes_obstacle_count,
48 WorldSummaryAttributes_tagvolume_count,
49 WorldSummaryAttributes_database_count,
50 WorldSummaryAttributes_memory_footprint
53 enum CountersAttributes
55 CountersAttributes_NotEmptyDatabaseCount ,
56 CountersAttributes_MaxDatabasesCount ,
57 CountersAttributes_DatabaseUpdateStatus ,
58 CountersAttributes_DatabaseUpdateWaitingDynamicNavMeshQueryCount,
59 CountersAttributes_DatabaseUpdateWaitingNavMeshStitchQueryCount,
60 CountersAttributes_NavDataCount ,
61 CountersAttributes_NavDataToBeAddedCount ,
62 CountersAttributes_NavDataBeingAddedCount ,
63 CountersAttributes_NavDataToBeRemovedCount ,
64 CountersAttributes_NavDataBeingRemovedCount ,
65 CountersAttributes_BotCount ,
66 CountersAttributes_ObstaclesTotalCount ,
67 CountersAttributes_BoxObstaclesCount ,
68 CountersAttributes_CylinderObstaclesCount ,
69 CountersAttributes_TagVolumeTotalCount ,
70 CountersAttributes_TagVolumeToBeIntegratedCount,
71 CountersAttributes_TagVolumeIntegratedCount ,
72 CountersAttributes_TagVolumeToBeRemovedCount ,
73 CountersAttributes_PointOfInterestCount
78 MemoryAttributes_TotalFootprint,
79 MemoryAttributes_TotalUsedSpace
82 enum SettingsAttributes
84 SettingsAttributes_NbFramesForShortcutTrajectoryPeriodicUpdate,
97 , m_boxObstaclesCount(0)
98 , m_cylinderObstaclesCount(0)
99 , m_pointsOfInterestCount(0)
100 , m_tagVolumesToBeIntegratedCount(0)
101 , m_tagVolumesIntegratedCount(0)
102 , m_tagVolumesToBeRemovedCount(0)
103 , m_databasesCount(0)
104 , m_notEmptyDatabaseCount(0)
105 , m_summaryAttributesGroup(
nullptr)
106 , m_profilingAttributesGroup(
nullptr)
107 , m_countersAttributesGroup(
nullptr)
108 , m_settingsAttributesGroup(
nullptr)
111 void Initialize(World* world);
113 const FloatStat& GetWorldUpdateStepStat(WorldUpdateStep worldStat)
const {
return m_worldUpdateStepStats[worldStat]; }
116 void UpdateVisualDebug();
117 void ResetStatValues();
119 KyFloat32* GetWorldUpdateStepTimeToUpdate(WorldUpdateStep worldStat);
121 void CreateSummaryAttributes();
122 void UpdateSummaryAttributes();
123 void CreateProfilingStatsAttributeGroup();
124 void UpdateProfilingStatsAttributeGroup();
125 void CreateCountersAttributeGroup();
126 void UpdateCountersAttributeGroup();
127 void CreateSettingsAttributeGroup();
128 void UpdateSettingsAttributeGroup();
130 void Report(StringBuffer* report)
const;
135 KyArray<FloatStat> m_worldUpdateStepStats;
142 KyUInt32 m_navdataBeingRemovedCount;
148 KyUInt32 m_tagVolumesToBeIntegratedCount;
149 KyUInt32 m_tagVolumesIntegratedCount;
150 KyUInt32 m_tagVolumesToBeRemovedCount;
154 VisualDebugAttributeGroup* m_summaryAttributesGroup;
155 VisualDebugAttributeGroup* m_profilingAttributesGroup;
156 VisualDebugAttributeGroup* m_countersAttributesGroup;
157 VisualDebugAttributeGroup* m_settingsAttributesGroup;
160 #if defined(KY_CONFIG_DEBUG_OR_DEV)
163 #define KY_PROFILE_WORLD_UPDATE_STEP(x) \
164 ScopedProfilerMs scopedProfilerMs(this->m_statistics->GetWorldUpdateStepTimeToUpdate(WorldUpdateStep_##x)); \
165 KY_SCOPED_PERF_MARKER("World::" #x);
167 #define KY_PROFILE_WORLD_UPDATE_STEP(x)
std::uint32_t KyUInt32
uint32_t
Definition: types.h:29
#define KY_DEFINE_NEW_DELETE_OPERATORS(MemStat)
This macro defines new and delete operators.
Definition: memory.h:132
The Autodesk Navigation namespace.
Definition: gamekitcrowddispersion.cpp:17
float KyFloat32
float
Definition: types.h:32