Commit Graph

17 Commits (00997fa7327293db6075d47d18bd36516537ba44)

Author SHA1 Message Date
elsid 05d6f6ac25
Use single map for navmesh cache 4 years ago
elsid b9a40bc5fc
Add NavMeshTilesCache benchmarks 4 years ago
elsid 3a2cea5271
Use raw recast mesh data and off mesh connections for navmesh key
Serialization into a vector of chars produces inconsistent results that leads
to reduced cache hit rate. Using a structured object is a more clear solution
and allows to remove serialization and nontrivial key compare logic with more
straigt forward structured object comparison.
4 years ago
elsid 489107c5ee
Count navmesh cache key once in item size
Key is stored only in NavMeshTilesCache::Item, TileMap uses KeyView with
a pointer to a vector.
4 years ago
elsid 88ca4a1db6
Count navmesh cache hit rate 4 years ago
elsid 7591d45008
Use memcpy to create navmesh key
Implementation with memcpy is ~13 times faster.
4 years ago
Andrei Kortunov 2e7712a390 Fix C5204 warnings by adding default virtual destructors 5 years ago
elsid 4624f31788
Report navigator stats 6 years ago
elsid 68948bc847
Avoid key allocation to find tile in cache 6 years ago
elsid 9d61c49478
Store key by reference in tiles map 6 years ago
elsid b6243e7d1f
Fix name styleguide 6 years ago
elsid da431135fa
Use pointer to check is NavMeshTilesCache::Value initialized 6 years ago
elsid aab7f2e8b9
Don't check for equality in move assignment
Assume it is undefined behavior to move-assing value to itself.
6 years ago
elsid 6e78fbb538
Double key size for item cache size 6 years ago
Andrei Kortunov a387c6b910 Fix MSVC2015 C4503 warning 6 years ago
elsid af2f4e8424 Allow to use zero cache size 6 years ago
elsid ed73d130f9
Cache navmesh tiles
Use LRU modification to hold currently used items. Use RecastMesh binary
data for item key.

Store original pointer of btCollisionShape in user pointer to make available
it as an identifier within all duplicates. Use pointer to heights data array
for btHeightfieldTerrainShape.
6 years ago