set gpu renderer что это

Процессором (CPU) или видеокартой (GPU): чем рендерить?

Рендеринг трехмерных сцен — это основополагающая современных визуальных эффектов (VFX), графического дизайна, промышленного дизайна и анимации. Когда вы работаете в одной из этих отраслей, самым важным инструментом в вашем арсенале является ваша рабочая станция. Центральный процессор (CPU) является сердцем вашей рабочей станции и выполняет множество задач, таких как работа в приложениях, загрузка драйверов и т. д. Графические процессоры (GPU), представляющие собой специализированные типы микропроцессоров, которые работают параллельно с CPU, в последнее время переживают значительный рост использования, поскольку начинают расти объемы вычислений необходимые для одной задачи. Эти задачи, интенсивно использующие процессор, могут включать:

Чтобы не усложнять эту статью или ее цель, мы будем ссылаться исключительно на сравнение возможностей CPU и GPU, используемых для обработки изображений или, в данном случае, рендеринга изображений. Надеюсь, прочитав это, вы получите лучшее и более полное представление о том, какие варианты для рендеринга могут предложить вам и вашей студии эти технологии. Поможет вам принять более обоснованное решение о том, что лучше всего подходит для ваших проектов.

Первый и наиболее очевидный фактор, который необходимо рассмотреть — это скорость. В то время как CPU имеет ограниченное количество процессорных ядер (в среднем около 24), которые делают его эффективным при последовательных вычислениях и выполнении процессов в порядке очереди, GPU состоят из меньших ядер в большем количестве, чем у среднего компьютерного процессора, это позволяет им выполнять несколько задач одновременно.

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

Часы рендеринга могут превратится в минуты и упростят процесс создания изображений при использовании GPU. Если скорость является основным приоритетом в вашем рабочем процессе, предпочтительным решением будет рендеринг на основе графического процессора (GPU).

set gpu renderer что это. Смотреть фото set gpu renderer что это. Смотреть картинку set gpu renderer что это. Картинка про set gpu renderer что это. Фото set gpu renderer что это

set gpu renderer что это. Смотреть фото set gpu renderer что это. Смотреть картинку set gpu renderer что это. Картинка про set gpu renderer что это. Фото set gpu renderer что это

CPU vs GPU — Качество и точность графики

Рендеринг — это трудоемкий процесс, но с качеством нельзя торопиться. Хотя для завершения рендеринга изображения могут потребоваться часы (возможно, даже дни), традиционный рендеринг на базе процессора с большей вероятностью обеспечит более высокое качество изображения и более четкое, меньше шума.

У графического процессора (GPU) намного больше ядер, чем у CPU, но в целом каждое ядро работает медленнее, чем ядро процессора. Когда несколько процессоров CPU связаны между собой и используются например, в среде рендеринга, как на ферме. Они потенциально могут дать более изысканный конечный результат, чем рендеринг на основе графического процессора. В фильмах это обычный стандарт для создания высококачественных кадров и изображений, поскольку для рендеринга нет жестких ограничений во времени.

С другой стороны, с ростом доступной виртуальной реальности игры также становятся все более захватывающими, а при максимальных настройках приходит высококачественный рендеринг изображений и обработка в реальном времени, которые могут проверить вашу рабочую станцию на прочность. Проще говоря, современные игры и VFX теперь могут быть слишком нагружающими базовый CPU.

Если вы готовы не торопиться и не ограничены сроками для получения максимально лучшего изображения, тогда рендеринг на базе CPU может быть тем, что вы ищете.

CPU vs GPU — Стоимость

По мере того, как оборудование становится более эффективным, его цена также становится важным фактором.

В дополнение к скорости, мощность одного графического процессора может быть эквивалентна как минимум пятидесяти процессорам. Это означает, что мощность одной рабочей станции может выполнять задачи нескольких рабочих станций на базе CPU вместе взятых, что дает 3d визуализаторам и студиям свободу создавать, проектировать и разрабатывать изображения с высоким разрешением. Кроме того, GPU предлагают значительное снижение затрат на оборудование и устраняют необходимость в нескольких ПК или серверах для выполнения работы профессионального качества. Теперь можно выполнять все за минуты, имея одну небольшую станцию с видеокартами.

