Трассировка лучей видеокарты что это

Мнение: трассировка лучей – ещё одна бесполезная технология

Как говаривал бессменный глава Nvidia Дженсен Хуанг: «Покупка видеокарты без трассировки лучей – это просто безумие». Мне кажется, что он и сейчас так говорит, просто всем уже надоело слушать одно и то же. С появлением видеокарты Radeon RX 5700 ХТ никому не придёт в голову шальная мысль взять зелёную видеокарту, которая будет показывать в играх – 10 fps, но дороже и с лучиками. Хотя, находятся ещё такие индивиды, считающие точно так же, как великий Дженсен Хуанг. Давайте об этом поговорим.

реклама

Когда компания Nvidia рекламировала свою невероятно крутую технологию трассировки лучей, мелким шрифтом в одном из отдалённых уголков рекламного поста маркетологи написали, что лучики будут доступны только в 1080р. Мало того, эта информация верна только для дорогих видеокарт, таких как GeForce RTX 2080 и выше. На дешёвых GeForce RTX 2060 играть в лучи можно исключительно на средних настройках графики. Лично мне такая ситуация кажется странной. Мо моему мнению, видеокарты за 500 долларов покупают те, кто может себе позволить дорогой монитор с разрешением 2К или 4К.

И снова приведу в пример себя: в былые времена я часто и много играл, всякий раз я старался взять наиболее дорогую видеокарту и монитор, который мог себе позволить. Что же это получается, я покупаю 2К монитор за 500 долларов, видеокарту с лучами за 700 и не могу всем этим воспользоваться? Мне говорят, что я должен выбрать: или 2К на максималкках, но без лучей, или 1080р на средне-высоких, но с лучами. Выглядит очень странно. Вот представьте себе: я купил булку хлеба, заплатил за неё свои собственные деньги, но продавец мне говорит, что я должен выбрать: или кушать хлеб с колбасой или с сыром. Вместе никак. Как же так, ведь сыр и колбаса созданы друг для друга! Как прекрасно, что продавцы в магазинах не так жестоки, как Nvidia.

реклама

Игроделы добавляют лучи после того, как игра практически готова. Это напоминает то, как снимают фильмы в некогда популярном 3D-формате. Вначале монтировался фильм, а потом его отвозили на пару месяцев к индусам, которые и добавляли в картинке трехмерность, увеличивая параллакс, обманывая наши глаза и мозг. Технология трассировки лучей не готова. Это мейнстрим, который может выстрелить через пару лет. Нужны по-настоящему мощные видеокарты. А главное, нужна заинтересованность игроделов в реализации трассировки лучей. То, что сейчас подают под этой революционной технологией, можно называть как угодно, но только не улучшением картинки. Хотя, если бы я купил видеокарту за 800 долларов только из-за лучей, то, возможно, доказывал бы вам обратное, пытаясь убедить в крутости и инновационности технологии в первую очередь самого себя.

Источник

Какие видеокарты Nvidia и AMD поддерживают трассировку лучей

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

Ввидеокарты Nvidia с функцией трассировки лучей

С момента запуска линейки RTX (Turing) компания Nvidia интегрировала в свою продукцию функцию трассировки лучей. Поэтому существует множество видеокарт, которые поддерживают эту опцию.

Примечание: на некоторых видеокартах Nvidia функция трассировки лучей разблокируется только после установки драйвера Geforce 425.31. Это относится к моделям Titan Xp, Titan X (Pascal), Geforce GTX 1660 Ti, Geforce GTX 1660, Geforce GTX 1080 Ti, Geforce GTX 1080, Geforce GTX 1070 Ti, Geforce GTX 1070 и Geforce GTX 1060 6GB.

Видеокарты AMD с трассировкой лучей

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

Только новейшие видеокарты AMD серии RX 6000 будут поддерживать трассировку лучей. К ним относятся AMD Radeon RX 6800, AMD RADEON RX 6800 XT и AMD RADEON RX 6900 XT. Серия RX 6800 поступила в продажу в ноябре 2020 года, RX 6900 — в декабре 2020 года.

Источник

Что такое трасировка лучей

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

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

