Обзор AMD Radeon RX5700 XT: архитектура RDNA — провал или гениальное улучшение?
Нeдaвнo AMD пoшaтнулa лидeрствo Intel нa рынкe флaгмaнскиx прoцeссoрoв. Тeпeрь нaстaл чeрёд пoтягaться зa сeгмeнт тoпoвыx видeoкaрт — с пoмoщью линeйки Radeon RX 5000, прeдстaвлeннoй публикe лeтoм. Спaсёт ли этo ситуaцию и кaк oбстoит дeлo с трaссирoвкoй лучeй — рaзбирaeмся в oбзoрe. Чтo былo дo? Истoрия сoврeмeнныx Radeon нaчaлaсь с пeрexoдa к унифицирoвaнным шeйдeрaм. С иx пoмoщью AMD xoтeлa oбeспeчить выдaющуюся прoизвoдитeльнoсть GPU — a тaм ужe пусть игрoвыe студии рeшaют, нa чтo eё пустить. Прeдпoлaгaлoсь, чтo с пeрeeздoм нa DX10 и OpenGL 3.0 нa видeoкaрту ляжeт мнoжeствo сложных задач, поэтому она будет загружена гораздо сильнее, чем раньше. Использование одной длинной инструкции (VLIW) с длительной обработкой отлично вписалось в концепцию «одна сложная операция — много данных», да ещё и на высокопараллельном железе. Распределение нагрузки и оптимизацию столь сложных задач возложили на компилятор и драйвер. Высокое разрешение текстур, бамп-маппинг и карты нормалей, HDR и глобальное освещение требовали приличную пропускную способность как памяти, так и GPU. Спецэффекты больше не дополняли кадр в отдельных местах, а многократно применялись буквально в каждом пикселе. А ведь в основе один и тот же движок — Source. Железо и впрямь получилось выдающимся, но вот оптимизация драйверов оставляла желать лучшего. Если уж автоматика не могла разрулить нагрузку по сложной архитектуре графического чипа, то что говорить про ручное управление? Внутреннее устройство видеоядра сильно усложнилось. Теперь разработчики могли не только взаимодействовать с моделями и текстурами, но и производить общие вычисления. Инженеры AMD планировали, что центральный процессор займётся выполнением скриптов, обсчётом AI и выдачей команд на отрисовку. А фотореалистичная графика, сложная физика и вспомогательные вычисления будут проводиться на GPU. Например, освещение с честным преломлением лучей, активное применение тесселяции, различные эффекты, требующие постоянного обращения к карте глубин (боке, объёмный туман, длинные тени), пообъектное размытие моделей и даже их отдельных частей. Сильные и слабые стороны предшественника
Управление видеокартой напрямую, как в консолях, — это удобно, особенно если речь про огромный объём вычислений для каждого кадра. Писать код для параллельного выполнения чрезвычайно сложно (хотя бы по той причине, что человеческий мозг исполняет осознанные задачи последовательно, быстро переключаясь между контекстами). 16-битные вычислительные блоки были сгруппированы по 64 штуки в один юнит и получили общий 64-битный планировщик инструкций. Проблема пришла откуда не ждали: революцию отменили приставки. Из-за сравнительно слабой начинки консолей прогнозы по перспективам 3D-графики не совпали с реальностью. Вместо повального увлечения всякими Ultra HD студии бросились развивать «визуальные обманки»: использовали низкие разрешения отрисовки и сложные спецэффекты. В ход шли даже данные с предыдущего кадра — зачем тратить ресурсы на обсчёты того, что почти не изменилось? Архитектура, эффективная при одинаковой нагрузке на большое число одинаковых ядер, оказалась не лучшим решением в ситуациях, когда требовалось выполнять разные вычисления на малых объёмах данных. А с выходом PS4 Pro и Xbox One X сохранилась общая тенденция к целевым 30 fps, но в более высоком разрешении. Исключения, разумеется, случались, но не такие частые. Нововведения в RDNA
Первое, что нужно отметить, — RDNA в текущем виде нельзя назвать полностью новой архитектурой. Да, изменений немало, но это не тотальная смена дизайна, как было, например, в случае перехода от DX9 к DX10 или замены VLIW TeraScale на GCN. Общая логика и устройство GPU на базе RDNA взяты у предыдущего поколения. Конец жизни текущих консолей. Актуальные технологии в играх
Проблему невозможности честной отрисовки суперсложных кадров в высоком разрешении перестали решать в лоб. Обучение нейросетей привело к созданию алгоритмов масштабирования и сглаживания в условиях недостатка данных — всё для эффективной экономии ресурсов: картинка ухудшается на 5-10%, зато вычислений меньше уже на 30-50%. Вершиной развития DX12 стала аппаратно-ускоренная трассировка реалистичного освещения и отражений. Изменения в архитектуре: причины и следствия
Одна из основных проблем GCN — недостаточная гибкость. Видеокарта загружалась на 100%, когда обсчитывала кадр в высоком разрешении, однако начинала сдавать позиции, если картинка была сравнительно простой. Ведь выполнять множество одинаковых операций над различными данными не требовалось. Решение нашлось простое — блоку из 64 ядер сохранили общую логику, но внутри поделили пополам, поставив каждой половинке собственный планировщик. Так GPU может гибче реагировать на различные условия работы. Изменился и дизайн ядер: вместо запуска длинной 64-битной инструкции за несколько тактов теперь используются короткие 32-битные, причём выполняются они за один такт. Теоретически это ускоряет операции от двух до четырёх раз, в зависимости от их сложности. На практике прирост меньше — помимо самих вычислений, есть операции с памятью (чтение и запись), имеющей задержки ввода-вывода. Да и шейдеры обсчитываются не одновременно, а последовательно наслаиваются на результаты вычислений предыдущих. Графический конвейер упростили, а GPU стал гибче реагировать на различные ситуации. Увы, здесь конкретных подробностей не раскрывают, но энергоэффективность Navi относительно Vega и Polaris подросла. Подсистема памяти относительно простая — вместо дорогой HBM2, которой оснащали прошлогодние «Веги», применили банальную GDDR6. Эффективность нововведений мы протестировали на двух моделях семейства Navi — AMD Radeon RX 5700 (36 CU) и RX 5700 XT (40 CU). Для полноты картины мы взяли игры, имеющие встроенные бенчмарки, и усреднили результаты трёх прогонов тестов — так результат нагляднее. Конфигурация демостенда
Процессор
AMD Ryzen 9 3900X (12 ядер, 24 потока @ 3,8-4,6 ГГц)
Материнская плата
ASUS X570 ROG Crosshair HERO VIII
Оперативная память
4×8 ГБ GeIL EVO X Rog Certified 3600 МГц CL17
Накопитель
PCIe 4.0 SSD Corsair MP600 2 ТБ
Блок питания
beQuiet Dark Power Pro 850 Вт
Корпус
Aerocool Quartz
Свежие «Радеоны» показали себя превосходно. Эффективность нововведений наглядно отражает результат тестов RX Vega 64 — на бумаге она в полтора раза мощнее младшей RX 5700, а на практике показывает сравнимые цифры. Обе новинки вписались между непосредственными конкурентами и их более дорогими альтернативами — серией RTX Super. Прямого соперничества не вышло: при сопоставимых характеристиках модели Radeon либо дешевле, либо мощнее RTX 2060 Super. Правда, у NVIDIA всё ещё остаётся трассировка лучей…
Но и на этот случай у AMD есть козырь в рукаве. Из официальных заявлений и многочисленных утечек известно, что следующее поколение консолей Xbox и PlayStation вновь получит начинку AMD — центральный процессор на базе Ryzen 3000 и графический ускоритель с архитектурой NAVI и поддержкой трассировки освещения. У RX 5700 и 5700 XT отсутствуют специализированные модули для аппаратного ускорения подобных расчётов — а без них производительность столь низкая, что о полноценном применении в играх можно забыть. Вместе с тем в сеть попал патент, рассказывающий о планах AMD по внедрению RT. Что нас ждёт? Ведь они усложняют архитектуру, занимают место на кристалле, удорожают производство и не выполняют никаких других задач, кроме злосчастного рейтрейсинга. Подобный подход позволит сэкономить драгоценные такты на взаимодействие с памятью — операции производятся сразу, вместо копирования данных в выделенный кэш, применения математической магии и отправки результатов назад. Использование небольшой модификации универсальных ядер ещё и упростит топологию кристалла GPU. А значит, уменьшит процент брака и снизит конечную стоимость. Итоги
Предыдущая архитектура «Радеонов» обладала отличным потенциалом, но высокая производительность достигалась лишь в ряде случаев (в основном, когда GPU был нагружен сверх нормы). RDNA позволила семейству RX 5000 реализовать заложенный потенциал в любых сценариях. С выходом Ryzen у AMD получилось расшевелить Intel и прекратить стагнацию сегмента центральных процессоров, теперь пора изменить расстановку сил на рынке видеокарт. Это превосходная альтернатива RTX 2060, рейтрейсинг которой скорее похож на баловство, чем на реально полезную фишку. За вычетом лучей Radeon уделывает соперницу во всём: больше памяти, выше fps, особенно на высоких разрешениях. Да и ощущение, что покупкой «красной» карты поддерживаешь конкуренцию и развиваешь отрасль, дорогого стоит. С трассировкой эта модель NVIDIA худо-бедно справляется, так что выбор тут больше идеологический. В любом случае XT показала, что «Радеоны» способны конкурировать с топовыми решениями «зелёных» — а там и до битвы за звание самого быстрого GPU 2020 недалеко.