Деревья:Увеличение DrawCall при повороте камеры

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

Re: Деревья:Увеличение DrawCall при повороте камеры

Сообщение Neodrop 01 июн 2011, 22:17

Не очень понятно... Я вижу в вашем проекте максимум 36 ДК :-?
Что я пропустил?
Добавить neodrop в Skype
Изображение
"Спасибо!" нашему порталу, вы сможете сказать ЗДЕСЬ.
Если проблема не решается честно, нужно её обмануть! || Per stupiditas at Astra!
Страх порождает слабость. Бесстрашных поражают пули.
Протратившись на блядях байтах, на битах не экономят.
Аватара пользователя
Neodrop
Админ
 
Сообщения: 8480
Зарегистрирован: 08 окт 2008, 15:42
Откуда: Питер
Skype: neodrop
  • Сайт

Re: Деревья:Увеличение DrawCall при повороте камеры

Сообщение gnoblin 01 июн 2011, 22:20

у меня прыгает с 14 до 32
skypeid: madkust
Мои крайние проекты:
Убойный Хоккей
Cube Day Z (альфа)
Аватара пользователя
gnoblin
Адепт
 
Сообщения: 4633
Зарегистрирован: 08 окт 2008, 17:23
Откуда: Минск, Беларусь
Skype: madkust
  • Сайт

Re: Деревья:Увеличение DrawCall при повороте камеры

Сообщение Neodrop 01 июн 2011, 22:22

То, что на повороте прыгает, это понятно - перестраиваются спрайты на меши. И наоборот. Но в предоставленном примере нагрузка просто детская. Пока что некуда смотреть.
Есть предположение, что в рабочей сцене у вас выставлено слишком высокое значение MaxMeshTrees на террейнах.. Нет?
Добавить neodrop в Skype
Изображение
"Спасибо!" нашему порталу, вы сможете сказать ЗДЕСЬ.
Если проблема не решается честно, нужно её обмануть! || Per stupiditas at Astra!
Страх порождает слабость. Бесстрашных поражают пули.
Протратившись на блядях байтах, на битах не экономят.
Аватара пользователя
Neodrop
Админ
 
Сообщения: 8480
Зарегистрирован: 08 окт 2008, 15:42
Откуда: Питер
Skype: neodrop
  • Сайт

Re: Деревья:Увеличение DrawCall при повороте камеры

Сообщение Shi 01 июн 2011, 22:56

Neodrop писал(а):То, что на повороте прыгает, это понятно - перестраиваются спрайты на меши. И наоборот. Но в предоставленном примере нагрузка просто детская. Пока что некуда смотреть.
Есть предположение, что в рабочей сцене у вас выставлено слишком высокое значение MaxMeshTrees на террейнах.. Нет?

Нагрузка детская, ибо специально максимально, насколько это возможно для проявления эффекта, облегчал сцену, чтобы не пришлось 700 метров качать.
Тут как вы заметили, 0 max mesh tree. Что именно перестраивается, я не очень понимаю. Особенно в случае, если перед камерой вообще ничего нет (попробуйте вынести камеру за террейны. Будет прыгать, к примеру, с 6 до 20), это все равно заставляет ДК прыгать в 2-3 раза. Как только нагрузка увеличивается (2-3 террейн текстуры, нормальный рельеф, 3-4 вида деревьев, и не дай бог detail-трава), творится то, что описано в первом посте со скринами профайлера.
Но всех террейнах в тестовом проекте выставлено 0 max mesh trees. В рабочем выставлено 100 max mesh trees (billboard dist 200, fade 20. Один террейн с 60к деревьев не вызывает такого (с 60 до 10 фпс) падения фпс и прироста ДК, как 8 террейнов по 5 к деревьев. Про карты 4х4 и уж тем более 8х8 террейнов я не упоминаю).
Аватара пользователя
Shi
UNITрон
 
Сообщения: 211
Зарегистрирован: 30 ноя 2010, 14:58
Откуда: Санкт-Петербург

Re: Деревья:Увеличение DrawCall при повороте камеры

Сообщение Neodrop 01 июн 2011, 23:01

Не характеризует это "проблему". Я уже говорил про свою работу и на 64 квадратных километров нет у меня никаких "скачков". Карта 8 х 8 террейнов по километру.
По вашему примеру ровным счётом ничего не видно. Уж извините.
Надо искать дальше.
Добавить neodrop в Skype
Изображение
"Спасибо!" нашему порталу, вы сможете сказать ЗДЕСЬ.
Если проблема не решается честно, нужно её обмануть! || Per stupiditas at Astra!
Страх порождает слабость. Бесстрашных поражают пули.
Протратившись на блядях байтах, на битах не экономят.
Аватара пользователя
Neodrop
Админ
 
