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

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

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

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

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

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

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

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

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

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

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

1
Почему AMD, установившая SSD на плату GPU, так сильно уменьшила задержки?
AMD недавно была в новостях с интересной платой Radeon Pro с парой твердотельных накопителей M2. Как отмечают некоторые из более подробных историй (например, здесь или здесь ), преимущества могут быть в основном получены не за счет высокой пропускной способности (у M2 только по 4 линии PCIe каждая, поэтому собственный 16-линейный …

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

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

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

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

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.