Без необходимости в дорогостоящих фермах рендеринга CPU, 3d художники могут позволить себе и полагаться на свои собственные компактные рабочие станции с графическими процессорами и получить работу студийного качества за невысокую цену.

CPU vs GPU — Визуализация в реальном времени

При определенных рабочих процессах, в частности, VFX, графическом дизайне и анимации, требуется много времени для настройки сцены и управления освещением, что обычно происходит в окне (вьюпорте) просмотра программного обеспечения. GPU может управлять производительностью вьюпорта в программном обеспечении вашей студии, позволяя в реальном времени просматривать и манипулировать вашими 3d моделями, источниками света и проекциями в трех измерениях. Некоторое программное обеспечение для рендеринга, предназначенное только для графического процессора, может даже позволить вам полностью работать в окне просмотра с включенным Real Time рендерингом, увеличивая результат и минимизируя возможные ошибки, которые могут возникнуть при рендеринге в другой программе.

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

Делаем выбор между рендерингом на CPU и GPU

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

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

Источник

7 проблем GPU рендеринга

set gpu renderer что это. Смотреть фото set gpu renderer что это. Смотреть картинку set gpu renderer что это. Картинка про set gpu renderer что это. Фото set gpu renderer что этоGPU рендеринг в Octane, Redshift и других рендерерах, использующих ресурсы видеокарты, а не процессора, поначалу вызывает настоящий восторг. Время рендера по сравнению, например, с V-ray уменьшилось в разы, можно в реальном времени оценить результат изменений в сцене, можно быстро посмотреть как все будет выглядить на финальных рендерах и многое другое будет говорить, казалось бы, о несомненном доминировании рендера на видеокарте.

Однако не все так просто! Давайте оставим за рамками вопросы подходит ли GPU рендер под требования производства отдельных видов графики, отсутствие полноценного продакшен GPU рендера и все такое. Представим, что у вас небольшая банда из 3 визуализаторов, вы делаете преимущественно рекламные ролики и вот вы перешли на GPU рендеринг. Давайте посмотрим на 7 проблем, которые вас подстерегают:

Большинство специализированных GPU решений предполагают, что добавление видеокарт дешевле покупки полного компьютера, но только при покупке специальных серверных шкафов и систем для работы большого количества видеокарт. Сами такие решения недешевы и требуют определенных навыков. Но представим, что мы пошли по пути покупки стандартных компьютеров и установки в них 2-3-4 видеокарт. Сравните стоимость в дальнейшем апгрейда процессора и апгрейда этих 2-3-4 GPU.

2. Маленькое влияние крутых видеокарт на всю систему

В отличие от апгрейда CPU, который окажет влияние на работу всех приложений, видеокарты окажут влияние только на сокращение времени рендера. Их присутствие никак не повлияет на работу ОС и любых 3d приложений для работы с графикой. За исключением, разве что, игр. Но вы же не играете на своем рабочем компьютере, правда? )

Проще говоря, когда вы тратите деньги на GPU в целях работы, это дает вам весьма узкие и специфичные преимущества.

3. Постоянный шум и тепловыделение

Охлаждение практически любой видеокарты гораздо шумнее работы охлаждения CPU. Еще важнее, что постоянная работа 2-3 видеокарт быстро создает в помещении невыносимую температуру.

4. Вопросы масштабирования

Если у вас несколько GPU машин, рано или поздно встает вопрос покупки дополнительных лицензий и возможны проблемы совместимости видеокарт различных производителей и разных моделей. По мере обновления парка столкновение поколений видеокарт неизбежно. А вы же помните что, если в одной системе стоит, например, видеокарта с 8гб памяти и 12гб, то память будет ограничена меньшим значением.

5. Капризы видеокарт и драйверов

Обычное обновление драйвера может обрушить все. Видеокарты в любой системе — основной источник зависаний и сбоев. Любая проблема с обновлением драйверов, их совместимостью, багами и прочими прелестями однозначно ведет к тому, что и в рендере будут проблемы! Нужно ли говорить, что при рендере на CPU этих проблем нет.

6. Ограниченная память

В настоящее время в GTX 1080Ti всего 12 Гб памяти, которые не увеличить вставив планку памяти как в обычных компьютерах. И она не суммируется при установке нескольких карт. Если, например, установить таких 3 карты, то под сцены будет доступно так же 12 Гб. При превышении доступного объема памяти на рендере, все просто крашится. Вариантов как на CPU с использованием файла подкачки, который хоть и замедляет рендер, но все же делает его возможным — нет.

