Из Википедии, бесплатной энциклопедии
Перейти к навигации Перейти к поиску

Мозаичный рендеринг - это процесс разделения изображения компьютерной графики на регулярную сетку в оптическом пространстве и рендеринг каждой части сетки или тайла отдельно. Преимущество этой конструкции состоит в том, что объем памяти и пропускная способность уменьшены по сравнению с системами рендеринга в немедленном режиме, которые отрисовывают весь кадр сразу. Это сделало системы рендеринга плитки особенно распространенными для использования в портативных устройствах с низким энергопотреблением . Тайловый рендеринг иногда называют архитектурой «сортировки по середине», потому что он выполняет сортировку геометрии в середине графического конвейера, а не ближе к концу. [1]

Основная концепция [ править ]

Создание трехмерного изображения для отображения состоит из серии шагов. Сначала в память загружаются отображаемые объекты из отдельных моделей . Затем система применяет математические функции для преобразования моделей в общую систему координат, мировоззрение . С этой точки зрения создается серия многоугольников (обычно треугольников), которые приблизительно соответствуют исходным моделям, видимым с определенной точки обзора, то есть камеры . Затем система композитинга создает изображение путем рендеринга треугольников и применения текстур снаружи. Текстуры - это небольшие изображения, которые наносятся на треугольники для придания реализма. Полученное изображение затем комбинируется с различными спецэффектами и перемещается в буфер кадра., которое затем сканирует видеооборудование для получения отображаемого изображения. Этот базовый концептуальный макет известен как конвейер отображения .

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

Модульные рендереры решают эту проблему, разбивая изображение на разделы, известные как тайлы, и визуализируя каждый по отдельности. Это уменьшает объем памяти, необходимый на промежуточных этапах, и объем данных, перемещаемых в любой момент времени. Для этого система сортирует треугольники, составляющие геометрию, по местоположению, что позволяет быстро найти, какие треугольники перекрывают границы плитки. Затем он загружает только эти треугольники в конвейер рендеринга, выполняет различные операции рендеринга в графическом процессоре и отправляет результат в буфер кадра.. Могут использоваться очень маленькие плитки, 16 × 16 и 32 × 32 пикселя являются популярными размерами плиток, что также снижает объем памяти и пропускную способность, необходимые на внутренних этапах. А поскольку каждая плитка независима, она, естественно, поддается простому распараллеливанию.

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

У плиточного подхода есть два основных недостатка. Во-первых, некоторые треугольники могут быть нарисованы несколько раз, если они перекрывают несколько плиток. Это означает, что общее время рендеринга будет больше, чем в системе рендеринга в немедленном режиме. Также возможны проблемы, когда плитки нужно сшить вместе, чтобы получить законченное изображение, но эта проблема была решена давно [ необходима цитата ] . Сложнее решить то, что некоторые методы изображения применяются к кадру в целом, и их трудно реализовать в мозаичной визуализации, где идея состоит в том, чтобы не работать со всем кадром. Эти компромиссы хорошо известны и имеют незначительные последствия для систем, в которых преимущества полезны; Системы плиточного рендеринга широко используются в портативных вычислительных устройствах.

Не следует путать мозаичный рендеринг с мозаичными / нелинейными схемами адресации буфера кадра, которые делают соседние пиксели смежными в памяти. [3] Эти схемы адресации используются множеством архитектур, а не только мозаичными модулями визуализации.

Ранние работы [ править ]

Большая часть ранней работы над мозаичным рендерингом была сделана в рамках архитектуры Pixel Planes 5 (1989). [4] [5]

Проект Pixel Planes 5 подтвердил плиточный подход и изобрел множество техник, которые теперь считаются стандартными для плиточных рендереров. Эта работа наиболее часто цитируется в других публикациях в данной области.

Тайловый подход также был известен в начале истории программного рендеринга. Реализации рендеринга Reyes часто делят изображение на «мозаичные ведра».

Коммерческие продукты - настольные и консольные [ править ]

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

Основные примеры этого:

  • Архитектура рендеринга PowerVR (1996 г.): Растеризатор состоял из плитки размером 32 × 32, в которую полигоны были растеризованы по всему изображению параллельно по нескольким пикселям . В ранних версиях ПК мозаика выполнялась в драйвере дисплея, работающем на ЦП . В приложении консоли Dreamcast тайлинг выполнялся с помощью аппаратного обеспечения. Это облегчило отложенный рендеринг - только видимые пиксели были отображены на текстуру , что позволило сэкономить вычисления затенения и пропускную способность текстуры .
  • Microsoft Talisman (1996)
  • Dreamcast (на базе чипсета PowerVR) (1998)
  • Гигапиксельный GP-1 (1999) [6]
  • Intel Larrabee GPU (2009) (отменен)
  • PS Vita (на базе чипсета PowerVR) (2011 г.) [7]
  • Графические процессоры Nvidia на основе архитектуры Maxwell и более поздних архитектур (2014 г.) [8]
  • Графические процессоры AMD на базе архитектуры Vega (GCN5) и более поздних архитектур (2017 г.) [9] [10]
  • Intel Gen11 GPU и более поздние архитектуры (2019) [11] [12] [13]

Примеры не мозаичных архитектур, в которых используются большие буферы на кристалле:

  • Xbox 360 (2005 г.): графический процессор содержит встроенную память eDRAM объемом 10  МБ ; этого недостаточно, чтобы удерживать растр для всего изображения 1280 × 720 с 4- кратным мультисэмпловым сглаживанием , поэтому мозаичное решение накладывается при работе с разрешениями HD и включен 4-кратный MSAA. [14]
  • Xbox One (2013): ГПУ содержит встроенный 32  MiB eSRAM , который может быть использован для хранения всех или части изображения. Это не мозаичная архитектура, но она достаточно гибкая, чтобы разработчики программного обеспечения могли имитировать мозаичный рендеринг. [15] [ неудачная проверка ]

Коммерческие продукты - встроенные [ править ]

Из-за относительно низкой пропускной способности внешней памяти и небольшого объема требуемой встроенной памяти мозаичный рендеринг является популярной технологией для встроенных графических процессоров. Текущие примеры включают:

Рендеринг в немедленном режиме на основе плиток (TBIM):

  • ARM Мали [ какой? ] серии. [16]
  • Qualcomm Adreno (серия 300 и новее также может динамически переключаться в режим немедленного / прямого рендеринга через FlexRender). [17] [18] [19]

Отложенный рендеринг на основе плиток (TBDR):

  • Арм Мали [ какой? ] серии. [20]
  • Imagination Technologies PowerVR серии 5/6/7. [21]
  • Серия Broadcom VideoCore IV . [22]
  • Кремниевые графические процессоры Apple . [23]

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

См. Также [ править ]

  • Тесселяция (компьютерная графика)
  • Атлас текстур
  • Рендеринг строки сканирования
  • Видеоигра на основе плитки

Ссылки [ править ]

  1. ^ Мольнар, Стивен (1994-04-01). «Сортировочная классификация параллельного рендеринга» (PDF) . IEEE . Архивировано (PDF) из оригинала на 2014-09-12 . Проверено 24 августа 2012 .
  2. ^ «PowerVR: мастер-класс по графическим технологиям и оптимизации» (PDF) . Воображаемые технологии . 2012-01-14. Архивировано (PDF) из оригинала на 2013-10-03 . Проверено 11 января 2014 .
  3. ^ Deucher, Алекс (2008-05-16). «Как работают видеокарты» . Фонд X.Org . Архивировано 21 мая 2010 года . Проверено 27 мая 2010 .
  4. ^ Махани, Джим (1998-06-22). «История» . Пиксель-плоскости . Университет Северной Каролины в Чапел-Хилл . Архивировано 29 сентября 2008 года . Проверено 4 августа 2008 .
  5. ^ Фукс, Генри (1989-07-01). «Пиксельные плоскости 5: неоднородная многопроцессорная графическая система, использующая память с улучшенным процессором» . Пиксель-плоскости . ACM . Проверено 24 августа 2012 .
  6. ^ Смит, Тони (1999-10-06). «GigaPixel берет на себя 3dfx, S3, Nvidia с ... плитками» . Гигапиксель . Реестр . Архивировано 03.10.2012 . Проверено 24 августа 2012 .
  7. ^ местур, местур (21.07.2011). «Develop 2011: PS Vita - самое удобное для разработчиков оборудование, которое когда-либо производила Sony» . PS Vita . 3dsforums . Проверено 21 июля 2011 .[ постоянная мертвая ссылка ]
  8. Рианна Кантер, Дэвид (1 августа 2016 г.). «Тайловая растеризация в графических процессорах Nvidia» . Технологии реального мира . Архивировано 4 августа 2016 года . Проверено 1 апреля 2016 года .
  9. ^ «Предварительный просмотр архитектуры AMD Vega GPU: переработанная архитектура памяти» . Перспектива ПК . Проверено 4 января 2020 .
  10. ^ Смит, Райан. «Тизер архитектуры графического процессора AMD Vega: более высокий IPC, тайлинг и многое другое, появится в первом полугодии 2017 года» . www.anandtech.com . Проверено 4 января 2020 .
  11. ^ https://software.intel.com/sites/default/files/managed/db/88/The-Architecture-of-Intel-Processor-Graphics-Gen11_R1new.pdf
  12. ^ https://twitter.com/intelnews/status/1126251762657124358
  13. ^ https://newsroom.intel.com/wp-content/uploads/sites/11/2019/05/10th-Gen-Intel-Core-Product-Brief.pdf
  14. ^ LLC), Тара Мейер (Aquent. "XNA Game Studio 4.0 Refresh" . Msdn.microsoft.com . Архивировано из оригинала 07.01.2015 . Проверено 15.05.2014 .
  15. ^ «Разработчик Xbox One: предстоящие улучшения SDK позволят создать больше игр 1080p» .
  16. ^ "Стратегия рендеринга Мали" . РУКА. Архивировано 4 марта 2016 года . Проверено 27 октября 2018 .
  17. ^ "Обновление графического драйвера freedreno" . lwn.net. Архивировано 5 сентября 2015 года . Проверено 15 сентября 2015 .
  18. ^ «Рост мобильных игр на Android» (PDF) . Qualcomm. п. 5. Архивировано (PDF) из оригинала на 2014-11-09 . Проверено 17 сентября 2015 года .
  19. ^ Simond, Брайан Клуг, Ананд Лал Шимпи, Francois (11 сентября 2011). «Обзор Samsung Galaxy S 2 (международный) - лучшее, новое определение» . www.anandtech.com . Проверено 4 января 2020 .
  20. ^ "Рендеринг на основе плитки" . Arm . Проверено 13 июля 2020 .
  21. ^ «Взгляд на графическую архитектуру PowerVR: рендеринг на основе плиток» . Воображаемые технологии. Архивировано 5 апреля 2015 года . Проверено 15 сентября 2015 .
  22. ^ "VideoCoreIV-AG100" (PDF) . Broadcom. 2013-09-18. Архивировано (PDF) из оригинала на 2015-03-01 . Проверено 10 января 2015 .
  23. ^ «Перенесите свое приложение Metal на Apple Silicon Mac» . developer.apple.com . Проверено 13 июля 2020 .