Massive CPU spike when changing Loc term
7 years 9 months ago #2078
by dt1000
Massive CPU spike when changing Loc term was created by dt1000
Hi there.
Whenever I use the command Loc.SetTerm to change the localisation term of an nGUI label I get a massive CPU spike.
According to the profiler, this is caused by...
Loading.UpdatePreloading
Application.Integrate Assets in Background
GarbageCollectAssetsProfile
GC.MarkDependencies
Am I doing something wrong?
Please help - my project is for mobile and this is causing big problems.
Cheers,
Dan
Whenever I use the command Loc.SetTerm to change the localisation term of an nGUI label I get a massive CPU spike.
According to the profiler, this is caused by...
Loading.UpdatePreloading
Application.Integrate Assets in Background
GarbageCollectAssetsProfile
GC.MarkDependencies
Am I doing something wrong?
Please help - my project is for mobile and this is causing big problems.
Cheers,
Dan
Please Log in or Create an account to join the conversation.
7 years 9 months ago #2079
by dt1000
Replied by dt1000 on topic Massive CPU spike when changing Loc term
Hmmm. Researched a bit on the forum and found some clues.
In ResourceManager.cs on line 143...
Invoke("CleanResourceCache", 0.1f);
...seems to be causing the glitch, so I commented it out and left it for Unity to handle automatically.
Is this a safe thing to do?
In ResourceManager.cs on line 143...
Invoke("CleanResourceCache", 0.1f);
...seems to be causing the glitch, so I commented it out and left it for Unity to handle automatically.
Is this a safe thing to do?
Please Log in or Create an account to join the conversation.
7 years 9 months ago - 7 years 9 months ago #2080
by Frank
Are you Give I2L 5 stars!
Are you Please lets us know how to improve it!
Replied by Frank on topic Massive CPU spike when changing Loc term
That's weird, After you commented that line the spike stopped, or did it moved to another function?
Normally, the CleanResourcesCache will not generate an spike given that I2 Localization doesn't load much from the resources. That function is even delayed 0.1s to avoiding having the lag in the same frame the localization happens.
However, it could indeed generate a spike if the project has already loaded lots of things from the Resources and then hasn't unload them after no one is referencing them. When the call to CleanResourcesCache happens, then unity will also free the memory of all the other unused assets.
yes.
However, to be safer (and free memory) its better to call CleanResourcesCache when transitioning to a new level.
I'm going to release that change in the next beta.
You can comment the invoke of the CleanResourcesCache as you did, and then add the call to the OnLevelWasLoaded function at line 56:
Hope that helps,
Frank
Normally, the CleanResourcesCache will not generate an spike given that I2 Localization doesn't load much from the resources. That function is even delayed 0.1s to avoiding having the lag in the same frame the localization happens.
However, it could indeed generate a spike if the project has already loaded lots of things from the Resources and then hasn't unload them after no one is referencing them. When the call to CleanResourcesCache happens, then unity will also free the memory of all the other unused assets.
Is this a safe thing to do?
yes.
However, to be safer (and free memory) its better to call CleanResourcesCache when transitioning to a new level.
I'm going to release that change in the next beta.
You can comment the invoke of the CleanResourcesCache as you did, and then add the call to the OnLevelWasLoaded function at line 56:
#if UNITY_5_4_OR_NEWER
public static void MyOnLevelWasLoaded(Scene scene, LoadSceneMode mode)
#else
public void OnLevelWasLoaded()
#endif
{
pInstance.CleanResourceCache(); //<---- add this line
LocalizationManager.UpdateSources();
}
Hope that helps,
Frank
Are you Give I2L 5 stars!
Are you Please lets us know how to improve it!
To get the betas as soon as they are ready,
check this out
Last edit: 7 years 9 months ago by Frank.
Please Log in or Create an account to join the conversation.
Time to create page: 0.190 seconds