7. Ограниченный круг ПО

Рендер на GPU поддерживает ограниченное количество графических приложений и рендеров, что накладывает свои ограничения.

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

Источник

Оптимизация рендера под Mobile, часть 2. Основные семейства современных мобильных GPU

Приветствую, дорогие любители и профессионалы, программисты графики! Приступаем ко второй части нашего цикла статей про оптимизацию рендера под Mobile. В этой части мы будем рассматривать основные семейства GPU, представленные у игроков на Mobile.

set gpu renderer что это. Смотреть фото set gpu renderer что это. Смотреть картинку set gpu renderer что это. Картинка про set gpu renderer что это. Фото set gpu renderer что это

Унифицированные или специализированные шейдерные ядра

В эпоху ранних мобильных видеокарт, до распространения комплексных эффектов, существовала точка зрения, что для фрагментных шейдеров достаточно поддержки вычислений на пониженной точности. Ведь в типичном режиме дисплея применяется 8, а то и меньше бит на каждый канал цвета. Такая точка зрения привела к использованию специализированных шейдерных ядер. Для вершин использовались ядра, оптимизированные для матричных преобразований на повышенной точности FP24/FP32(highp). Для пикселей — ядра, более эффективно работающие с пониженной точностью FP16 (mediump). При этом highp на них не поддерживался. На первый взгляд, такая специализация позволяет добится более рационального распределения транзисторов на чипе. Однако, на практике это приводит к трудностям при разработке комплексных эффектов, а также при использовании текстур большого разрешения. Кроме того, специализация ядер может приводить к vertex/fragment bottleneck. Таким термином называют ситуацию, когда из-за несимметричной нагрузки на вершинные и пиксельные ядра часть ядер «простаивала».

set gpu renderer что это. Смотреть фото set gpu renderer что это. Смотреть картинку set gpu renderer что это. Картинка про set gpu renderer что это. Фото set gpu renderer что это

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

set gpu renderer что это. Смотреть фото set gpu renderer что это. Смотреть картинку set gpu renderer что это. Картинка про set gpu renderer что это. Фото set gpu renderer что это

Векторный (SIMD) или скалярный набор инструкций

В духе описанного выше стремления экономить на транзисторах, специализируя ядра, происходил и дизайн набора шейдерных инструкций. Большинство типичных преобразований для трехмерной графики оперируют 4-х компонентными векторами. Поэтому ранние GPU работали именно с такими операндами. Если же в коде шейдера содержались разнородные скалярные операции, которые не удавалось упаковать в векторные операции оптимизатором, часть вычислительных мощностей не задействовалась. Это явление можно проиллюстрировать так:

set gpu renderer что это. Смотреть фото set gpu renderer что это. Смотреть картинку set gpu renderer что это. Картинка про set gpu renderer что это. Фото set gpu renderer что это

Имеется шейдер, осуществляющий распространенную операцию Multiply Add: умножить 2 операнда, а затем добавить третий. При компиляции на условной векторной архитектуре (Vector ISA = Vector Instruction Set Architecture) мы получаем одну векторную инструкцию vMADD, выполняющуюся 1 такт. На условной скалярной архитектуре мы получаем 4 скалярные инструкции, которые благодаря усовершенствованному конвейеру также выполняются за 1 такт. Теперь рассмотрим усложненный шейдер, выполняющий 2 операции, но над 2-х компонентными операндами.

set gpu renderer что это. Смотреть фото set gpu renderer что это. Смотреть картинку set gpu renderer что это. Картинка про set gpu renderer что это. Фото set gpu renderer что это

В случае векторной архитектуры получаем уже 2 инструкции, требующие 2 такта на выполнение. При этом над компонентами .zw действия не производятся, и вычислительные мощности простаивают. В случае скалярной архитектуры эти же операции можно упаковать в 4 скалярных sMADD, выполняющихся за тот же 1 такт. Таким образом на скалярной архитектуре за счет усовершенствования конвейера достигается большая плотность вычислений. Тем не менее, как будет показано ниже, векторная ISA по-прежнему актуальна. А значит, есть смысл применять техники векторизации шейдерного кода. Они позволяют добиться повышенной производительности на видеокартах с векторными ISA. В то же время, как правило, это не вредит быстродействию на более современных скалярных ISA.