Сообщения: 8480
Зарегистрирован: 08 окт 2008, 15:42
Откуда: Питер
Skype: neodrop
  • Сайт

Re: Деревья:Увеличение DrawCall при повороте камеры

Сообщение gnoblin 01 июн 2011, 23:20

Можно проект потяжелее? :-\
skypeid: madkust
Мои крайние проекты:
Убойный Хоккей
Cube Day Z (альфа)
Аватара пользователя
gnoblin
Адепт
 
Сообщения: 4633
Зарегистрирован: 08 окт 2008, 17:23
Откуда: Минск, Беларусь
Skype: madkust
  • Сайт

Re: Деревья:Увеличение DrawCall при повороте камеры

Сообщение Neodrop 01 июн 2011, 23:21

Ага. Мы выдержим :ymsmug:
Добавить neodrop в Skype
Изображение
"Спасибо!" нашему порталу, вы сможете сказать ЗДЕСЬ.
Если проблема не решается честно, нужно её обмануть! || Per stupiditas at Astra!
Страх порождает слабость. Бесстрашных поражают пули.
Протратившись на блядях байтах, на битах не экономят.
Аватара пользователя
Neodrop
Админ
 
Сообщения: 8480
Зарегистрирован: 08 окт 2008, 15:42
Откуда: Питер
Skype: neodrop
  • Сайт

Re: Деревья:Увеличение DrawCall при повороте камеры

Сообщение Shi 02 июн 2011, 10:02

gnoblin писал(а):Можно проект потяжелее? :-\

Конечно.
http://narod.ru/disk/14780158001/CamRotateDKSpamLarge.unitypackage.html(65 мб.)

upd:Пересоздал с 0 весь ланшафт. И все равно, после высадки деревьев, при повороте камеры ДК скачет (правда на этот раз с 300 до 900-1000). Если не найду способа этого избежать, придется делать вместо 4х4 карты, одну, большого размера, т.к. с ней подобных проблем не возникло. :((
Аватара пользователя
Shi
UNITрон
 
Сообщения: 211
Зарегистрирован: 30 ноя 2010, 14:58
Откуда: Санкт-Петербург

Re: Деревья:Увеличение DrawCall при повороте камеры

Сообщение Shi 03 июн 2011, 20:16

Быть может перенести тему в раздел "Глюки"? (тогда возможно сильные мира сего, к примеру discouraged_one, прокомментируют, как подобной проблемы избежать :ympray: )
Аватара пользователя
Shi
UNITрон
 
Сообщения: 211
Зарегистрирован: 30 ноя 2010, 14:58
Откуда: Санкт-Петербург

Re: Деревья:Увеличение DrawCall при повороте камеры

Сообщение Neodrop 03 июн 2011, 22:28

Глюков тут нет, потому что пока что, кроме вас, никто не испытывает таких проблем.
Подумайте логично - что было бы, если бы у всех дравколы на террейнах вырастали в 3-4 раза при каждом движении? Прааавильно, было бы 100500 ругани про это. Вы её видели? Прааавильно - не видели.
Вывод? :-?

Вот это можно было бы сделать, испытывая ваши проблемы?

http://www.youtube.com/watch?v=lXgX7zvT ... r_embedded



Или вот это ?

http://www.youtube.com/watch?v=Sc5ODMYZU5g



Первое не моё, второе - моё и сделано ещё на Unity 2.1
Добавить neodrop в Skype
Изображение
"Спасибо!" нашему порталу, вы сможете сказать ЗДЕСЬ.
Если проблема не решается честно, нужно её обмануть! || Per stupiditas at Astra!
Страх порождает слабость. Бесстрашных поражают пули.
Протратившись на блядях байтах, на битах не экономят.
Аватара пользователя
Neodrop
Админ
 
Сообщения: 8480
Зарегистрирован: 08 окт 2008, 15:42
Откуда: Питер
Skype: neodrop
  • Сайт

Re: Деревья:Увеличение DrawCall при повороте камеры

Сообщение Shi 03 июн 2011, 22:40

Neodrop писал(а):Глюков тут нет, потому что пока что, кроме вас, никто не испытывает таких проблем.
Подумайте логично - что было бы, если бы у всех дравколы на террейнах вырастали в 3-4 раза при каждом движении? Прааавильно, было бы 100500 ругани про это. Вы её видели? Прааавильно - не видели.
Вывод? :-?

Вот это можно было бы сделать, испытывая ваши проблемы?

http://www.youtube.com/watch?v=lXgX7zvT ... r_embedded



Или вот это ?

http://www.youtube.com/watch?v=Sc5ODMYZU5g



Первое не моё, второе - моё и сделано ещё на Unity 2.1

Первое сегодня было запощено на оффе и выглядит великолепно. Правда о размерах террейнов, в отличии от впечатлений от слов о фпс (автор извинялся за отсутствие оптимизации) в той теме ничего не говорится.
Второе было сделано на старой версии.
Я сомневаюсь, что большое количество людей в данный момент работают с многотеррейновыми системами.
К чему я это все: не может ли быть в 3.4 версии Юнити какого либо параметра, или условия, при котором при засеивании большого количества террейнов подобным образом скачет ДК?
Не мог бы кто нибудь подтвердить\опровергнуть скачки ДК в моем примере, для того чтобы я мог понять, это на моих 3х компах с 2 разными ОС подобные проблемы, или же проблема в чем то другом?
Если подобное возможно - заранее спасибо.
Аватара пользователя
Shi
UNITрон
 
Сообщения: 211
Зарегистрирован: 30 ноя 2010, 14:58
Откуда: Санкт-Петербург

Re: Деревья:Увеличение DrawCall при повороте камеры

Сообщение unityfan 03 июн 2011, 23:55

У вас в сцене 64 террайна загруженные одновременно.Не нужно держать в загрузке больше 9-ти террайнов одновременно,лишнее выгружайте.Far в 60к тоже не дело.Убрал лишние террайны,сделал far 1000 ,получил скачки в 30-35дк,что нормально и приемлимо.
unityfan
UNIт
 
Сообщения: 91
Зарегистрирован: 14 ноя 2010, 12:58

Re: Деревья:Увеличение DrawCall при повороте камеры

Сообщение Neodrop 04 июн 2011, 01:50

Да это в общем-то и не скачки вовсе. Ап том и была речь.

(3A4OT)
Добавить neodrop в Skype
Изображение
"Спасибо!" нашему порталу, вы сможете сказать ЗДЕСЬ.
Если проблема не решается честно, нужно её обмануть! || Per stupiditas at Astra!
Страх порождает слабость. Бесстрашных поражают пули.
Протратившись на блядях байтах, на битах не экономят.
Аватара пользователя
Neodrop
Админ
 
Сообщения: 8480
Зарегистрирован: 08 окт 2008, 15:42
Откуда: Питер
Skype: neodrop
  • Сайт

Re: Деревья:Увеличение DrawCall при повороте камеры

Сообщение Shi 04 июн 2011, 11:09

Neodrop писал(а):Да это в общем-то и не скачки вовсе. Ап том и была речь.

(3A4OT)

Насколько я понял, подобное не только у меня, и terrain engine (насколько я могу предположить) рассчитывает поворот "деревьев" не только в пределах видимости, но и для каждого отдельно взятого террейна, вне зависимости от того, в зоне видимости он располагается (больше, к примеру, 2000), либо же нет. Поэтому если 64 (16,4) террейна могут без деревьев, но с остальными атрибутами сосуществовать на одной "карте" без какого либо проседания ФПС (!), то в случае добавления на карты деревьев, ДК будут рости в геометрической прогрессии при повороте камеры...
Выводы сделаны, всем спасибо.
Аватара пользователя
Shi
UNITрон
 
Сообщения: 211
Зарегистрирован: 30 ноя 2010, 14:58
Откуда: Санкт-Петербург

Re: Деревья:Увеличение DrawCall при повороте камеры

Сообщение alexz 19 июн 2011, 21:51

Я сталкивался с этой проблемой. 16 террейнов, 22 типа деревьев ― при каждом повороте камеры drawcallы прыгали с 200 до 2000. Прыжок уменьшается, если уменьшить количество террейнов или уменьшить количество типов деревьев. Пришёл к выводу, что это от того, что во время поворота камеры перерисовываются билборды всех деревьев.

http://forum.unity3d.com/threads/76192- ... rds-update

Никак эту проблему не решил, заморозил проект, т.к. кроме этой проблемы с количеством типов деревьев, столкнулся ещё с несколькими ограничениями, для которых задолбался придумывать обходные пути.

PS
По поводу видеороликов: в первом непонятно, сколько террейнов, может быть, что один; во втором типов деревьев всего два.
alexz
UNITрон
 
Сообщения: 270
Зарегистрирован: 16 ноя 2010, 23:37

Пред.

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

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

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