Плиточный рендеринг
Плиточный рендеринг — это процесс разделения изображения компьютерной графики регулярной сеткой в оптическом пространстве и рендеринг каждого раздела сетки или тайла отдельно. Преимущество этой конструкции заключается в том, что объем памяти и пропускная способность уменьшаются по сравнению с системами рендеринга в немедленном режиме, которые рисуют весь кадр одновременно. Это сделало системы рендеринга тайлов особенно распространенными для использования на портативных устройствах с низким энергопотреблением . Плиточный рендеринг иногда называют архитектурой «сортировки посередине», поскольку она выполняет сортировку геометрии в середине графического конвейера, а не в конце. [1]
Основная концепция [ править ]
Создание 3D-изображения для отображения состоит из ряда шагов. Сначала отображаемые объекты загружаются в память из отдельных моделей . Затем система применяет математические функции для преобразования моделей в общую систему координат — картину мира . На основе этого взгляда на мир создается серия многоугольников (обычно треугольников), которые аппроксимируют исходные модели, если смотреть с определенной точки зрения — камеры . Затем система композитинга создает изображение, визуализируя треугольники и применяя текстуры снаружи. Текстуры — это небольшие изображения, которые наносятся на треугольники для придания реалистичности. Полученное изображение затем комбинируется с различными специальными эффектами и перемещается в буфер кадров , который затем сканируется видеооборудованием для создания отображаемого изображения. Этот базовый концептуальный макет известен как конвейер отображения .
Каждый из этих шагов увеличивает объем памяти, необходимый для хранения полученного изображения. К тому времени, когда изображение достигает конца конвейера, изображения становятся настолько большими, что типичные конструкции видеокарт часто используют специализированную высокоскоростную память и очень быструю компьютерную шину, чтобы обеспечить необходимую полосу пропускания для перемещения изображения в различные подсистемы и из них. компоненты трубопровода. Такая поддержка возможна на выделенных видеокартах, но поскольку бюджет мощности и размера становится все более ограниченным, обеспечение достаточной пропускной способности становится дорогостоящим с точки зрения проектирования.
Плиточные средства рендеринга решают эту проблему, разбивая изображение на части, известные как плитки, и визуализируя каждую из них отдельно. Это уменьшает объем памяти, необходимый на промежуточных этапах, и объем данных, перемещаемых в любой момент времени. Для этого система сортирует треугольники, составляющие геометрию, по расположению, позволяя быстро найти, какие треугольники перекрывают границы тайла. Затем он загружает только эти треугольники в конвейер рендеринга, выполняет различные операции рендеринга в графическом процессоре и отправляет результат в буфер кадра . Можно использовать очень маленькие плитки, популярные размеры плиток — 16 × 16 и 32 × 32 пикселя, что также снижает объем памяти и пропускную способность, необходимые на внутренних этапах. А поскольку каждый тайл независим, он, естественно, поддается простому распараллеливанию.
В типичном мозаичном рендерере геометрия сначала должна быть преобразована в экранное пространство и назначена тайлам экранного пространства. Это требует некоторого хранилища для списков геометрии для каждого тайла. В ранних тайловых системах это выполнял центральный процессор , но все современное оборудование содержит аппаратные средства для ускорения этого этапа. Список геометрии также можно отсортировать спереди назад, что позволяет графическому процессору использовать удаление скрытых поверхностей , чтобы избежать обработки пикселей, которые скрыты за другими, экономя пропускную способность памяти для ненужного поиска текстур. [2]
У плиточного подхода есть два основных недостатка. Во-первых, некоторые треугольники можно нарисовать несколько раз, если они перекрывают несколько плиток. Это означает, что общее время рендеринга будет выше, чем в системе рендеринга в немедленном режиме. Также возможны проблемы, когда плитки приходится сшивать, чтобы получить целостное изображение, но эта проблема уже давно решена. [ нужна ссылка ] . Сложнее решить проблему, связанную с тем, что некоторые методы изображения применяются к кадру в целом, и их трудно реализовать при мозаичном рендеринге, где идея состоит в том, чтобы не работать со всем кадром. Эти компромиссы хорошо известны и имеют незначительные последствия для систем, где преимущества полезны; Системы мозаичного рендеринга широко используются в портативных вычислительных устройствах.
Плиточный рендеринг не следует путать со схемами мозаичной/нелинейной адресации кадрового буфера , которые делают соседние пиксели также соседними в памяти. [3] Эти схемы адресации используются в самых разных архитектурах, а не только в мозаичных средствах рендеринга.
Ранние работы [ править ]
Большая часть ранних работ по мозаичному рендерингу была выполнена в рамках архитектуры Pixel Planes 5 (1989). [4] [5]
Проект Pixel Planes 5 подтвердил правильность тайлового подхода и изобрел множество методов, которые сейчас считаются стандартными для мозаичных рендереров. Эту работу наиболее широко цитируют другие статьи в этой области.
Плиточный подход также был известен в начале истории программного рендеринга. Реализации рендеринга Рейеса часто делят изображение на «корзины плиток».
Коммерческие продукты — настольные компьютеры и консоли [ править ]
На ранних этапах разработки настольных графических процессоров несколько компаний разработали плиточную архитектуру. Со временем они были в значительной степени вытеснены графическими процессорами немедленного режима с быстрыми пользовательскими системами внешней памяти.
Основными примерами этого являются:
- PowerVR Архитектура рендеринга (1996 г.): растеризатор состоял из плитки размером 32×32, в которую полигоны были растрированы по изображению по нескольким пикселям параллельно. В ранних версиях ПК мозаика выполнялась в драйвере дисплея, работающем на ЦП . В приложении консоли Dreamcast тайлинг выполнялся аппаратной частью. Это облегчило отложенный рендеринг только на видимые пиксели — текстурирование накладывалось , что позволило сэкономить на вычислениях затенения и пропускной способности текстуры .
- Oak Technology (1997) Warp 5. Чип Oak является первым на рынке, который сочетает тайлинг с другими высокопроизводительными алгоритмами рендеринга, такими как сглаживание и трилинейные MIP-текстуры, по словам Джона Педди, президента Jon Peddie Associates. [6]
- Microsoft Талисман (1996)
- Dreamcast (на базе чипсета PowerVR) (1998)
- Гигапиксельный ГП-1 (1999) [7]
- Графический процессор Intel Larrabee (2009 г.) (отменен)
- PS Vita (на базе чипсета PowerVR) (2011 г.) [8]
- Графические процессоры Nvidia на основе архитектуры Maxwell и более поздних архитектур (2014 г.) [9]
- Графические процессоры AMD на базе архитектуры Vega (GCN5) и более поздних архитектур (2017 г.) [10] [11]
- Графический процессор Intel Gen11 и более поздние архитектуры (2019 г.) [12] [13] [14]
Примеры не тайловых архитектур, в которых используются большие встроенные буферы:
- Xbox 360 (2005 г.): графический процессор содержит встроенную объемом 10 МБ eDRAM ; этого недостаточно для хранения растра для всего изображения размером 1280×720 с 4-кратным мультисэмпловым сглаживанием , поэтому при работе в разрешениях HD и включенном 4-кратном MSAA накладывается решение для тайлинга. [15]
- Xbox One (2013 г.): графический процессор содержит встроенную объемом 32 МБ eSRAM , которую можно использовать для хранения всего или части изображения. Это не плиточная архитектура, но она достаточно гибкая, чтобы разработчики программного обеспечения могли имитировать мозаичный рендеринг. [16] [ не удалось пройти проверку ]
Коммерческие продукты – встроенные [ править ]
Из-за относительно низкой пропускной способности внешней памяти и небольшого объема требуемой встроенной памяти тайловый рендеринг является популярной технологией для встроенных графических процессоров. Текущие примеры включают в себя:
Немедленный рендеринг на основе плиток (TBIM):
- ARM Мали [ который? ] ряд. [17]
- Qualcomm Adreno (серия 300 и новее также может динамически переключаться в режим немедленного/прямого рендеринга через FlexRender). [18] [19] [20]
Отложенный рендеринг на основе тайлов (TBDR):
- Арм Мали [ который? ] ряд. [21]
- Серия Imagination Technologies PowerVR 5/6/7. [22]
- Серия Broadcom VideoCore IV . [23]
- Кремниевые графические процессоры Apple . [24]
Vivante производит мобильные графические процессоры с тесно связанной памятью с буфером кадров (аналогично описанному выше графическому процессору Xbox 360). Хотя это можно использовать для рендеринга частей экрана, большой размер отображаемых областей означает, что их обычно не описывают как использующие тайловую архитектуру.
См. также [ править ]
- Тесселяция (компьютерная графика)
- Атлас текстур
- Развертка рендеринга
- Видеоигра на основе плитки
- Служба листов веб-карт
Ссылки [ править ]
- ^ Молнар, Стивен (1 апреля 1994 г.). «Сортировочная классификация параллельного рендеринга» (PDF) . ИИЭЭ . Архивировано (PDF) из оригинала 12 сентября 2014 г. Проверено 24 августа 2012 г.
- ^ «PowerVR: мастер-класс по графическим технологиям и оптимизации» (PDF) . Технологии воображения . 14 января 2012 г. Архивировано (PDF) из оригинала 3 октября 2013 г. Проверено 11 января 2014 г.
- ^ Дойчер, Алекс (16 мая 2008 г.). «Как работают видеокарты» . Фонд X.Org . Архивировано из оригинала 21 мая 2010 г. Проверено 27 мая 2010 г.
- ^ Махани, Джим (22 июня 1998 г.). «История» . Пиксель-плоскости . Университет Северной Каролины в Чапел-Хилл . Архивировано из оригинала 29 сентября 2008 г. Проверено 4 августа 2008 г.
- ^ Фукс, Генри (1 июля 1989 г.). «Пиксельные плоскости 5: гетерогенная многопроцессорная графическая система, использующая память, улучшенную процессором» . Материалы 16-й ежегодной конференции по компьютерной графике и интерактивным технологиям - SIGGRAPH '89 . АКМ . стр. 79–88. дои : 10.1145/74333.74341 . ISBN 0201504340 . S2CID 1778124 . Проверено 24 августа 2012 г.
{{cite book}}
:|work=
игнорируется ( помогите ) - ^ Маклеллан, Эндрю (23 июня 1997 г.). «Oak представляет трехмерный чип-ускоритель Warp 5, использующий схему рендеринга Talisman» . № 1063. Новости электронных покупателей.
- ^ Смит, Тони (6 октября 1999 г.). «GigaPixel конкурирует с 3dfx, S3, Nvidia с... плитками» . Гигапиксельный . Регистр . Архивировано из оригинала 3 октября 2012 г. Проверено 24 августа 2012 г.
- ^ Местур, Местур (21 июля 2011 г.). «Develop 2011: PS Vita — самое удобное для разработчиков оборудование, которое когда-либо создавала Sony» . PS Вита . 3dsфорумы . Проверено 21 июля 2011 г. [ постоянная мертвая ссылка ]
- ^ Кантер, Дэвид (1 августа 2016 г.). «Растеризация на основе тайлов в графических процессорах Nvidia» . Реальные мировые технологии . Архивировано из оригинала 4 августа 2016 г. Проверено 1 апреля 2016 г.
- ^ «Предварительный обзор архитектуры графического процессора AMD Vega: обновленная архитектура памяти» . Перспектива ПК . 5 января 2017 года . Проверено 4 января 2020 г.
- ^ Смит, Райан. «Тизер архитектуры графического процессора AMD Vega: более высокий IPC, тайлинг и многое другое, которое появится в первом полугодии 2017 года» . www.anandtech.com . Проверено 4 января 2020 г.
- ^ https://software.intel.com/sites/default/files/managed/db/88/The-Architecture-of-Intel-Processor-Graphics-Gen11_R1new.pdf [ пустой URL PDF ]
- ^ @intelnews (8 мая 2019 г.). «@Gregorymbryant от Intel на сегодняшнем…» ( Твит ) – через Твиттер .
- ^ https://newsroom.intel.com/wp-content/uploads/sites/11/2019/05/10th-Gen-Intel-Core-Product-Brief.pdf . [ пустой URL PDF ]
- ^ LLC), Тара Мейер (Aquent (29 сентября 2011 г.). «XNA Game Studio 4.0 Refresh» . msdn.microsoft.com . Архивировано из оригинала 07 января 2015 г. Проверено 15 мая 2014 г.
- ^ «Разработчик Xbox One: предстоящие улучшения SDK позволят создавать больше игр с разрешением 1080p» . 29 июля 2023 г.
- ^ «Стратегия рендеринга Мали» . РУКА. Архивировано из оригинала 4 марта 2016 г. Проверено 27 октября 2018 г.
- ^ «Обновление графического драйвера freedreno» . lwn.net. Архивировано из оригинала 5 сентября 2015 г. Проверено 15 сентября 2015 г.
- ^ «Рост мобильных игр на Android» (PDF) . Qualcomm. п. 5. Архивировано (PDF) из оригинала 9 ноября 2014 г. Проверено 17 сентября 2015 г.
- ^ Саймонд, Брайан Клуг, Ананд Лал Шимпи, Франсуа (11 сентября 2011 г.). «Обзор Samsung Galaxy S 2 (международный) — лучшее, новое определение» . www.anandtech.com . Проверено 4 января 2020 г.
{{cite web}}
: CS1 maint: несколько имен: список авторов ( ссылка ) - ^ «Плиточный рендеринг» . Рука . Проверено 13 июля 2020 г.
- ^ «Взгляд на графическую архитектуру PowerVR: тайловый рендеринг» . Технологии воображения. Архивировано из оригинала 5 апреля 2015 г. Проверено 15 сентября 2015 г.
- ^ «VideoCoreIV-AG100» (PDF) . Бродком. 18 сентября 2013 г. Архивировано (PDF) из оригинала 1 марта 2015 г. Проверено 10 января 2015 г.
- ^ «Перенесите свое приложение Metal на компьютеры Apple Silicon Mac» . разработчик.apple.com . Проверено 13 июля 2020 г.