Terrain.CullAllTerrains

Форум для самых маленьких, а так же тех, кому недосуг читать справку самостоятельно.

Terrain.CullAllTerrains

Сообщение Ingvarson 28 мар 2013, 22:18

Не подскажите что такое Terrain.CullAllTerrains ? Это из Profiler. у меня показывает 98 процентов. И как можно понизить значение?
Аватара пользователя
Ingvarson
UNIт
 
Сообщения: 59
Зарегистрирован: 01 фев 2011, 18:42
Откуда: Россия, Москва

Re: Terrain.CullAllTerrains

Сообщение Woolf 26 май 2013, 01:22

Нарвался и я на эту хрень. При перемещении камеры - начинает тормозить. Ежели без перемещения - то все нормально.
Разработчик theFisherOnline - там, где клюёт
Разработчик Atom Fishing II - Первая 3D MMO про рыбалку
Разработчик Atom Fishing - Рыбалка на поплавок, донку, нахлыст, блесну в постъядерный период.
Аватара пользователя
Woolf
Адепт
 
Сообщения: 7179
Зарегистрирован: 02 мар 2009, 16:59

Re: Terrain.CullAllTerrains

Сообщение Woolf 26 май 2013, 15:54

Чтобы не быть голословным:
Изображение

Вот эти пики - это момент поворота камеры. Что за хрень то такая? Раньше же этого не было.
Разработчик theFisherOnline - там, где клюёт
Разработчик Atom Fishing II - Первая 3D MMO про рыбалку
Разработчик Atom Fishing - Рыбалка на поплавок, донку, нахлыст, блесну в постъядерный период.
Аватара пользователя
Woolf
Адепт
 
Сообщения: 7179
Зарегистрирован: 02 мар 2009, 16:59

Re: Terrain.CullAllTerrains

Сообщение Shi 26 май 2013, 16:26

Woolf писал(а):Чтобы не быть голословным:
Изображение

Вот эти пики - это момент поворота камеры. Что за хрень то такая? Раньше же этого не было.

Сравнительно давно сталкивался с чем-то подобным. Если не ошибаюсь, можно попробовать частично пофиксить дальностью отображения билбордных деревьев меньше 1000 метров.
Аватара пользователя
Shi
UNITрон
 
Сообщения: 211
Зарегистрирован: 30 ноя 2010, 14:58
Откуда: Санкт-Петербург

Re: Terrain.CullAllTerrains

Сообщение Woolf 26 май 2013, 16:43

Не помогает.
Разработчик theFisherOnline - там, где клюёт
Разработчик Atom Fishing II - Первая 3D MMO про рыбалку
Разработчик Atom Fishing - Рыбалка на поплавок, донку, нахлыст, блесну в постъядерный период.
Аватара пользователя
Woolf
Адепт
 
Сообщения: 7179
Зарегистрирован: 02 мар 2009, 16:59

Re: Terrain.CullAllTerrains

Сообщение BornFoRdeatH 26 май 2013, 17:34

:)) А меня эта фишка парит так как у меня вообще нет в сцене терейна, а в профайлере висит, значит как минимум память приложения жрет.
Не бойся, если ты один, бойся, если ты ноль.
BornFoRdeatH
Адепт
 
Сообщения: 2377
Зарегистрирован: 22 окт 2011, 23:41
Откуда: Украина
Skype: bornfordeath

Re: Terrain.CullAllTerrains

Сообщение Neodrop 26 май 2013, 22:29

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

Re: Terrain.CullAllTerrains

Сообщение Woolf 26 май 2013, 23:18

Neodrop писал(а):А террейн один или несколько? Если несколько, сделали им SetNeighbors ?


В том то и дело, что один. Было бы несколько я бы понял. Один в 2х2км. Причем, заметил такую фишку. Отключаю рисование деревьев и травы (птичка draw у терейна) - вроде как эти пики пропадают. Т.е. сам терейн рисуется без проблем. Где-то это в траве или деревьях кроется.. Но! Если просто свести на 0 расстояния травы и деревьев, то баг не пропадает.
Разработчик theFisherOnline - там, где клюёт
Разработчик Atom Fishing II - Первая 3D MMO про рыбалку
Разработчик Atom Fishing - Рыбалка на поплавок, донку, нахлыст, блесну в постъядерный период.
Аватара пользователя
Woolf
Адепт
 
Сообщения: 7179
Зарегистрирован: 02 мар 2009, 16:59

Re: Terrain.CullAllTerrains

Сообщение jetyb 27 май 2013, 07:50

Насколько я понимаю, cullAllTerrains вызывается терейновским движком при создании мешей травы. Меши травы обновляются по квадратной сетке размерности detailResolution/detailResolutionPerPatch. Уменьшая это значение, можно снизить нагрузку на эту функцию. Мне помогло увеличение detailResolutionPerPatch для каждого террейна.

SetNeighbors для нескольких террейнов, как показали опыты, только увеличивает нагрузку. При точно подогнанных границах террейнов улучшения качества не наблюдается(правда в моем случае не было гористых местностей).
jetyb
Адепт
 
Сообщения: 1486
Зарегистрирован: 31 окт 2011, 17:21

Re: Terrain.CullAllTerrains

Сообщение Neodrop 27 май 2013, 18:01

jetyb писал(а):SetNeighbors для нескольких террейнов, как показали опыты, только увеличивает нагрузку. При точно подогнанных границах террейнов улучшения качества не наблюдается(правда в моем случае не было гористых местностей).


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

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

Re: Terrain.CullAllTerrains

Сообщение Woolf 27 май 2013, 18:09

Про траву : крайне плохо, когда на одной полянке "посеяна" растительность разных типов. Лучше траву не смешивать в одной области. Это сильно давит на производительность.


Нео, этой байке уже сто лет в обед. Допускаю, что так и было в юне 2.х, но сейчас, начиная с 3.5, вроде, юня все травы и текстуры детейл мешев делает в один атлас и выводит весь кусок за один DIP, сколько бы трав там не было. Конечно, умеренность нужно соблюдать. По моим наблюдениям, 16 трав как раз влазят в один атлас и выводятся за один проход. При добавлении 17й видна резкая просадка, значит уже второй проход пошел.

jetyb, спасибо, увеличение detailResolutionPerPatch с 8 до 32 снизило остроту проблемы, просадка есть, но, вроде, уже не такая критическая.
Разработчик theFisherOnline - там, где клюёт
Разработчик Atom Fishing II - Первая 3D MMO про рыбалку
Разработчик Atom Fishing - Рыбалка на поплавок, донку, нахлыст, блесну в постъядерный период.
Аватара пользователя
Woolf
Адепт
 
Сообщения: 7179
Зарегистрирован: 02 мар 2009, 16:59

Re: Terrain.CullAllTerrains

Сообщение jetyb 28 май 2013, 08:03

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

Ну не знаю. Еще раз протестил в своем проекте: с SetTerrains MainThread в контрольных точках выполняется где-то на 0.1 - 0.3 мс медленней чем без. Какой-то визуальной разницы не заметил, проблем с отображением стыковки без SetTerrains нет. Единовременно активно не более 9 террейнов (на практике с учетом гашения невидимых фруструмом - не более 4).
Допускаю, что результат зависит и от моего железа. Например, SetTerrains может требовать меньшее число вычислительных операции, но при этом загружать в кэш больший объем данных.
jetyb
Адепт
 
Сообщения: 1486
Зарегистрирован: 31 окт 2011, 17:21


Вернуться в Почемучка

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

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