Программирование игр, создание игрового движка, OpenGL, DirectX, физика, форум
GameDev.ru / Программирование / Форум / Unity: несколько камер работают значительно медленнее, чем одна при одинаковом кол-ве объектов

Unity: несколько камер работают значительно медленнее, чем одна при одинаковом кол-ве объектов

ЧапаевПользовательwww10 окт. 201820:15#0
Итак, Юнити.

Берем пустую сцену, создаем 100 кубов. Запускаем, замеряем fps. Получаем, скажем N.
Теперь половине из этих кубов ставим слой, отличный от default.
Клонируем камеру, настраиваем Culling Mask обеим камерам так, чтоб одна рендерила слой default, а вторая - остальные, ставим как надо Clear Flags.
Картинка в итоге будет такая же как при первом запуске.
Запускаем... и получаем fps примерно 0.6 от первоначального N.
При этом количество вершин, треугольников, текстур и тп, в кадре осталось неизменным.

Вопрос: что за хрень и как с этим бороться?

alexey.chУчастникwww10 окт. 201820:32#1
Каждая камера это плюс один проход динамического батчинга и как минимум один дравкол + презент. И про филлрейт не забываем. Плюс на каждую камеру отдельный frame buffer и depth/stencil buffer (последний опционально).

Бороться с этим никак, так работают Unity и GAPI.

Battle Angel AlitaПостоялецwww10 окт. 201820:53#2
Каждая смена камеры это resolve + restore. Грубо говоря - содержимое первой камеры копируется в текстуру, потом рисуется фуллскрин квад с этой текстурой. И та и та операция не дешёвая, особенно на мобилах. А если MSAA врублен то вообще можно вешаться.
endeavour_prПостоялецwww11 окт. 20181:24#3
Вроде всё логично, плюс камера минус фпс.
А нафига тебе вторая камера, для какой цели ?
MarmiladПостоялецwww11 окт. 20185:26#4
Пиши свой движок !
ronnikoПостоялецwww11 окт. 201812:57#5
Пиши свой движок !

Вместе с Петькой и Анкой ! :)

Правка: 11 окт. 2018 12:58

/ Форум / Программирование игр / Графика

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