Войти
ПрограммированиеФорумГрафика

Помогите с идеями оптимизации в "сложных условиях" (10 стр)

Advanced: Тема повышенной сложности или важная.

Страницы: 17 8 9 10 11 12 Следующая »
#135
11:37, 6 июня 2012

выбери сам немногословный понятный вариант из возможных и имеющих хоть какойто смысл, я его и имел ввиду ) мне его не говори,


#136
12:34, 6 июня 2012

war_zes
> дык я и не спорю, но у автора вообще никакой оптимизации ландшафта нет, а
> нафига столько полигонов на один только плоский ландшафт (а думаю там как
> минимум полмиллионанесколько сотен из которых легко можно было бы откинуть
> половину)
если ты посмотришь скрины без сетки то заметишь что земля текстурируется тайлами.

#137
12:54, 6 июня 2012

BorisV, вот тебе еще идея необычной :) оптимизации:
Я так понимаю, дома едят больше половины полигонов сцены? И для каждого дома наберется что-то около двухсот различных вариантов состояний разрушения? Можно каждое состояние сделать единым мешем (экономим на дипах) и оптимизировать, выкинув ненужные разбиения геометрии (экономим на полигонах). В момент нанесения повреждения дому подгружать нужный меш прямо с диска и заменять в сцене. Поскольку характер повреждений не хаотичный, то можно всегда хранить в оперативке несколько эвристически наиболее вероятных мешей поврежденных состояний, что бы не тратить время на чтение с диска.
Для реализации этой системы (кроме прочих изменений в движке игры) потребудется написать утилиту, которая сгенерит для каждого дома набор его клонов с разными вариантами повреждений и автоматически соптимизирует меши.
Имхо, такая оптимизация вполне может дать +25% ускорение в рендеринге. Но игра будет занимать больше места на диске.

#138
13:37, 6 июня 2012

Aroch
> если ты посмотришь скрины без сетки то заметишь что земля текстурируется
> тайлами.
ты не понял... я не про текстурирование, а про разбиение ландшафта на отдельные куски, и затем уменьшение числа полигонов вплоть до двух на целый тайл. Тайл в данном месте - это не кусок текстуры на ландшафте, это кусок из которого состоит ландшафт... Вот из папера Battlefield3 пример -
Изображение
Синее - это низкодетализованная часть. красная - это то что игрок видит, а значит там высокая детализация. У автора темы такого вообще нет и где-то там на в далеке на один пиксель приходится несколько сотен полигонов - расход в пустую, перпектива все равно не позволит увидеть детализацию дальней части ландшафта

Я вот в своем движке только начал такое делать

#139
13:38, 6 июня 2012

Синий Дракон
Можно ето все делать в рантайме.

#140
13:41, 6 июня 2012

war_zes
По скринам похоже, что с или без ландшафта - без разницъ.

#141
14:02, 6 июня 2012

war_zes
На ландшафте рисуемых 50 тысяч поликов в самом худшем варианте, специально проверил, потому что многие здесь на него бросаются. Не в ландшафте дело (он вообще под радикальную переделку с новым рендером).

Синий Дракон

Я так понимаю, дома едят больше половины полигонов сцены?

Примерно половину.
И для каждого дома наберется что-то около двухсот различных вариантов состояний разрушения?

Больше, даже если брать только крупные детали под ращрушение, из которых здание состоит, двухэтажный дом (коих большинство) на вскидку 16 или 24 части (если дом по 3 окна с каждой стороны, не замечал, можно ли крышу отдельно рушить без второго этажа). Хранить в памяти вариации не представляется возможным из-за проблем с х1.3-1.5 излишними затратами в 64 битных осях (хотя если бы нашел решение для памяти, то можно было бы разгуляться).

#142
16:13, 6 июня 2012

Дома и разрушения - это обычная скелетная анимация, только проще и без весов вершин, где у каждой части дома только одна своя матрица. Допустим, пальнули по левой части дома - применили транспонирование к матрицам левой части дома и вот наши куски дома полетели ! Реализуем скелетную анимацию на GPU естественно.
Таким образом, дом можно легко рендерить и анимировать за 1 DIP.
Да и для лодов никакие дополнительные меши грузить не надо. Достаточно всего лишь сделать другой обход вершин в индексном буфере, который будет игнорировать мелкие детали меша. И эти индексы можно расположить в том же индексном буфере, только со смещением.
В общем всё это элементарно делается ! Было бы желание...
BorisV
> От разрешения практически не зависит фпс на gf9600gt.
А вот это как раз очень плохо, получается видео карта простаивает, а вся производительность упирается в центральный процессор.

#143
16:51, 6 июня 2012

Anika
> В общем всё это элементарно делается ! Было бы желание...

> А вот это как раз очень плохо, получается видео карта простаивает, а вся
> производительность упирается в центральный процессор.

Ты сетку то смотрел?

#144
9:11, 7 июня 2012

Anika
> А вот это как раз очень плохо, получается видео карта простаивает, а вся
> производительность упирается в центральный процессор.
Какой процессор?  У него всё загибается на обработке вершин, а не пикселей.

#145
9:32, 7 июня 2012

BorisV

Кстати, ту же сцену, только ночью и штук 20-30 омни\спотов добавь :)

#146
10:16, 7 июня 2012

BorisV
> Неплохо бы сделать софтварный на неиспользуемом ядре, но непосильно при такой
> полигональности сцены (и памяти не особо, чтоб хранить геометрию для софтового
> рендера, разве что как-то жать).
Его делают с упрощённой геометрией.
BorisV
> но каждый дом это около 20 текстур
Ну и кто тут злобный буратина?

#147
13:50, 7 июня 2012

innuendo

Кстати, ту же сцену, только ночью и штук 20-30 омни\спотов добавь :)

Эта проблема стала не актуальна в новом рендере.

zlos

> Неплохо бы сделать софтварный на неиспользуемом ядре, но непосильно при такой
> полигональности сцены (и памяти не особо, чтоб хранить геометрию для софтового
> рендера, разве что как-то жать).
Его делают с упрощённой геометрией

Автоматическую оптимизацию геометрии провести нельзя с этими модельками (за редким исключением, а так лишь сводить на нет эффективность отсечения), а ни у кого нет времени на них делать отдельные лоды только под occlusion culling.
> но каждый дом это около 20 текстур
Ну и кто тут злобный буратина?

Моделлеры
#148
14:03, 7 июня 2012

BorisV
> Эта проблема стала не актуальна в новом рендере.

Не понял, что именно сделали ?

> а ни у кого нет времени на них делать отдельные лоды только под occlusion
> culling.

ну там же обычный bbox

#149
14:34, 7 июня 2012

BorisV
> Ну и кто тут злобный буратина?
>
> Моделлеры
моделлеры должны делать не только красиво, но и согласно тех заданию, а это не только максимальное количество треугольников, но и максимальное количество текстур, может и еще чтото специфичное

злобный буратина тот кто им давал тз, и тот кто принимал от моделлеров по нему модели в игру

Страницы: 17 8 9 10 11 12 Следующая »
ПрограммированиеФорумГрафика

Тема в архиве.