Я делаю 3D игру от первого лица. Должен ли я дать каждому персонажу свой собственный VBO или я должен объединить все символы в один VBO? Какие плюсы / минусы?
Я делаю 3D игру от первого лица. Должен ли я дать каждому персонажу свой собственный VBO или я должен объединить все символы в один VBO? Какие плюсы / минусы?
Ответы:
Это действительно выбор между производительностью и гибкостью, но я перечислю свое мнение по этому поводу.
Один сингл VBO
Положительные стороны:
и отрицательные стороны:
Индивидуальные VBO: s
Положительные стороны:
и отрицательные стороны:
Резюме
Я бы порекомендовал вам профилировать вашу заявку; получить реальное узкое место в данных, которые вы можете увидеть. Преждевременная оптимизация может быть показана (в этом случае) как ненужная. Однако, как говорится, если вы обнаружите реальную потерю производительности в вашем приложении, учитывая сценарий отдельных VBO , вы можете начать реализацию одного VBO.
Однако до тех пор, пока это не нужно (количество объектов невелико, в целом не так много изменений состояния и т. Д.), Я бы рекомендовал использовать отдельные VBO, если только вы не видите, что это не сработает.
редактировать
Я забыл упомянуть, что было бы хорошо с несколькими вызовами розыгрыша. Самое важное в критические моменты производительности - это сохранять минимальные изменения состояния. Вы можете просто установить количество обрабатываемых индексов и смещение для каждого вызова отрисовки, и это нормально. Но, тем не менее, сохраняйте изменения состояния как можно ниже и делайте как можно меньше вызовов для отрисовки, это большой привет этого ответа или, по крайней мере, то, что я пытался сказать.