Add memory usage query for various asset types

This commit is contained in:
Wojciech Figat
2022-12-09 15:48:43 +01:00
parent ed700cb070
commit d4601ecb44
13 changed files with 116 additions and 11 deletions

View File

@@ -93,6 +93,17 @@ const String& JsonAssetBase::GetPath() const
#endif
}
uint64 JsonAssetBase::GetMemoryUsage() const
{
Locker.Lock();
uint64 result = Asset::GetMemoryUsage();
result += sizeof(JsonAssetBase) - sizeof(Asset);
if (Data)
result += Document.GetAllocator().Capacity();
Locker.Unlock();
return result;
}
#if USE_EDITOR
void FindIds(ISerializable::DeserializeStream& node, Array<Guid>& output)
@@ -248,6 +259,17 @@ JsonAsset::JsonAsset(const SpawnParams& params, const AssetInfo* info)
{
}
uint64 JsonAsset::GetMemoryUsage() const
{
Locker.Lock();
uint64 result = JsonAssetBase::GetMemoryUsage();
result += sizeof(JsonAsset) - sizeof(JsonAssetBase);
if (Instance && InstanceType)
result += InstanceType.GetType().Size;
Locker.Unlock();
return result;
}
Asset::LoadResult JsonAsset::loadAsset()
{
const auto result = JsonAssetBase::loadAsset();