Страница 3: Hybrid Rendering Pipeline и RTX IO

С архитектурой Turing и возможностью трассировки лучей через ядра RT и масштабирования разрешения через DLSS и ядра Tensor NVIDIA впервые заговорила о гибридном конвейере рендеринга (Hybrid Rendering Pipeline). То есть помимо классического рендеринга через потоковые процессоры добавляется трассировка лучей и DLSS.

На GPU Turing кадр в игре Wolfenstein Youngblood просчитывается 51 мс. В данном случае трассировка лучей выполняется на потоковых процессорах. Если перенести ее на ядра RT, то время просчета кадра снижается до 19 мс. Если добавить масштабирование DLSS, то время можно снизить до 13 мс.

Для Ampere GPU с более высокой производительностью время рендеринга снижается с 13 мс до 7,5 мс. Основная причина - в приросте производительности потоковых процессоров. Но вычисления трассировки лучей и DLSS тоже выполняются быстрее, что приводит к снижению времени рендеринга. Для Ampere NVIDIA использует другой трюк, вычисления DLSS выполняются перед финальным рендерингом. Свою роль здесь играет временная обратная отдача (Temporal Feedback), благодаря которой учитываются результаты рендеринга предыдущих кадров. Собственно, этот шаг и позволил DLSS 2.0 увеличить качество картинки. С новыми чипами Ampere такой подход позволяет уменьшить время рендеринга кадра.

RTX IO

NVIDIA RTX IO работает с грядущим Microsoft DirectStorage API, который будет поддерживаться в играх с 2021 года. Здесь подразумевается архитектура хранения данных нового поколения, ориентированная на игровые ПК с NVMe SSD. DirectStorage API и RTX IO - оптимизированные и высокопараллельные API, разработанные специально для игр, которые значительно снижают избыточную нагрузку ввода/вывода.

Потребность в более скоростном интерфейсе ввода/вывода связана с тем, что игры занимают все больше места, игровые данные становятся более объемными и сложными.

В классических системах игровые данные считываются с SSD/HDD и передаются процессору через SATA или PCI Express. Скоростные PCIe 4.0 SSD могут обеспечивать пропускную способность до 7 Гбайт/с. Процессор располагает данные в оперативной памяти, откуда они затем передаются процессором через интерфейс PCI Express на GPU. Последний сохраняет данные в видеопамяти. В результате мы имеет промежуточный этап с лишней нагрузкой на процессор, да и выше 7 Гбайт/с не подняться.

Но есть возможность передавать процессору данные с накопителя в сжатом виде. Затем процессор их распаковывает в оперативной памяти, и они передаются в распакованном виде через PCI Express в память GPU. Хотя здесь можно получить уже до 14 Гбайт/с, ядра CPU будут заняты распаковкой данных.

RTX IO или DirectStorage позволяет передавать данные с быстрого SSD через интерфейс PCI Express напрямую GPU, который будет размещать их в видеопамяти. Этап процессора и оперативной памяти системы здесь уже отсутствует. Здесь тоже можно достигнуть до 14 Гбайт/с (с учетом расчетного коэффициента сжатия 2:1), но без нагрузки на процессор.

Причем распаковка данных на GPU не влияет на остальную производительность. Опасения насчет предела PCIe 4.0 современных SSD напрасны. Если игра оптимизирована под DirectStorage API, то с SSD считываются только необходимые данные. Что, кстати, уменьшит занятость видеопамяти.

NVIDIA также привела сведения производительности, используя собственную техническую демо Marbles. Демо считывает несжатые данные с жесткого диска более 60 с. В случае сжатых данных и распаковки их на CPU время снижается до 38 с. Если используется NVMe SSD, то время загрузки уменьшается всего до 5 с, но данные распаковываются на процессоре, загружая ядра. В случае RTX IO время загрузки составит всего 1,6 с.

DirectStorage API будет использоваться приставкой Microsoft Xbox Series X, в случае PlayStation 5 реализована схожая концепция. Через RTX IO скорость передачи данных с SSD в видеопамять составит до 14 Гбайт/с. Для сравнения, Sony PlayStation 5 дает 8-9 Гбайт/с, а Microsoft Xbox Series X - 4,8 Гбайт/с. Интересно посмотреть, будет ли AMD поддерживать DirectStorage с архитектурой Big Navi.