Microsoft выпустила технологию Работа Graphs, которая является частью последней версии DirectX 12. Данная разработка дозволит разгрузить центральный микропроцессор за счёт переноса планирования задач на видеоплату, что гипотетически даст прирост производительности системам с маломощными CPU.
На данный момент конечная картина на дисплее формируется совместными усилиями CPU и GPU, но временами CPU не успевает приготовить задачки для расчёта на GPU, в итоге видеоплата простаивает, ждя новых указаний. Разработка Работа Graphs призвана сделать GPU больше самостоятельным, чтоб он мог сам подавать для себя рабочие задания и уменьшить кол-во воззваний к CPU.
При помощи Работа Graphs разработчики игр могут улучшить сборочные потоки производитель-потребитель, которые продуктивно переносят томные рабочие нагрузки с CPU на GPU. В этой системе поток, работающий на GPU (производитель), может зарегистрировать запрос на выполнение другой работы (человек). Работа будет запланирована GPU, как появится свободное место, и по мере надобности данный поток также может стать потребителем. Проще говоря, заместо ожидания выполнения каждого шага расчётов, CPU может составить последовательность задач, которые GPU выполнит, не обращаясь всякий раз к CPU.
Дополнительно ускорить сотрудничество центрального и графического микропроцессоров подразумевается благодаря функции GPU Upload Heaps из Shader Model 6.8 — она позволяет CPU и GPU меняться данными приметно резвее, за счёт отсутствия необходимости передавать данные из видеопамяти центральному микропроцессору через шину PCI. Эта функция употребляет технологию ResizableBAR, позволяющую CPU с наименьшими задержками записывать данные в видеопамять.
Работа Graphs и Shader Model 6.8 стали доступны разработчикам игр через Agility SDK 1.613. Данный SDK уже можно применять с новыми драйверами AMD и NVIDIA. Разработка Работа Graphs поддерживается графическими микропроцессорами NVIDIA Ampere и Ada Lovelace (GeForce RTX 3000 и RTX 4000) с установленными драйверами версии 551.76 либо новее. Что касается AMD, то Работа Graphs на данный момент работает только на графических микропроцессорах с архитектурой RDNA3 (видеоплаты Radeon RX 7000). Обновлённые драйвера с поддержкой нового SDK от Интел пока не вышли.
Необходимо отметить, что одним только обновлением видеодрайвера эффективность не поднять — разработка Работа Graphs должна быть реализована в играх, следовательно инициативу должны поддержать и игровые разработчики.
Компания NVIDIA также опубликовала техно демонстрацию, позволяющую сделать оценку работы Работа Graphs. В видео выше показана её работа — приблизительно в на 1:20 можно узреть приметный прирост производительности за счёт новейшей технологии. В тесте использовалась видеоплаты GeForce RTX 4090 и микропроцессор Ryzen 7 7700X.