Эта информация доступна также в формате видео:

Трассировка лучей в компьютерной 3D-графике используется давно. Однако, раньше высокая сложность расчетов и недостаточное быстродействие видеокарт не позволяли с нужной скоростью рендерить картинку в компьютерных играх. Вместо трассировки использовались более простые и значительно менее требовательные к видеокартам алгоритмы.

Кое-кто пророчествовал начало игрового использования трассировки не ранее 2025 года. Однако, уже в 2018 году в графические чипы карт Nvidia Turing были внедрены специальные аппаратные блоки, включающие так называемые тензорные и RT-ядра. Они оптимизированы под расчеты трассировки и значительно ускоряют их. Новшество получило название Nvidia RTX. Видеокарты с наличием таких аппаратных средств не сложно отличить по аббревиатуре «RTX» в их названии. Это, например:

Nvidia RTX положила начало использованию трассировки лучей в компьютерных играх. Компания Microsoft дополнила DirectX 12 расширением DXR (DirectX Raytracing), а разработчики игровых приложений тут же взяли его на вооружение.

Рендеринг отдельных элементов графики с использованием трассировки появился в играх Metro Exodus, Shadow of the Tomb Raider, Battlefield V, Control. Таких игр пока не много. Но это не на долго. В дальнейшем трассировка лучей в той или иной степени будет использоваться в большинстве компьютерных игр.

В апреле 2019 года Nvidia выпустила специальный драйвер, добавляющий поддержку DirectX Raytracing также и в некоторые видеокарты архитектур Pascal и Turing, не обладающие специальными аппаратными средствами. Для расчетов в них используются универсальные шейдерные блоки, поэтому в список поддерживаемых попали только достаточно быстрые для этого модели. В частности:

В остальных видеокартах поддержки трассировки нет. Nvidia решила не добавлять ее в более старые линейки своих графических ускорителей, включая флагман GTX 980 Ti, который, вероятно, мог бы справиться с задачей не хуже, чем GTX 1060.

О намерении внедрить поддержку real-time трассировки лучей в свои продукты заявили и представители AMD. В картах Radeon появление соответствующих аппаратных средств (аналога Nvidia RTX) ожидается ближе к 2021 году. На программном же уровне поддержка графическими ускорителями AMD трассировки возможна уже сейчас (через Pro Renderer и Radeon Rays). Однако, в игровых приложениях ее пока нет.

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

Например, в игре Metro Exodus при разрешении экрана Full HD с максимальными настройками графики, но без трассировки лучей, GeForce GTX 1080 Ti обеспечивает быстродействие на уровне 77 кадров в секунду. RTX 2060 при аналогичных условиях выдает только 56 кадров в секунду. Преимущество первой видеокарты

Если же в настройках игры включить трассировку лучей, расстановка сил кардинально меняется. GTX 1080 Ti, не имеющая аппаратной поддержки, выдает всего 25-26 кадров в секунду, а RTX 2060, у которой такая поддержка есть, – 40. Здесь уже не абы какое преимущество второй видеокарты (

37%). И это при том, что RTX 2060 является самой «медленной» картой с наличием аппартных средств трассировки.

Сложить более полное представление о влиянии трассировки на игровое быстродействие помогут размещенные ниже графики.

Выводы же напрашиваются следующие:

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

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

Источник

Лучи счастья — просто о трассировке лучей

Анонс игровых видеокарт от NVIDIA на базе архитектуры Turing вызвал немало вопросов, и даже спустя некоторое время после выхода «старших» моделей многие из тех вопросов остаются актуальными. Бюджетные видеокарты этой серии ещё не анонсированы, а цены на RTX 2080 Ti, 2080 и 2070 остаются крайне высокими. При этом большинство игр, которые могли бы наглядно продемонстрировать главную особенность нового поколения видеокарт, ещё не вышли (Atomic Heart), или поддержка в них должна появиться лишь в будущем (Shadow of the Tomb Raider).

В этом материале мы попробуем разобраться, почему такой шум в контексте новых видеокарт вызвала именно поддержка трассировки лучей, а не прочие нововведения — память GDDR6, VirtualLink, NVLink и 8K HEVC.

В чём идея трассировки лучей?

Суть технологии звучит достаточно просто: она отслеживает взаимодействие лучей с поверхностями, на которые эти лучи падают. Соответственно, они могут отражаться, преломляться или проходить насквозь.

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

Но чтобы лучше понять масштаб нововведений, которые могут нас ждать в будущем, проведём небольшой экскурс в историю.

Как родилась технология?

Сама идея трассировки лучей далеко не нова и вполне успешно применялась в области моделирования, а если точнее, в визуализации и рендеринге.

Началось всё с метода «бросания лучей» (ray casting), который был создан для вычисления гамма-лучей, то есть для изучения радиации. Первый вариант для рендеринга был представлен в 1968 году учёным Артуром Аппелем (Arthur Appel). Суть метода заключалась в генерации луча из точки наблюдения (один луч на один пиксель) и поиске самого близкого объекта, который блокирует его дальнейшее распространение. На основе этих данных с помощью алгоритмов компьютерной графики можно было определить затенение данного объекта. Сам термин ray casting появился лишь в 1982 году.

Следующий важный этап начался в 1979-м. Дело в том, что алгоритмы бросания лучей прослеживали путь луча от наблюдателя лишь до столкновения с объектом. Учёный Тёрнер Уиттед (Turner Whitted) продолжил этот процесс. В его алгоритме луч после попадания на поверхность мог создать три новых типа лучей: отражение, преломление и тень. Соответственно, можно понять, что трассировка лучей — это более сложная серия задач, которая не только использует ray casting для определения точки пересечения луча и объекта, но и вычисляет вторичные и третичные лучи, которые могут быть применены для сбора данных. Те, в свою очередь, нужны для расчёта отражённого или преломлённого света.

В начале 80-х в Осакском университете группа профессоров и студентов создала LINKS-1 — компьютер, работающий на 514 микропроцессорах. Устройство было предназначено для создания трёхмерной графики с использованием трассировки лучей. В 1985 году в павильоне Fujitsu на международной выставке в японском городе Цукуба был представлен первый видеоролик для планетарных залов, полностью смоделированный на LINKS-1.

В 1984 году была продемонстрирована BRL-CAD — созданная Баллистической исследовательской лабораторией США система моделирования. Спустя три года для неё был представлен трассировщик (raytracer), особенностью которого была хорошая оптимизация. Общая производительность при рендере доходила до нескольких кадров в секунду, пусть и достигнута она была с помощью нескольких машин с разделяемой памятью. Сама BRL-CAD сегодня относится к программам с открытым исходным кодом и иногда обновляется.

Где трассировка оказалась полезной?

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

Но Walkie-Talkie — не единственное сооружение, доставившее проблемы из-за солнечных лучей. К таким зданиям относятся концертный зал Walt Disney в Лос-Анджелесе и отель Vdara в Лас-Вегасе. Подобный эффект получил название «лучи смерти» (death rays). В 2015 году NVIDIA приводила эти здания как примеры ошибки, которой можно было бы избежать с помощью её новой технологии физически корректного рендеринга.

Выходит, что трассировка уже применяется в 3D-моделировании, но за это время и «железо» стало мощнее, и задачи сложнее. О сложностях и поговорим.

Проблемы трассировки лучей

Главной проблемой трассировки лучей является производительность. Для вычислительной техники нет ничего сложного в том, чтобы просчитать поведение одного луча. Но даже если взять сцену, в которой присутствует один источник света и малое количество предметов, в пределах 10, то лучей будет огромное количество. После каждой смены положения камеры необходимо заново просчитывать все эти лучи.

Когда речь идёт о сложном моделировании важных для науки вещей или о создании фильмов (где используется pathtracing, но и каждое движение известно заранее), там есть время на то, чтобы компьютеры долгое время визуализировали каждую секунду.

Роль Unity, Microsoft и NVIDIA в том, что мы видим сегодня

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

В 2008 году Intel показала демонстрационные материалы исследовательского проекта Quake Wars: Ray Traced, основанного на контенте Enemy Territory: Quake Wars. Производительность была на уровне 14—29 кадров в секунду при использовании нескольких четырёхъядерных процессоров и 20—35 кадров с шестиядерными процессорами. Видеокарта была также от Intel, на архитектуре Larrabee, конечные продукты которой так и не поступили в продажу.

В 2009 году NVIDIA анонсировала Optix — бесплатный пакет программного обеспечения для работы с трассировкой на видеокартах. Совместимыми программами стали Adobe After Effects, Autodesk Maya, 3ds Max и другие.

Новейшая история трассировки лучей в играх началась с Brigade, игрового движка, который смог продемонстрировать достойные результаты трассировки в реальном времени. Само собой, они были не такими красивыми, как картинка в Unreal Engine 4 со статическим освещением, но в Brigade можно было менять количество и характеристики источников света и результат был виден сразу. А в UE4 для полноценного итога требовался рендер с помощью актуальной версии V-Ray.

Само собой, такие результаты не могли остаться незамеченными, и Brigade стала частью графического движка OctaneRender, который вошёл в известный вам Unity. В свою очередь, Unreal Engine принял в себя наработки GPUOpen — пакета программного обеспечения, предлагающего расширенные визуальные эффекты.

Microsoft сделала дополнение к API DirectX 12 в виде DXR (DirectX Raytracing). Позже AMD (создатель GPUOpen) ввела поддержку рейтрейсинга в свой API Vulkan.

А уже в этом году NVIDIA анонсировала и выпустила игровые видеокарты на архитектуре Turing, подразумевающей наличие RT-ядер для работы именно над трассировкой лучей и тензорных ядер (Tensor cores). Последний тип ядер достался в наследство от предыдущей архитектуры — Volta, на базе которой существует всего две разновидности продуктов (Titan V и Quadro GV100), и стоят они очень дорого. Тензорные ядра предназначены для более быстрого решения задач глубинного обучения.

О производительности

Как мы помним, при любом движении камеры все лучи в сцене приходится просчитывать заново. Если же в один момент просто замереть, просчёт, скажем так, этого кадра не остановится и будет бесконечно уточнять то, что мы и так уже видим после пары минут простоя. Даже на более слабых в сравнении с RTX картах спустя несколько секунд можно понять, как будет выглядеть итоговая картинка, только на ней будет присутствовать большое количество «шумов».

И здесь мы вспоминаем про Optix, в котором с версии 5.0 используется AI-Accelerated Denoiser. Это технология, призванная с помощью натренированных нейронных сетей рисовать картинку, похожую на то, что создавалось с помощью трассировки. В плане затрат мощности такой подход намного проще, но итоговый результат будет хуже, чем полученный с помощью «честной» трассировки.

Что имеем сегодня?

В играх, где нет трассировки лучей, производительность серии Turing дала стандартный прирост производительности для смены поколения в пределах 20% (хоть и не без неожиданностей).

Из игр с трассировкой лучей имеем только Battlefield V. Стоит заметить, что при включении настроек RTX производительность сильно падает. В плане картинки лучше самостоятельно сравнивать то, что получилось, с тем, что показывали на презентации.

В профессиональном софте, как и ожидалось, изменения дали результат в лучшую сторону. Но при выборе помните, что прирост одинаковый не во всех программах: где-то он составляет до 20 % (может и выше), а где-то — десятую долю процента. Например, в OctaneRender сцена Spaceships обработалась на RTX 2080 быстрее на 12 % в сравнении с GTX 1080 Ti.

Больше примеров

В Atomic Heart кроме более мягкой тени можно заметить, что в варианте без RTX справа от робота в стену будто кто-то бросил пакет кефира. Cо включёнными настройками RTX свет от источников в той области более-менее ровный.

В «Метро: Исход» трассировка лучей смогла повлиять даже на атмосферу. Лично мне новый облик кажется слишком жизнерадостным, но это заметно только при сравнении «до» и «после».

Определённо, трассировка лучей в реальном времени может стать важной ступенью на пути игр к фотореалистичной картинке. Но мы надеемся на скорый приход реалистичных теней, отражений в зеркалах и возможности разглядеть противника за спиной, уставившись на отполированную поверхность.

Текущие результаты слишком ранние, чтобы полноценно говорить о том, стоило ли отложить внедрение трассировки в реальном времени ещё на несколько лет, до появления готовых продуктов со стороны видеокарт, софта и игр. Многое зависит от того, заинтересованы ли в технологии AMD и Intel, — конкуренция дала бы больше уверенности в том, что про текущие наработки не забудут с выходом PlayStation 5 и видеокарт от Intel.

В любом случае Unity в своём докладе упомянула подходящий к концу 2018 год как этап, когда в играх только начала появляться трассировка лучей в реальном времени. По словам компании, широкое распространение технология получит лишь в 2020 году.

Технология интересная, красивая. BF V в некоторых сценах с DXR показывает достаточно красивую и реалистичную картинку, но все это просаживает FPS в 1080p на карточке за 1000$.
Я это к тому, что надо дождаться выхода новых дров и обновлений, может они исправят ситуацию с FPS в BF V, ну и конечно больше игр с данной технологией, что бы оценить ее полностью и ответа AMD в виде карт с поддержкой лучей для потребительского рынка.

Потанцевал технологии пока не раскрыт

пиксель) само по себе увеличилось из-за этих их гигалучей, да. И увеличилось кратно. Но не это самое страшное. А то, что при таком увеличении мы больше не можем использовать никакие ухищрения, которые позволили бы сократить количество самих этих просчётов (фрагментов).
Просто чтоб был понятен масштаб проблемы:
сам стандарт рендеринга (графический конвейер) предполагает целый ряд этапов, на которых часть отрисовываемой геометрии отбрасывается.
Сперва отработал вертексный шейдер. После этого позиции треугольников оказались в экранном пространстве и видеокарта должна отбросить те из них, которые вылетели за экран. Следом она проверяет, а полученный полигон вообще смотрит на нас лицевой стороной или обратной — и если обратной, то, опять же, выкидываем.
Потом треугольники растеризовались в пиксели (фрагменты) и видеокарта — опять же, должна отбросить те фрагменты, которые либо вылетели за экран, либо уже закрыты теми треугольниками, которые ближе.
Следом отрабатывает пиксельный шейдер. И — опять же — зачастую он на раннем этапе отказывается от вычислений пикселя, если видит, что тот в любом случае не будет записан в буфер (т.н. alpha-clip).
Именно это позволяет нам в современных играх получать такой красивый графен. Без этих базовых ускорений никакой Крузис с Баттлой были бы невозможны, ну вот правда.

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

Очевидно, что в случае с RTX — буквально каждому пикселю требуется работать чуть ли не со всей сценой разом.
Решения есть, да. Но и тут не всё так радужно. По факту, лучшее, что может сделать нвидия для ускорения процесса — это адаптировать те оптимизации рейтрейсинга, которые использовались в киношном рендере лет 10 назад. Вот тут-то и кроется загвоздка:
1. далеко не все эти оптимизации в принципе можно перенести на GPU, с её уровнем параллелизации.
2. большинство из этих оптимизаций очень плохо дружит с концепцией «много мелких ядер, решающих свою маленькую задачу». Попросту невозможно аналитически предсказать, какие конкретно данные потребуется при расчёте конкретного пикселя.

Что мы имеем в сухом остатке.
RTX — это технология не для геймеров, а для киноделов.
Да, с точки зрения классического рендера — это просто невероятный рывок. Но конкретно в реалтайм-графике из-за всех этих проблем (большинство из которых неустранимы фундаментально) получается, что если просто делать игры старым образом, пользуясь старыми технологиями — картинка выйдет лучше и будет жрать меньше ресурсов.
Да, эти технологии надо знать игроделу. Да, надо пошаманить, чтоб их правильно задействовать. Но по итогу правильно приготовленная игра с «классическим» current-gen рендером выдаст лучший результат, чем RTX. Если смотреть на игру в целом, а не на отдельно тени или отдельно отражения.

Источник

Читайте также:  Что выдавало лидию михайловну во время игры в замеряшки
Обучающий онлайн портал