ru
язык
смартфоны SoC процессоры видеокарты игры
українська русский
Архив | Видеокарта → Что такое трассировка лучей
Статья в последний раз корректировалась 2019.08.29 и могла потерять свою актуальность !!!

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

09.07.2019 г.

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

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

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

RT OFF

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

Трассировка лучей в компьютерной 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 кадров в секунду. Преимущество первой видеокарты ~ 44%.

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

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

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

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

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

Ну, по крайней мере, пока.





вверх