Опираясь на приведенные характеристики, рассмотрим распространенные в наше время семейства мобильных GPU. Начнем с наиболее часто встречающегося семейства. Многие знают, что речь идет о видеокартах Mali от британской компании ARM. Непосредственно производством чипов ARM не занимается, предлагая вместо этого интеллектуальную собственность. Как и другие мобильные видеокарты, Mali является составной частью System on Chip(SoC), т.е. работает с общей для CPU и GPU памятью и шиной.

Mali Utgard

В 2008 году на свет появились первые представители архитектуры Mali Utgard, актуальной вплоть до сегодняшнего дня. Эти видеокарты именуются по схеме Mali-4xx MPn, где xx — номер модельного ряда, а n — количество фрагментных ядер. В Mali Utgard шейдерные ядра специализированные, и во всех моделях устанавливалось только 1 вершинное ядро.

Другие особенности архитектуры Mali Utgard:

set gpu renderer что это. Смотреть фото set gpu renderer что это. Смотреть картинку set gpu renderer что это. Картинка про set gpu renderer что это. Фото set gpu renderer что это

Если имеется готовность отказаться от этой аудитории, достаточно установить требование поддержки OpenGL ES 3.0 в AndroidManifest.xml:

Кроме Mali Utgard, распространенных мобильных GPU без поддержки OpenGL ES 3.0 на данный момент нету.

Отдельного внимания заслуживает использование текстур большого разрешения на Mali Utgard. Десять бит мантиссы при точности mediump не хватает для качественного текстурирования с разрешением текстур более 1024 на одну из сторон. Однако, несмотря на поддержку только mediump точности вычислений во фрагментных ядрах Mali Utgard, можно получить fp24 точность текстурных координат при использовании varying напрямую.

В качестве бонуса на некоторых архитектурах такой подход позволяет осуществлять prefetch текстурного содержимого до выполнения fragment shader, что минимизирует stalls при ожидании результатов текстурных выборок.

Mali Midgard

На смену Mali Utgard пришла архитектура Mali Midgard. Существует несколько поколений этой архитектуры с названиями вида Mali-6xx, Mali-7xx и Mali-8xx. Несмотря на 8-летний возраст, Mali Midgard можно назвать современной архитектурой, обеспечивающей поддержку большинства новых фич:

Еще одной особенностью Mali Midgard является технология Forward Pixel Kill. Расчет каждого пикселя производится в отдельном потоке фрагментного ядра. Если во время выполнения потока становится известно, что результирующий пиксель будет перекрыт непрозрачным пикселем другого примитива, поток завершается преждевременно и освободившиеся ресурсы используются для других вычислений.

Mali Bifrost

Следующая за Midgard архитектура Bifrost выделяется переходом к скалярной ISA. По сравнению с предыдущей архитектурой увеличено максимальное количество ядер (с 16 до 32), а также поддерживается улучшенный интерфейс с CPU, позволяющий осуществлять когерентный доступ к общей памяти: изменения содержимого памяти CPU/GPU сразу становятся «видны» друг другу несмотря на кэши, что позволяет упростить синхронизацию.

Из неофициального

Предпринято немало попыток обратного инжиниринга видеокарт Mali с целью создания Open Source драйверов под Linux. Труды самоотверженных ребят, пытающихся это осуществить, позволяют взглянуть на недокументированные особенности видеокарт Mali. Так, в проекте PanFrost есть disassembler для Mali Midgard/Bifrost, при помощи которого можно познакомится с набором шейдерных инструкций (открытой официальной информации на эту тему нет).

set gpu renderer что это. Смотреть фото set gpu renderer что это. Смотреть картинку set gpu renderer что это. Картинка про set gpu renderer что это. Фото set gpu renderer что это

Adreno

Вторым по распространенности семейством мобильных GPU является Adreno. Эта видеокарта устанавливается на SoC, известный под брендом Snapdragon, от американской компании Qualcomm. Snapdragon устанавливается в топовых смартфонах современности от Samsung, Sony и др.

Актуальными видеокартами Adreno являются семейства cерий 3xx — 6xx. Все эти серии объединяют следующие особенности:

