@Porohovnik

Как влияет перекрыетие объектов на скорость отрисовки?

Если сначала отрисовать объекты в близи камеры,а потом отрисовать другие объекты за ними,то это будет быстрее чем отрисовывка объектов в случайном порядке?(ближнее объекты перекроют собой части дальних и поэтому дальние объекты отрисуются с учётом этого перекрытия,тем самым видеокарта отбросит ли те фрагменты что не видны у дпльних объектов,так?)
  • Вопрос задан
  • 82 просмотра
Решения вопроса 1
@MarkusD
все время мелю чепуху :)
Абсолютно точным ответом на твой вопрос является: смотря как настроишь контекст.

Здесь стоит припомнить некоторые базовые этапы графического конвейера.

Первым этапом является обработка вершинных данных. Она выполняется для каждой вершины в примитиве. Отказаться от обработки какой-либо вершины пользователь не в праве. С другой стороны, обработка вершинных данных, обычно, выполняется быстро и вершин, обычно, куда меньше чем фрагментов.
Поэтому, чтобы загружать GPU только правильными вершинам, эти вершины стоит правильно выбрать для передачи ему. За это должна отвечать стадия отсечения примитивов при подготовке кадра к презентации.

Вторым важным сейчас этапом является обработка фрагментных данных. Растеризация, если проще.
Для растеризации каждый примитив бьется на фрагменты, обработка которых происходит в индивидуальном порядке. На этапе растеризации от обработки фрагмента уже можно отказаться прямо в шейдере. Это может немного ускорить презентацию кадра.
Обработка фрагментов разной геометрии никак не регламентирована и может происходить в произвольном порядке.
При этом, если один фрагмент имеет отношение к нескольким участкам геометрии, он будет вычислен из каждого такого участка. Это называется Overdraw (Перекрытие).
Перекрытие не только ведет к обработке ненужных, часто не видимых, фрагментов, но и приводит к графическим артефактам, вроде z-fighting. Разработчики стараются не допускать перекрытия геометрии через более агрессивное отсечение полигонов в модели и сортировку геометрии, а не моделей, в пространстве. Так же есть ряд эффективных техник работы с буфером глубины (например), которые позволяют практически полностью справиться перекрытием.

Поэтому, при правильной настройке контекста, при выборе только важной для кадра геометрии, при работе с буфером глубины, при использовании Adaptive Shading и вовремя отбрасывая фрагменты из стадии растеризации скорость презентации будет выше чем без всех этих настроек.
Если ты сделаешь у себя z-prepass, то сортировка геометрии по расстоянию до камеры для тебя станет избыточной.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
Programiker
@Programiker
Програмикер
отрисовывка объектов в случайном порядке медленние
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы