Жёсткие фризы из-за DrawVBO и DevicePresent

Раздел, посвящённый самому важному - скорости.

Жёсткие фризы из-за DrawVBO и DevicePresent

Сообщение Azazeo 18 мар 2012, 23:37

Есть игровой уровень, по которому определённой траекторией летит камера, по пути спавнятся монстры (Instantiate), а если мимо них мы пролетели, то у нас за спиной им делается Destroy. FPS был довольно неровный, но проштудировав родной форум Юнити я оптимизировал скрипты (C#), поубирав всякое из Update/FixedUpdate и перенеся логику в yield или Invoke в Стартах. Все двигающиеся коллайдеры - кинематик ригидбоди.
И FPS получился вдоль всего уровня ровный и красивый, кроме :-? ... кроме нескольких мест, в которых происходит жёсткий фриз, а профайлер показывает в нескольких местах DrawVBO, отжирающий 95% всего, а в других - DevicePresent. Это не самые тяжёлые с точки зрения графики места, вроде бы ничего не происходит заскриптованного там... Есть мнение, что это Garbage Collector воду мутит.
Помогите!
Интересно, что если запускать из-под редактора, то такого не происходит, либо в иных масштабах/местах. [curved_hands]
Wir mussen wissen. Wir werden wissen.
Аватара пользователя
Azazeo
UNец
 
Сообщения: 5
Зарегистрирован: 18 мар 2012, 23:26
Откуда: Минск
  • Сайт

Re: Жёсткие фризы из-за DrawVBO и DevicePresent

Сообщение WhiteDevil 20 мар 2012, 16:39

DevicePresent - время простоя между моментом когда кадр уже сформировался и моментом, когда запросится следующий кадр. У вас либо установлен жесткий Application.frameRate, либо включен vSync. Но не воспринимайте это как какое-либо отжирание. Это лишь замер времени, когда система ничего не делает.
Или же, DevicePresent можно понять как большую нагрузку на CPU, и графический процессор простаивает... (ну или наоборот). В таком случае вам нужно оптимайзить эти критические точки. Но сказать что конкретно тормозит - не могу ..
DrawVBO - уже штука существенная, и от нее не избавишься. Но пики можно уменьшать\увеличивать. Например, на iPade чем больше рисуемый прозрачный полигон (например на четверть экрана) и чем больше этих самих объектов, тем больше пики. И наоборот. Старайтесь с батчингом, и все будет хорошо :)
Аватара пользователя
WhiteDevil
UNIверсал
 
Сообщения: 455
Зарегистрирован: 19 дек 2010, 15:55


Вернуться в Оптимизация

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 3