Adreno Tile Based Rendering

На видеокарты Adreno установлена «традиционная» GPU память, называемая GMEM. Применяются объемы от 128kb до 1536kb. Это позволяет использовать больший размер тайлов по сравнению с архитектурами других разработчиков мобильных GPU. На Adreno размер тайлов динамический и зависит от используемого формата цвета, буфера глубины и трафарета. При работе в режиме Immediate Mode рендер происходит в системную память.Существует GL ES расширение, позволяющее указать предпочтительный режим: QCOM_binning_control. Однако, последние рекомендации от Qualcomm предлагают полностью полагаться на драйвера GPU, которые сами определяют наиболее предпочтительный режим для сформированного приложением командного буфера.

При работе в режиме TBR Adreno делает 2 вершинных прохода:

Freedreno

set gpu renderer что это. Смотреть фото set gpu renderer что это. Смотреть картинку set gpu renderer что это. Картинка про set gpu renderer что это. Фото set gpu renderer что этоВ отличие от ARM и Imagination Technologies, Qualcomm неохотно делится подробностями внутреннего устройства своих GPU. Однако, благодаря усилиям «обратного инженера» Роба Кларка, многое можно узнать из проекта Freedreno, open source драйвера Adreno для Linux.

Rob Clark, автор Freedreno

PowerVR от Imagination Technologies

Imagination Technologies — британская fabless компания, знаменитая разработкой GPU для продукции Apple. Эту роль компания выполняла вплоть до появления iPhone 8/X, в которых используются внутренние разработки Apple. Хотя по оставшимся без изменений рекомендациям по оптимизациям для этих чипов, а также по наличию патентных исков к Apple от Imagination можно предполагать, что Apple продолжила развивать архитектуру PowerVR — оригинальную разработку от Imagination. В начале 2020 года Apple вернулась к практике лицензирования у Imagination Technologies. Кроме устройств с iOS/iPadOS, видеокарты PowerVR устанавливаются в большое количество смартфонов и планшетов на базе Android.

set gpu renderer что это. Смотреть фото set gpu renderer что это. Смотреть картинку set gpu renderer что это. Картинка про set gpu renderer что это. Фото set gpu renderer что это

Рассмотрим семейства видеокарт PowerVR, которые до сих пор можно встретить у пользователей.

PowerVR SGX

Первые видеокарты PowerVR SGX появились в далеком 2009-м году. Существует несколько поколений этой архитектуры: Series5, Series5XT и Series5XE. Apple использовала эти GPU вплоть до iPAD 4/iPhone 5/iPOD Touch 5. Можно привести такие особенности SGX:

Lowp точность

PowerVR SGX — единственные актуальные мобильные GPU с аппаратной поддержкой
lowp. Более новые модели PowerVR, а также все современные GPU других вендоров фактически используют точность mediump. Использование
lowp на PowerVR SXG позволяет добиться более высокой плотности вычислений (больше операций за такт). При этом операция swizzle (перестановка компонент вектора) для lowp, в отличие от других точностей, не является бесплатной. Эта особенность, а также узкий диапазон значений, который предоставляет lowp ([-2,2]) ограничивает сферу ее применения. При этом неудачно поставленный lowp, приводящий к артефактам на семействе SGX, не будет замечен на всех остальных видеокартах, где фактически будет использоваться точность mediump. По этой причине стоит рассмотреть отказ от использования lowp в шейдерах.

Зависимые текстурные выборки (dependent texture reads)

Как известно, операции сэмплирования текстур являются наиболее медленными из-за необходимости ожидания результатов чтения памяти. В случае мобильных SoС речь идет об общей системной памяти с CPU. Для уменьшения количества обращений к медленной памяти используются текстурные кеши. Чтобы не было простоя в начале растеризации с использованием текстуры, есть смысл закешировать используемые участки заранее. Если фрагментный шейдер использует текстурную координату, передаваемую из вершинного шейдера без изменений, то необходимый для кэширования участок текстуры можно определить до выполнения фрагментного шейдера. Если же фрагментный шейдер меняет текстурную координату либо вычисляет ее, используя данные из другой текстуры, то сделать это не всегда возможно. В результате выполнение фрагментного шейдера может замедлиться. Видеокарты PowerVR SGX особенно «болезненно» реагируют на такой сценарий. При этом даже использование перестановки компонент текстурной координаты (swizzle) приводит к dependent texture read. Приведем пример shader program без dependent texture read.

