mirror of
https://github.com/TorqueGameEngines/Torque3D.git
synced 2026-01-19 20:24:49 +00:00
profiling blocks for navmesh subsystem analysis
This commit is contained in:
parent
9083682d40
commit
83aa47da1a
|
|
@ -739,6 +739,7 @@ Box3F NavMesh::getTileBox(U32 id)
|
|||
|
||||
void NavMesh::updateTiles(bool dirty)
|
||||
{
|
||||
PROFILE_SCOPE(NavMesh_updateTiles);
|
||||
if(!isProperlyAdded())
|
||||
return;
|
||||
|
||||
|
|
@ -793,6 +794,7 @@ void NavMesh::processTick(const Move *move)
|
|||
|
||||
void NavMesh::buildNextTile()
|
||||
{
|
||||
PROFILE_SCOPE(NavMesh_buildNextTile);
|
||||
if(!mDirtyTiles.empty())
|
||||
{
|
||||
// Pop a single dirty tile and process it.
|
||||
|
|
@ -1099,6 +1101,7 @@ unsigned char *NavMesh::buildTileData(const Tile &tile, TileData &data, U32 &dat
|
|||
/// this NavMesh object.
|
||||
void NavMesh::buildTiles(const Box3F &box)
|
||||
{
|
||||
PROFILE_SCOPE(NavMesh_buildTiles);
|
||||
// Make sure we've already built or loaded.
|
||||
if(!nm)
|
||||
return;
|
||||
|
|
@ -1124,6 +1127,7 @@ DefineEngineMethod(NavMesh, buildTiles, void, (Box3F box),,
|
|||
|
||||
void NavMesh::buildTile(const U32 &tile)
|
||||
{
|
||||
PROFILE_SCOPE(NavMesh_buildTile);
|
||||
if(tile < mTiles.size())
|
||||
{
|
||||
mDirtyTiles.push_back_unique(tile);
|
||||
|
|
|
|||
|
|
@ -369,6 +369,7 @@ void NavPath::resize()
|
|||
|
||||
bool NavPath::plan()
|
||||
{
|
||||
PROFILE_SCOPE(NavPath_plan);
|
||||
// Initialise filter.
|
||||
mFilter.setIncludeFlags(mLinkTypes.getFlags());
|
||||
|
||||
|
|
@ -430,15 +431,15 @@ bool NavPath::visitNext()
|
|||
|
||||
if(dtStatusFailed(mQuery->findNearestPoly(from, extents, &mFilter, &startRef, NULL)) || !startRef)
|
||||
{
|
||||
Con::errorf("No NavMesh polygon near visit point (%g, %g, %g) of NavPath %s",
|
||||
start.x, start.y, start.z, getIdString());
|
||||
//Con::errorf("No NavMesh polygon near visit point (%g, %g, %g) of NavPath %s",
|
||||
//start.x, start.y, start.z, getIdString());
|
||||
return false;
|
||||
}
|
||||
|
||||
if(dtStatusFailed(mQuery->findNearestPoly(to, extents, &mFilter, &endRef, NULL)) || !endRef)
|
||||
{
|
||||
Con::errorf("No NavMesh polygon near visit point (%g, %g, %g) of NavPath %s",
|
||||
end.x, end.y, end.z, getIdString());
|
||||
//Con::errorf("No NavMesh polygon near visit point (%g, %g, %g) of NavPath %s",
|
||||
//end.x, end.y, end.z, getIdString());
|
||||
return false;
|
||||
}
|
||||
|
||||
|
|
@ -452,6 +453,7 @@ bool NavPath::visitNext()
|
|||
|
||||
bool NavPath::update()
|
||||
{
|
||||
PROFILE_SCOPE(NavPath_update);
|
||||
if(dtStatusInProgress(mStatus))
|
||||
mStatus = mQuery->updateSlicedFindPath(mMaxIterations, NULL);
|
||||
if(dtStatusSucceed(mStatus))
|
||||
|
|
@ -527,6 +529,7 @@ bool NavPath::finalise()
|
|||
|
||||
void NavPath::processTick(const Move *move)
|
||||
{
|
||||
PROFILE_SCOPE(NavPath_processTick);
|
||||
if(!mMesh)
|
||||
if(Sim::findObject(mMeshName.c_str(), mMesh))
|
||||
plan();
|
||||
|
|
|
|||
Loading…
Reference in a new issue