Unity 5.6.0 плохая производительность на простой сцене
Я только что создал новый проект и построил начальную сцену с несколькими спрайтами. Та же сцена работала в единстве 4.7 с 60FPS, но я не могу получить его в единстве 5.6. У меня есть только один простой скрипт (счетчик кадров в секунду), одна простая анимация (1 лист), 15 спрайтов в сцене и холст с текстом на нем всего за 5 вызовов отрисовки. Я даже оптимизировал спрайтовые сетки вручную, чтобы они меньше перерисовывались. Это происходит как на Android, так и на ПК.
С моим скриптом fps и внутренним профилировщиком:
Unity4.7 > ПК 450fps | Android 60fps
Unity5.6 > ПК 110fps | Android 35-50fps
Это мои настройки
Дерево и просмотр скриншота
настройки
Вот скрипт FPS
using UnityEngine;
using UnityEngine.UI;
public class FrameCounter : MonoBehaviour
{
public float refreshInterval;
private Text label;
private float delta;
private float frames;
private float res;
// Use this for initialization
void Start ()
{
label = GetComponent<Text>();
delta = 0;
frames = 0;
}
// Update is called once per frame
void Update ()
{
frames++;
delta += Time.deltaTime;
if (delta > refreshInterval)
{
res = delta / frames;
label.text = 1f / res + " (" + 1000f * res + "ms)";
delta = 0;
frames = 0;
}
}
}
После некоторых настроек: отключение 32-битного буфера, удаление OpenGLES2 из списка графических API, установка настроек качества на максимальную скорость, я получил некоторое повышение производительности, но этого недостаточно. Не удается получить 60FPS:(Вот результаты внутреннего профилировщика после настройки:
02-21 04:58:07.719 30216 30291 D Unity : Android Unity internal profiler stats:
02-21 04:58:07.719 30216 30291 D Unity : cpu-player> min: 12.7 max: 36.4 avg: 20.5
02-21 04:58:07.719 30216 30291 D Unity : cpu-ogles-drv> min: 0.0 max: 0.0 avg: 0.0
02-21 04:58:07.719 30216 30291 D Unity : gpu> min: 0.0 max: 0.0 avg: 0.0
02-21 04:58:07.720 30216 30291 D Unity : cpu-present> min: -20.0 max: 1.4 avg: -1.6
02-21 04:58:07.720 30216 30291 D Unity : frametime> min: 13.0 max: 34.6 avg: 18.9
02-21 04:58:07.720 30216 30291 D Unity : batches> min: 5 max: 5 avg: 5
02-21 04:58:07.720 30216 30291 D Unity : draw calls> min: 5 max: 5 avg: 5
02-21 04:58:07.720 30216 30291 D Unity : tris> min: 274 max: 274 avg: 274
02-21 04:58:07.720 30216 30291 D Unity : verts> min: 348 max: 348 avg: 348
02-21 04:58:07.720 30216 30291 D Unity : dynamic batching> batched draw calls: 13 batches: 1 tris: 226 verts: 252
02-21 04:58:07.720 30216 30291 D Unity : static batching> batched draw calls: 0 batches: 0 tris: 0 verts: 0
02-21 04:58:07.720 30216 30291 D Unity : player-detail> physx: 0.0 animation: 0.0 culling 0.0 skinning: 0.0 batching: 0.3 render: -0.3 fixed-update-count: 0 .. 0
02-21 04:58:07.720 30216 30291 D Unity : managed-scripts> update: 0.0 fixedUpdate: 0.0 coroutines: 0.0
02-21 04:58:07.720 30216 30291 D Unity : managed-memory> used heap: 372736 allocated heap: 512000, max number of collections: 0 collection total duration: 0.0
02-21 04:58:07.720 30216 30291 D Unity : ----------------------------------------
Что-то я делаю не так?