Вопросы с тегом «performance»

37
Когда вычислительный шейдер более эффективен, чем пиксельный шейдер для фильтрации изображений?

Операции фильтрации изображений, такие как размытие, SSAO, bloom и т. Д., Обычно выполняются с использованием пиксельных шейдеров и операций «сбора», где каждый вызов пиксельного шейдера выдает несколько выборок текстуры для доступа к значениям соседних пикселей и вычисляет ценность одного пикселя....

25
Какова стоимость смены государства?

Предполагается, что у программистов есть достаточно хорошее представление о стоимости определенных операций: например, о стоимости инструкций по ЦП, о потере кэша L1, L2 или L3, о стоимости LHS. Когда дело доходит до графики, я понимаю, что понятия не имею, что это такое. Я имею в виду, что если мы...

20
Производительность векторной графики по сравнению с растровой или растровой графикой

Иногда я использую векторную графику, просто потому что в некоторых случаях она выглядит немного лучше, а в других случаях я использую растровую / растровую графику. Мне было интересно, есть ли существенные различия в производительности между этими двумя...

19
Почему это условие в моем фрагментном шейдере так медленно?

Я установил некоторый FPS-измерительный код в WebGL (на основе этого SO-ответа ) и обнаружил некоторые странности в производительности моего фрагментного шейдера. Код просто отображает один квад (или, скорее, два треугольника) на холсте 1024x1024, поэтому вся магия происходит в фрагментном шейдере....

16
Почему у нас есть графические фреймворки, такие как OpenGL и DirectX, когда игры могут просто рисовать пиксели напрямую?

Игры и другие графически насыщенные приложения используют такие платформы, как OpenGL и DirectX. Также им требуются такие функции, как пиксельный шейдер и DX12. Но зачем нам все эти фреймворки и функции GPU, когда мы можем просто рисовать все пиксель за пикселем? Во-первых, игру нужно будет...

16
Разница между рендерингом в OpenGL и 3D-анимации

С OpenGL и так далее я могу рендерить некоторые довольно удивительно выглядящие вещи в режиме «реального времени» 60 FPS. Однако, если я попытаюсь снять видео с той же самой сценой, скажем, в Maya или 3ds Max, потребуется гораздо больше времени для рендеринга, даже если это то же разрешение и FPS....

14
Является ли постоянное состояние более дорогостоящим, чем переключение шейдеров?

Вообще, ветвление в шейдерах не очень хорошая идея. Но теперь у меня есть шейдер с условием, которое является постоянным по отношению ко всему вызову отрисовки. Таким образом, выполняемая ветвь всегда одинакова для одного вызова отрисовки. Является ли такой вид ветвления еще более дорогостоящим,...

13
Когда отключить перспективную правильную интерполяцию (ноперспективная)

В GLSL перспективная правильная интерполяция атрибутов вершин является настройкой по умолчанию - ее можно отключить для определенных атрибутов вершин с помощью неперспективного квалификатора. Кроме шейдеров постобработки, я никогда не видел, чтобы корректная интерполяция перспективы отключалась -...

11
Почему доступ к текстурам намного медленнее при расчете координат текстуры в фрагментном шейдере?

При использовании текстур в GLSL лучше всего рассчитать окончательные координаты текстуры в вершинном шейдере и передать их фрагментному шейдеру, используя varyings. Пример с простым переворотом в координате y: // Vertex shader attribute vec2 texture; varying highp vec2 texCoord; // ... void main()...

11
Цикл производительности в шейдере

Мне интересно, как лучше интегрировать функцию динамического цикла в шейдер? Во-первых, кажется, что динамические массивы невозможны. Итак, лучше ли создавать массив максимального размера и заполнять только его часть или определять массивы с заранее заданными размерами? Тогда, как лучше всего...

10
Почему объекты Vertex Buffer улучшают производительность?

Исходя из моего базового понимания, объект буфера вершин работает примерно так (псевдокод): Обычно, если кто-то хотел сказать, нарисовать квадрат, можно было бы использовать команды рисования линий. line (0, 0) -> (1, 0) line (1, 0) -> (1, 1) line (1, 1) -> (0, 1) line (0, 1) -> (0, 0)...

10
Почему AMD, установившая SSD на плату GPU, так сильно уменьшила задержки?

AMD недавно была в новостях с интересной платой Radeon Pro с парой твердотельных накопителей M2. Как отмечают некоторые из более подробных историй (например, здесь или здесь ), преимущества могут быть в основном получены не за счет высокой пропускной способности (у M2 только по 4 линии PCIe каждая,...

10
С современными fillrate и отложенным рендерингом, все еще актуален выборочный процесс окклюзии?

Например, несмотря на то, что это текущий самый лучший графический процессор, GTX 980 имеет ошеломляющую скорость заполнения 72,1 гигапикселя / секунду, что при рендеринге задних сторон и / или проверках Z-буфера кажется почти смехотворно большим, возможно, даже в разрешении 4k. Что касается...

9
Самый эффективный способ организации вершинных данных на современных графических процессорах

Скажем , у меня есть модель , составленная из вершин, каждый из которых position, normal, tangentи texcoordатрибутов, где треугольники указанных индексов троек. Если мы просто сосредоточимся на атрибутах вершин, мне известны две широкие стратегии: структура массивов и массив структур. Я также...

9
Каков компромисс между быстрым и отложенным рендерингом?

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

8
Современные графические процессоры содержат бочкообразные переключатели?

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

8
Когда лучше загружать матрицы частичных моделей в вершинный шейдер?

На данный момент, при рендеринге моей сцены и итерации по графу сцены, для каждого узла его матрица модели вычисляется из матрицы модели родителя и позы узла сцены. Это довольно просто и уже уменьшает количество умножений матриц до одного умножения на узел и кадр. Но все эти умножения матриц должны...

8
Как все считают «Лучи в секунду»?

Недавно я разрабатываю трассировщик Монте-Карло. Чтобы измерить производительность моего трассировщика, я решил реализовать простой механизм подсчета количества лучей, которые он может отследить за секунду. Тогда возникает проблема, есть два способа определить один луч: Полный луч, т. Е. Начиная с...