vertex program

fragment program

fragment program

PowerVR Rogue

Дальнейшее развитие видеокарты PowerVR получили в архитектуре Rogue.Существует несколько поколений этой архитектуры: от Series6 до Series9. У всех PowerVR Rogue есть такие особенности:

PowerVR TBDR

Как и во всех распространенных мобильных GPU, в PowerVR используется тайловый конвейер. Но в отличие от конкурентов, Imagination пошла дальше и реализовала отложенную растеризацию примитивов, позволяющую пропускать шейдинг невидимых пикселей независимо от порядка отрисовки. Такой подход получил название Tile Based Deferred Rendering,а процесс устранения невидимых пикселей — Hidden Surface Removal (HSR).

set gpu renderer что это. Смотреть фото set gpu renderer что это. Смотреть картинку set gpu renderer что это. Картинка про set gpu renderer что это. Фото set gpu renderer что это

Hidden Surface Removal

Рекомендуется рисовать непрозрачную геометрию до прозрачной и не использовать Z Prepass, который в случае видеокарт PowerVR в большинстве сценариев приведет к лишней работе. Однако несколько подряд идущих прозрачных пикселей, перекрывающих друг друга, полностью шейдятся для получения корректного цвета с учетом смешивания. Последний же прозрачный пиксель может быть отброшен, если за ним следует непрозрачный пиксель.

Открытость Imagination Technologies

Создатели PowerVR предоставили в открытый доступ больше документации по сравнению с другими разработчиками GPU. Детально описана архитектура графического конвейера, а также набор инструкций для архитектуры Rogue. Существует удобный инструмент PVRShaderEditor, позволяющий на лету получать профилировочную информацию по шейдеру, а также его дизассемблерный листинг для Rogue.

set gpu renderer что это. Смотреть фото set gpu renderer что это. Смотреть картинку set gpu renderer что это. Картинка про set gpu renderer что это. Фото set gpu renderer что это

Несмотря на ограниченное присутствие видеокарт PowerVR в среде устройств на базе Android, есть смысл изучать их архитектуры для грамотного программирования графики под iOS.

Immediate mode mobile GPUs

Мы рассмотрели наиболее распространенные семейства мобильных видеокарт. Во всех этих семействах применялась тайловая архитектура рендера. Однако существуют мобильные видеокарты, в которых используется и традиционный immediate mode подход. Приведем некоторые из них:

Распределение различных семейств мобильных GPU у наших игроков

Приведем статистику по мобильным GPU, собранную у наших игроков на конец 2019 года:

set gpu renderer что это. Смотреть фото set gpu renderer что это. Смотреть картинку set gpu renderer что это. Картинка про set gpu renderer что это. Фото set gpu renderer что это

Ниже раскроем сегмент «Others»

set gpu renderer что это. Смотреть фото set gpu renderer что это. Смотреть картинку set gpu renderer что это. Картинка про set gpu renderer что это. Фото set gpu renderer что это

Исходя из этих данных, посмотрим на распределение GPU с точки зрения их основных особенностей.

set gpu renderer что это. Смотреть фото set gpu renderer что это. Смотреть картинку set gpu renderer что это. Картинка про set gpu renderer что это. Фото set gpu renderer что это

Векторные ALU (arithmetic logic unit) устаревают и заменяются скалярными. На сегодня основная масса мобильных GPU с векторным набором инструкций — это Mali Midgard, который можно считать средним по производительности. Т.к. векторизация, как правило, не замедляет выполнение на скалярных ALU, стоит рассматривать векторизацию как актуальный прием оптимизации шейдеров под mobile.

Специализированные шейдерные ядра устарели и заменяются унифицированными. Vertex Bottleneck на скелетном меше более не страшен. Специализированные ядра используются только на семействе Mali-4xx (Utgard). Напомним, что эти GPU поддерживают только OpenGL ES 2.0. У нашей аудитории их около 3.5%.

И наконец, подавляющее количество мобильных GPU используют тайловый подход. Immediate Mode стал маргинальным и быстро вытесняется вместе с видеокартами, его применяющими. Доля immediate mode GPUs у наших игроков составляет около 0.7%.

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *