Флейм
GameDev.ru / Флейм / Форум / Почему так мало?

Почему так мало?

Страницы: 1 2 38 9 Следующая »
Great V.Постоялецwww13 мая 201818:10#0
Итак, есть сцена:
+ Показать

На ней присутствует 4 вида моделей и 3 вида материала. Модели от 12 и до 4к поликов, материалы тривиальны (сплошная заливка).
Переключение материалов и моделей идет строго один раз, вся сцена рисуется инстансингом. Причем подготовка данных для интстансинга идет параллельно (8 потоков), а поток рендера постоянно отправляет на видюху просчитанную часть буфера, не дожидаясь остального.
Итого: 16мс на кадр, при ~6000 объектов (суммарно ~12кк полигонов) в разрешении 800х600.
Имхо - очень мало. Куда копать?

Правка: 13 мая 2018 18:22

MisanthropeПостоялецwww13 мая 201818:20#1
убогое апи?
Great V.Постоялецwww13 мая 201818:22#2
Misanthrope
> убогое апи?
OpenGL, он самый.
Panzerschrek[CN]Участникwww13 мая 201818:23#3
Great V.
> 16кк полигонов
Не многовато ли?

> до 4к поликов
Используй лоды. 4к полигонов для простейших фигур это перебор.

Great V.Постоялецwww13 мая 201818:30#4
Panzerschrek[CN]
> Не многовато ли?
Забыл упомянуть... беда в том, что если полигонаж всех объектов снизить до 12 поликов, то это отодвинет предел в 60 фпс где-то на 1000-2000 объектов.
Т.е. на 60фпс при 6000 объектах превратиться в 60 фпс на 8000, при падении полигонажа на порядок.

> Используй лоды. 4к полигонов для простейших фигур это перебор.
Ну это уже другой вопрос.
Меня пока интересует как можно ускорить рендер не изменяя геометрию. Т.е. подразумевая что все лоды уже определены и все кулинги отработаны. Остается нарисовать.
Смену стейтов минимизировал, инстансинг запилил, на чанки разбил, формирование буфера распаралеллил. Что еще можно сделать?

lookidПостоялецwww13 мая 201818:31#5
Тоесть ты хочешь сказать, что на какой-нибудь модельке из AAA полигонов больше, чем на торусе? Окей лица. А где еще-то? На окружении еще меньше полигонов. Плюс тесселяция, лоды, куллинг.
Great V.Постоялецwww13 мая 201818:36#6
lookid
Буст от кулинга, минимизация полигонажа, лоды и т.д. - все это другая песня. Бонус от них не снимает необходимость оптимизировать эту часть рендера.
Меня интересует что еще можно сделать для отрисовки геометрии, которую в любом случае нужно рисовать (т.е. после этапа проверки на видимость и выбора лода).

Правка: 13 мая 2018 18:37

Panzerschrek[CN]Участникwww13 мая 201818:44#7
Great V.
> если полигонаж всех объектов снизить до 12 поликов, то это отодвинет предел в
> 60 фпс где-то на 1000-2000 объектов
Может инстансинг не бесплатен?

У меня 60 fps на затычке вместо видеокарты получается если рисовать около миллиона уникальных треугольников, да не просто одним цветом, а с текстурой и повершинным освещением.

Правка: 13 мая 2018 18:44

lookidПостоялецwww13 мая 201818:49#8
Panzerschrek[CN]
> повершинным освещением
Изображение
Great V.Постоялецwww13 мая 201818:58#9
Panzerschrek[CN]
> Может инстансинг не бесплатен?
Я все это понимаю. Я о том, что полигонаж упал на порядок, а производительность выросла лишь на 15%.
Может я чего неправильно делаю?

> затычке вместо видеокарты
Забыл упомянуть, запускал на GTX 560.

innuendoПостоялецwww13 мая 201822:27#10
Great V.
> Причем подготовка данных для интстансинга идет параллельно (8 потоков),

вот это жесть - это как так ? сколько инстансов каждой геометрии ?

Правка: 13 мая 2018 22:27

Great V.Постоялецwww13 мая 201823:03#11
innuendo
> вот это жесть
А в чем проблема?

> это как так ?
Да нормально. Если мы рисуем 8000 объектов - нам нужно подготовить 8000 матриц. Почему бы это дело не распаралелить?

> сколько инстансов каждой геометрии ?
Поровну. Всего есть 4 модели. Если на сцене 8000 объектов, значит каждой модели на сцене 2к штук.

innuendoПостоялецwww13 мая 201823:20#12
Great V.
> объектов, значит каждой модели на сцене 2к штук.

попробуй не больше 256 инстансов за дип

lookidПостоялецwww14 мая 20187:55#13
innuendo
а можно гетануть константу для видяхи?
Great V.Постоялецwww14 мая 20189:03#14
innuendo
> попробуй не больше 256 инстансов за дип
Буфер под инстансы у меня выделяется максимально возможный для конкретной видеокарты.
Какой смысл его урезать? Я наоборот думал перейти на текстуры или SSBO, т.к. они по размеру больше.
Страницы: 1 2 38 9 Следующая »

/ Форум / Флейм / Программирование

2001—2018 © GameDev.ru — Разработка игр