Проблема с ОЗУ
Добавлено: 13 дек 2017, 19:51
Я создал пустой проект, сделал в нем 2 сцены, в сцены накидал спрайтов просто для теста, а также повесил скрипт на камеры (в 2 сценах) для перехода между сценами через определенный промежуток времени.
Скрипт:
Проблема в том, что в скомпилированном виде игра постоянно тратит все больше и больше оперативной памяти. Потребление растет медленно (обычно 10-20 Кб при смене сцены, но бывает и больше), но для крупного проекта это может быть неприятным. Пробовал убирать System.GC.Collect и Resources.UnloadUnusedAssets из скрипта, но результат остался прежним. Пробовал смотреть в Profiler, но кроме того, что ненужные спрайты выгружаются из ОЗУ, ничего не увидел. Версия Unity - 2017.2.0f3. В чем может быть проблема?
Скрипт:
Синтаксис:
Используется csharp
public string n = "";
float time = 1f;
bool a = false;
void Start () {
a=false;
time = 1f;
Application.targetFrameRate = 30;
}
void Update()
{
if (Time.frameCount % 30 == 0) {
System.GC.Collect ();
Resources.UnloadUnusedAssets ();
}
time-=Time.deltaTime;
if (!a && time < 0f)
{
a = true;
UnityEngine.SceneManagement.SceneManager.LoadSceneAsync (n);
}
}
float time = 1f;
bool a = false;
void Start () {
a=false;
time = 1f;
Application.targetFrameRate = 30;
}
void Update()
{
if (Time.frameCount % 30 == 0) {
System.GC.Collect ();
Resources.UnloadUnusedAssets ();
}
time-=Time.deltaTime;
if (!a && time < 0f)
{
a = true;
UnityEngine.SceneManagement.SceneManager.LoadSceneAsync (n);
}
}
Проблема в том, что в скомпилированном виде игра постоянно тратит все больше и больше оперативной памяти. Потребление растет медленно (обычно 10-20 Кб при смене сцены, но бывает и больше), но для крупного проекта это может быть неприятным. Пробовал убирать System.GC.Collect и Resources.UnloadUnusedAssets из скрипта, но результат остался прежним. Пробовал смотреть в Profiler, но кроме того, что ненужные спрайты выгружаются из ОЗУ, ничего не увидел. Версия Unity - 2017.2.0f3. В чем может быть проблема?