Страница 3: Simultaneous Multi Projection

Одна из основных новых функций архитектуры Pascal – Simultaneous Multi Projection (SMP). Первый шаг в данном направлении NVIDIA сделала еще с архитектурой Maxwell в виде Multi-Resolution Shading (MRS). Технология MRS позволяет экономить вычислительную производительность GPU для очков виртуальной реальности, поскольку периферийные области можно выводить с намного меньшим разрешением, чем основные – глаз этого не заметит.

Что такое Multi-Resolution Shading?

Пользователь очков VR видит искаженную картинку с дисплея через систему линз, поэтому картинку имеет смысл оптимизировать в зависимости от дальности видимости и углов обзора. В результате картинка на дисплее получает искажения, похожие на «рыбий глаз», после системы линз пользователь воспринимает такое изображение как совершенно нормальную картинку без искажений. В прошлом GPU и процесс рендеринга под подобную технологию не были оптимизированы, производители добавляли необходимые искажения в виде пост-обработки. Конечно, пост-обработка требует вычислительных затрат, но что еще хуже, она вносит дополнительные задержки, а их для оптимального восприятия VR необходимо минимизировать.

NVIDIA GameWorks VRNVIDIA GameWorks VR

NVIDIA GameWorks VR

NVIDIA использует трюк, позволяющий снизить вычислительные расходы при рендеринге областей с ограниченной видимостью (или невидимых вообще). Изображение разделяется на девять зон. Так называемые зоны Viewports выделены так, чтобы быть как можно ближе к зонам привычной пост-обработки. Самая большая зона Viewport по центру просчитывается почти как в оригинале. Боковые области, а особенно четыре угла, подвергаются сжатию, у них изменяется разрешение в зависимости от желаемого результата.

Все девять зон одновременно рассчитываются на GPU, но отдельно друг от друга. И финальная картинка получается уже адаптированной для очков VR, пост-обработки не требуется. Вырезание невидимых областей, сжатие и оптимизация разрешения областей позволили NVIDIA увеличить производительность пиксельных шейдеров в 1,3-2 раза у архитектуры Maxwell. Поскольку Pascal поддерживает Viewports, технологию Multi-Resolution Shading можно использовать и здесь. Но NVIDIA расширила ее функциональность в архитектуре Pascal, теперь появились новые сценарии, когда имеет смысл использовать Viewports.

До 16 Viewports и Simultaneous Multi Projection

Simultaneous Multi Projection
Simultaneous Multi Projection

Кроме очков VR расчет 3D-сцены с разных углов обзора полезен, например, при использовании нескольких мониторов друг с другом или изогнутых панелей. Системы с несколькими мониторами распространены не так широко, но NVIDIA нацелилась решить проблему при использовании более одного монитора. Расчет 3D-сцены на 2D-пространство мониторов не учитывает углы расположения мониторов. NVIDIA использовала упомянутые Viewports еще с архитектуры Maxwell (там NVIDIA предусмотрела несколько Viewports для реализации Multi-Resolution Shading, как описано выше). Если у Maxwell поддерживаются 9 viewports, в архитектуре Pascal - уже 16 viewports. Технология Simultaneous Multi Projection позволяет выводить на каждый монитор свое изображение. Демонстрация на нескольких мониторах как раз приведена на видеоролике:

Технология интересна не только для конфигураций с несколькими мониторами, но и в приложениях VR. Здесь 16 viewports можно использовать для вычисления двух кадров для 3D-дисплея за один проход (Single Pass Stereo). Кроме того, технология Simultaneous Multi Projection позволяет заранее оптимизировать картинку под оптическую систему VR-оков. Здесь NVIDIA использует так называемую технологию Lens Matched Shading. Каждый кадр разделяется на четыре зоны, которые не планарные, а искривленные, непосредственно под оптику очков, чтобы не вычислять лишние пиксели. Архитектура Pascal поддерживает 16 Viewports, поэтому возможен расчет восьми зон на каждый глаз. В данном случае для поддержки Simultaneous Multi Projection NVIDIA предложит SDK, через который разработчики смогут задействовать технологию. Кроме конфигураций с несколькими мониторами и VR-очками будут поддерживаться и дисплеи с изогнутой панелью. В панели драйверов NVIDIA позволит задавать кривизну дисплея или углы расположения мониторов в соответствующих конфигурациях.

Simultaneous Multi ProjectionSimultaneous Multi Projection

Simultaneous Multi Projection

Simultaneous Multi Projection является частью движка PolyMorph Engine 4.0. В конвейере рендеринга этап SMP выполняется до растеризации и расчета пиксельных шейдеров (Input Assembler —> Vertex/Tessellation/ Geometry Shader —> SMP —> Setup Raster —> Pixel Shader). В результате в приложениях VR видеокарта GeForce GTX 1080 может демонстрировать двукратный прирост производительности по сравнению с GeForce GTX Titan X при трехкратном увеличении эффективности. Сама технология Simultaneous Multi Projection обеспечивает прирост производительности от 50 до 60 процентов.

Simultaneous Multi Projection
Simultaneous Multi Projection

Прирост производительности можно оценить в цифрах. В случае очков Oculus Rift разрешение 4,2 мегапикселя консервативный режим NVIDIA позволяет снизить до 2,8 МП, что дает до 1,5x больше пиксельной пропускной способности. Данные геометрии необходимо рассчитывать только один раз, поэтому Single Pass Stereo дает двукратный прирост соответствующей пропускной способности. Если верить NVIDIA, технология Simultaneous Multi Projection работает чуть более эффективно, чем Multi-Resolution Shading, но MRS нельзя заменить SMP (и наоборот), поскольку технологии ориентированы на разные сферы применения, хотя обе призваны экономить вычислительные ресурсы и повышать производительность.

Технология Simultaneous Multi Projection тоже может использоваться, с одной стороны, для рендеринга картинки для очков VR, с другой стороны она также поддерживает классические мониторы (полезно, например, для стриминга). И наоборот.