Add even more profiler events

This commit is contained in:
Wojtek Figat
2021-07-07 15:15:33 +02:00
parent afc5bb5731
commit 6938821467
13 changed files with 115 additions and 18 deletions

View File

@@ -1599,7 +1599,10 @@ bool Actor::FromBytes(const Span<byte>& data, Array<Actor*>& output, ISerializeM
// Load JSON
rapidjson_flax::Document document;
document.Parse(buffer, bufferSize);
{
PROFILE_CPU_NAMED("Json.Parse");
document.Parse(buffer, bufferSize);
}
if (document.HasParseError())
{
Log::JsonParseException(document.GetParseError(), document.GetErrorOffset());
@@ -1638,7 +1641,10 @@ bool Actor::FromBytes(const Span<byte>& data, Array<Actor*>& output, ISerializeM
// Load JSON
rapidjson_flax::Document document;
document.Parse(buffer, bufferSize);
{
PROFILE_CPU_NAMED("Json.Parse");
document.Parse(buffer, bufferSize);
}
if (document.HasParseError())
{
Log::JsonParseException(document.GetParseError(), document.GetErrorOffset());
@@ -1763,7 +1769,10 @@ void Actor::FromJson(const StringAnsiView& json)
// Load JSON
rapidjson_flax::Document document;
document.Parse(json.Get(), json.Length());
{
PROFILE_CPU_NAMED("Json.Parse");
document.Parse(json.Get(), json.Length());
}
if (document.HasParseError())
{
Log::JsonParseException(document.GetParseError(), document.GetErrorOffset());

View File

@@ -496,6 +496,7 @@ public:
// - load scenes (from temporary files)
// Note: we don't want to override original scene files
PROFILE_CPU_NAMED("Level.ReloadScripts");
LOG(Info, "Scripts reloading start");
const auto startTime = DateTime::NowUTC();
@@ -565,7 +566,10 @@ public:
// Parse json
const auto& sceneData = scenes[i].Data;
ISerializable::SerializeDocument document;
document.Parse(sceneData.GetString(), sceneData.GetSize());
{
PROFILE_CPU_NAMED("Json.Parse");
document.Parse(sceneData.GetString(), sceneData.GetSize());
}
if (document.HasParseError())
{
LOG(Error, "Failed to deserialize scene {0}. Result: {1}", scenes[i].Name, GetParseError_En(document.GetParseError()));
@@ -851,7 +855,10 @@ bool Level::loadScene(const BytesContainer& sceneData, bool autoInitialize, Scen
// Parse scene JSON file
rapidjson_flax::Document document;
document.Parse(sceneData.Get<char>(), sceneData.Length());
{
PROFILE_CPU_NAMED("Json.Parse");
document.Parse(sceneData.Get<char>(), sceneData.Length());
}
if (document.HasParseError())
{
Log::JsonParseException(document.GetParseError(), document.GetErrorOffset());
@@ -869,9 +876,7 @@ bool Level::loadScene(rapidjson_flax::Document& document, bool autoInitialize, S
LOG(Error, "Missing Data member.");
return true;
}
const int32 saveEngineBuild = JsonTools::GetInt(document, "EngineBuild", 0);
return loadScene(data->value, saveEngineBuild, autoInitialize, outScene);
}

View File

@@ -217,7 +217,10 @@ void PrefabInstanceData::SerializePrefabInstances(Array<PrefabInstanceData>& pre
writer.EndArray();
// Parse json to get DOM
instance.Data.Parse(tmpBuffer.GetString(), tmpBuffer.GetSize());
{
PROFILE_CPU_NAMED("Json.Parse");
instance.Data.Parse(tmpBuffer.GetString(), tmpBuffer.GetSize());
}
if (instance.Data.HasParseError())
{
LOG(Warning, "Failed to parse serialized scene objects data.");
@@ -462,7 +465,10 @@ bool PrefabInstanceData::SynchronizePrefabInstances(Array<PrefabInstanceData>& p
writer.EndArray();
// Parse json to get DOM
defaultInstanceData.Parse(tmpBuffer.GetString(), tmpBuffer.GetSize());
{
PROFILE_CPU_NAMED("Json.Parse");
defaultInstanceData.Parse(tmpBuffer.GetString(), tmpBuffer.GetSize());
}
if (defaultInstanceData.HasParseError())
{
LOG(Warning, "Failed to parse serialized scene objects data.");
@@ -666,7 +672,10 @@ bool Prefab::ApplyAllInternal(Actor* targetActor, bool linkTargetActorObjectToPr
newPrefabInstanceIdToDataIndex.EnsureCapacity(ObjectsCount * 4);
{
// Parse json to DOM document
diffDataDocument.Parse(dataBuffer.GetString(), dataBuffer.GetSize());
{
PROFILE_CPU_NAMED("Json.Parse");
diffDataDocument.Parse(dataBuffer.GetString(), dataBuffer.GetSize());
}
if (diffDataDocument.HasParseError())
{
LOG(Warning, "Failed to parse serialized scene objects data.");

View File

@@ -372,7 +372,10 @@ bool PrefabManager::CreatePrefab(Actor* targetActor, const StringView& outputPat
{
// Parse json to DOM document
rapidjson_flax::Document doc;
doc.Parse(actorsDataBuffer.GetString(), actorsDataBuffer.GetSize());
{
PROFILE_CPU_NAMED("Json.Parse");
doc.Parse(actorsDataBuffer.GetString(), actorsDataBuffer.GetSize());
}
if (doc.HasParseError())
{
LOG(Warning, "Failed to parse serialized actors data.");