События сегодня

Последняя версия Agility SDK от Microsoft включает в себя передовые графические функции.

Microsoft выпустила последнюю версию своего Agility SDK, наполненного инновационными графическими функциями, которые будут продемонстрированы на конференции разработчиков игр (GDC) 2024.

В SDK 1.613.0 представлены рабочие графики, модель шейдеров 6.8, кучи загрузки графического процессора и ряд других улучшений, направленных на то, чтобы дать разработчикам игр возможность создавать более эффективные, гибкие и творческие возможности.

Рабочие графики: раскрытие всего потенциала графических процессоров

Изюминкой Agility SDK являются рабочие графики, новаторский API, который раскрывает весь потенциал графических процессоров. В отличие от традиционных моделей, рабочие графики представляют собой новую парадигму, которая позволяет разработчикам генерировать и планировать работу графического процессора «на лету», не полагаясь на хост. Этот инновационный подход обещает более высокую производительность, меньшую задержку и большую масштабируемость для таких задач, как отбор, группирование и объединение вычислительных операций.

Грэм Вилидал, научный сотрудник отдела графики Epic Games, прокомментировал:

«С распространением методов рендеринга с использованием графического процессора, таких как Nanite в Unreal Engine 5, роль центрального процессора смещается в сторону управления ресурсами и отслеживания опасностей, при этом лишь часть времени тратится на генерацию команд графического процессора. До появления рабочих графиков D3D12 было сложно осуществлять детальное управление памятью на графическом процессоре, а это означало, что было практически невозможно поддерживать алгоритмы с динамическим расширением работы. Даже простые длинные цепочки последовательных вычислений могут привести к значительным затратам на синхронизацию и использование памяти.



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

Благодаря рабочим графикам сложные конвейеры, общая «форма» которых сильно варьируется, теперь могут эффективно работать на графическом процессоре, а планировщик заботится о синхронизации и потоке данных. Это особенно важно для конвейеров производитель-потребитель, которые очень распространены в алгоритмах рендеринга. Модель программирования также становится значительно проще для разработчиков, поскольку сложный код управления ресурсами и барьерами перемещается из приложения в среду выполнения Work Graph.

Мы выступали за нечто подобное уже несколько лет, и очень приятно наконец увидеть выпуск Work Graphs».

Microsoft также получила одобрение от отраслевых гигантов AMD и NVIDIA, причем оба поставщика предлагают поддержку драйверов для рабочих графиков с первого дня.

Шейдерная модель 6.8: раскрываем возможности шейдеров

Дополнением к рабочим графикам является Shader Model 6.8, которая представляет набор новых функций для разработчиков шейдеров. Среди основных моментов — местоположение начальной вершины/экземпляра, диапазон размеров волны и расширенная сравнительная выборка:

  • Начальное местоположение вершины/экземпляра позволяет шейдерам проверять параметры, предоставленные при вызове API Draw*Instanced(), что позволяет более эффективно вычислять адреса.
  • Диапазон размеров волны дает разработчикам возможность указывать предпочтительный размер волны в шейдерах, уменьшая необходимость в нескольких точках входа и позволяя водителям выбирать подходящие размеры волны.
  • Расширенная сравнительная выборка предоставляет новые возможности для оценки соседних пикселей в шейдерах, что позволяет лучше создавать кроссплатформенные шейдеры.

Кучи загрузки графического процессора: ускорение передачи данных

GPU Upload Heaps представляет собой быстрый и удобный способ копирования данных из ЦП в ГП, минуя традиционное узкое место шины PCI. Благодаря использованию изменяемого размера BAR (регистра базового адреса) на современных графических процессорах передача данных между процессорами и графическими процессорами может быть достигнута с меньшей задержкой.

Первоначально выпущенная в качестве предварительной версии для разработчиков, GPU Upload Heaps теперь доступна в розничной версии для любого приложения, предназначенного для Windows 11 Insider Preview Build 26080 или более поздней версии.

Дополнительные улучшения

Agility SDK также включает улучшения для ExecuteIndirect, где корневые константы в корневой сигнатуре теперь могут действовать как увеличивающиеся константы для каждой команды в вызове ExecuteIndirect(). Кроме того, «Общие программы в объектах состояния» расширяют способ определения шейдеров для рабочих графиков и конвейеров трассировки лучей для поддержки конвейеров на основе вершинных шейдеров, сетчатых шейдеров и вычислительных шейдеров.

Как всегда, инструмент PIX от Microsoft обеспечивает поддержку всех новых функций D3D12, представленных в Agility SDK, с первого дня, обеспечивая разработчикам необходимые инструменты для эффективного использования этих достижений.

Смотрите также: Ядро Linux приближается к 10 миллионам объектов git

Последняя версия Agility SDK от Microsoft включает в себя передовые графические функции.

Хотите обновить свою стратегию цифровой трансформации? Узнайте больше о Неделе цифровой трансформации, которая проходит в Амстердаме, Калифорнии и Лондоне. Это комплексное мероприятие проводится совместно с выставками AI & Big Data Expo и Cyber ​​Security & Cloud Expo.

Узнайте о других предстоящих мероприятиях и вебинарах в области корпоративных технологий, проводимых TechForge, здесь.

Информация для Вас была полезна?
0
0
0
0
0
0
0

Похожие статьи

Кнопка «Наверх»