Сегодня 23 апреля 2024
18+
MWC 2018 2018 Computex IFA 2018
реклама
Теги → directx

AMD показала, насколько Work Graphs повысила производительность видеокарт Radeon

Ранняя версия новой технологии Work Graphs, представленной компанией Microsoft на прошлой неделе и входящей в состав DirectX 12, обеспечила значительную прибавку игровой производительности в системе с видеокартой Radeon RX 7900 XTX, сообщила компания AMD. Технология Work Graphs призвана оптимизировать взаимодействие CPU и GPU при выполнении различных задач.

 Источник изображений: AMD

Источник изображений: AMD

По словам AMD, в ранних испытаниях Work Graphs повысила игровую производительность ПК с видеокартой Radeon RX 7900 XTX на 39 %. Без технологии Work Graphs и при использовании традиционного метода выполнения операций ExecuteIndirect решение задачи потребовало на 64 % больше времени. Проверка проводилась на ПК с Ryzen 7 5800X, 32 Гбайт памяти DDR4 и видеокартой Radeon RX 7900 XTX.

Технология Work Graphs призвана разгрузить центральный процессор за счёт переноса планирования части задач на видеокарту. Иногда CPU не успевает подготовить задачи для расчёта на GPU, в результате видеокарта простаивает, ожидая новых указаний. Задача Work Graphs — сделать GPU более автономным. Для этого CPU будет создавать для GPU последовательность задач, которую необходимо исполнить. Такая оптимизация позволит увеличить производительность рендеринга.

Ниже на видео показана 3D-сцена без пользовательского интерфейса HUD и скайбокса, рендеринг которой осуществляется за одну последовательность задач с помощью Work Graphs.

Технологии Work Graphs и Mesh Nodes станут важными составляющими DirectX 12. Все ключевые производители видеокарт уже работают над их поддержкой на уровне драйверов для своих аппаратных средств.

Благодаря возможности графических процессоров самостоятельно планировать работу с помощью Work Graphs, между CPU и GPU будут передаваться меньше задач, что в конечном итоге освободит ресурсы центрального процессора и памяти, позволив разработчикам игр более эффективно использовать ресурсы GPU для создания ещё более впечатляющей картинки.

Microsoft выпустила технологию Work Graphs, которая ускорит ПК со слабыми CPU и современными GPU

Microsoft выпустила технологию Work Graphs, которая является частью последней версии DirectX 12. Данная технология позволит разгрузить центральный процессор за счёт переноса планирования задач на видеокарту, что теоретически даст прирост производительности системам с маломощными CPU.

Сейчас конечная картинка на экране формируется совместными усилиями CPU и GPU, но иногда CPU не успевает подготовить задачи для расчёта на GPU, в результате видеокарта простаивает, ожидая новых указаний. Технология Work Graphs призвана сделать GPU более автономным, чтобы он мог сам подавать себе рабочие задания и сократить количество обращений к CPU.

С помощью Work Graphs разработчики игр могут оптимизировать конвейеры производитель-потребитель, которые эффективно переносят тяжелые рабочие нагрузки с CPU на GPU. В этой системе поток, работающий на GPU (производитель), может зарегистрировать запрос на выполнение другой работы (потребитель). Работа будет запланирована GPU, как только появится свободное место, и при необходимости этот поток также может стать потребителем. Проще говоря, вместо ожидания выполнения каждого этапа расчётов, CPU может составить последовательность задач, которые GPU выполнит, не обращаясь каждый раз к CPU.

Дополнительно ускорить взаимодействие центрального и графического процессоров предполагается благодаря функции GPU Upload Heaps из Shader Model 6.8 — она позволяет CPU и GPU обмениваться данными заметно быстрее, за счёт отсутствия необходимости передавать данные из видеопамяти центральному процессору через шину PCI. Эта функция использует технологию ResizableBAR, позволяющую CPU с минимальными задержками записывать данные в видеопамять.

Work Graphs и Shader Model 6.8 стали доступны разработчикам игр через Agility SDK 1.613. Этот SDK уже можно использовать с новейшими драйверами AMD и NVIDIA. Технология Work Graphs поддерживается графическими процессорами NVIDIA Ampere и Ada Lovelace (GeForce RTX 3000 и RTX 4000) с установленными драйверами версии 551.76 или новее. Что касается AMD, то Work Graphs сейчас работает лишь на графических процессорах с архитектурой RDNA3 (видеокарты Radeon RX 7000). Обновлённые драйвера с поддержкой нового SDK от Intel пока не вышли.

Стоит отметить, что одним лишь обновлением видеодрайвера производительность не поднять — технология Work Graphs должна быть реализована в играх, а значит инициативу должны поддержать и игровые разработчики.

Компания NVIDIA также опубликовала техническую демонстрацию, позволяющую оценить работу Work Graphs. В видео выше показана её работа — примерно в на 1:20 можно увидеть заметный прирост производительности за счёт новой технологии. В тесте использовалась видеокарты GeForce RTX 4090 и процессор Ryzen 7 7700X.

Intel улучшила производительность видеокарт Arc A-серии в DirectX 11 — прирост до 33 %

Компания Intel пообещала в ближайшее время выпустить масштабное обновление графического драйвера для своих видеокарт, которое значительно повысит производительность ускорителей Arc в играх с поддержкой API DirectX 11, а также снизит показатель так называемой продолжительности кадра (frame time), который напрямую влияет на плавность и качество графики в игре.

 Источник изображений: Intel

Источник изображений: Intel

Выпущенные в прошлом году дискретные игровые видеокарты Intel Arc A770 и Arc A750 вызвали у геймеров смешанные чувства. С одной стороны, они демонстрируют неплохой уровень производительности в современных играх с DirectX 12 и поддержкой трассировки лучей, однако их быстродействие в старых играх с поддержкой DirectX 11 и DirectX 9 заметно хромает на фоне конкурентных решений. И всё же инженеры Intel продолжают работу над оптимизацией драйвера для более эффективной работы карт Arc со старыми играми и уже смогли значительно повысить их производительность, например, в таких популярных играх, как CS:GO и League of Legends, использующих старый API DirectX 9.

Сегодня Intel сообщила, что пересмотрела архитектуру некоторых компонентов своего видеодрайвера, чтобы в конечном итоге сделать видеокарты Arc A-серии значительно быстрее в играх с DirectX 11. Также компания представила утилиту мониторинга PresentMon и новый параметр производительности GPU Busy.

На брифинге для прессы представитель Intel Том Петерсен (Tom Petersen) сообщил, что «инженеры полностью изменили архитектуру стека драйвера для DX11», что привело к среднему повышению производительности примерно на 19 % в играх с DirectX 11 при использовании ПК с процессором из серии Core i5 и видеокарты Arc A750 по сравнению с первоначальной версией драйвера.

На ПК с флагманским Core i9-13900K и такой же видеокартой прибавка производительности составляет 12 %. Из этого можно сделать вывод, что новый драйвер обеспечивает более высокую производительность в играх с DirectX 11 при использовании более медленных процессоров.

На графиках выше можно заметить, что фактический прирост производительности варьируется от игры к игре, но в целом игры под DX11 теперь работают на десятки FPS быстрее, чем раньше. В играх, протестированных Intel, прирост производительности варьировался от 5 % в Destiny 2 и до 33 % в Overwatch 2. В дополнение к более высокой общей частоте кадров показатель частоты кадров 99-го процентиля в играх с DX11 теперь также в среднем улучшен на 20 процентов. Это означает, что новый драйвер обеспечивает гораздо более плавный игровой процесс в целом.

Введённый Intel новый параметр производительности GPU Busy отображает время, затрачиваемое на рендеринг кадра именно графическим процессором. Рендеринг игры — это совместная рабочая нагрузка для центрального и графического процессора. Для генерации каждого кадра в игре CPU должен сопоставить данные о состоянии игры с тем, что нужно отобразить на экране, затем организовать эту информацию в запрос API и отправить ее на графический процессор, который затем интерпретирует полученный запрос API и отрисует кадр.

Каждый раз, когда CPU завершает вычисления для кадра, он отправляет «текущий» или «настоящий» запрос драйверу GPU. Пока GPU рисует кадр согласно запросу, поток CPU, отвечающий за работу с этим кадром, по сути, находится в состоянии простоя и ждёт, пока GPU передаст на центральный процессор данные о завершённом кадре (present return), чтобы он мог начать работу со следующим. Разница во времени между этими двумя передачами данных называется продолжительностью кадра (временем, необходимым ПК для создания кадра). Указанный параметр напрямую влияет на плавность и качество графики в игре. Чем меньше значение продолжительности кадра (рассчитывается в миллисекундах), тем плавнее игровой процесс. После генерации кадра графическим процессором он помещается в буфер кадров, затем в контроллер дисплея и выводится на экран монитора. Intel придумала способ, как разбить показатель продолжительности кадра и отобразить конкретный вклад GPU в его формирование на данный момент времени. Этот показатель метрики компания и называет GPU Busy.

На двух представленных ниже графиках времени кадра в Overwatch 2 демонстрируется, какую работу проделали программные инженеры Intel для оптимизации производительности видеокарт Arc в играх с DirectX 11, а также отображена информация, которую может предоставить GPU Busy. Синяя линия показывает общее время, затраченное на обработку каждого кадра (CPU + GPU). Жёлтая линия показывает, как долго был занят обработкой этого кадра один только GPU. В идеале — пики обеих линий должны быть гладкими и максимально приближенными друг к другу.

Как можно заметить, в случае с Overwatch 2 при использовании видеокарты Arc A750 и старых драйверов (первый график выше) у синей линии (общее время, затраченное на обработку кадра) везде наблюдаются значительные всплески. С новейшим драйвером, в котором оптимизирована работа кода DirectX 11, игра работает гораздо плавнее даже несмотря на то, что время GPU busy (жёлтая линия) в обоих случаях осталось прежним в районе 5–6 мс. Как итог, игра теперь работает гораздо плавнее, чем раньше. А GPU busy объясняет, как этого удалось добиться.

 Пример того, когда частота кадров игры ограничена CPU, а не производительностью GPU

Пример, когда частота кадров игры ограничена CPU, а не производительностью GPU

Данные, полученные с помощью параметра GPU busy, можно впоследствии использовать для определения того, что именно создаёт проблемы с производительностью в той или иной игре, и о чём в первую очередь лучше подумать при обновлении ПК — о новом центральном процессоре или видеокарте. Если время загрузки графического процессора соответствует общему времени кадра, то либо игра идеально оптимизирована, либо производительность в ней можно повысить за счёт обновления видеокарты.

И наконец, представленный сегодня новый инструмент мониторинга производительности PresentMon позволяет следить за всеми основными параметрами игровой производительности, включая GPU busy. Он поддерживается всеми производителями видеокарт и работает с графическими API DirectX 9, DirectX 11, DirectX 12 и Vulkan. Для него заявляется поддержка командной строки. Скачать PresentMon можно по этой ссылке.

ПО CrossOver для запуска Windows-игр в macOS, Linux и ChromeOS, получит поддержку DirectX 12

Платформа CrossOver, обеспечивающая доступ к Windows-приложениям на устройствах с macOS, Linux и ChromeOS, в скором времени получит поддержку DirectX 12, что является хорошей новостью для геймеров. Соответствующее заявление сделала компания CodeWeavers, являющаяся разработчиком продукта.

 Источник изображения: 9to5Mac

Источник изображения: 9to5Mac

В настоящее время CrossOver работает с DirectX 11 и более ранними версиями API. С добавлением поддержки DirectX 12 пользователи CrossOver могут рассчитывать на более высокую производительность при взаимодействии с играми для Windows на компьютерах Apple Mac. Отмечается, что поддержка DirectX 12 в CrossOver будет добавляться постепенно для отдельных игр. Это связано с тем, что процесс интеграции довольно сложен, и разработчики хотят убедиться в том, что у пользователей не возникнет проблем.

Первой игрой, которая получит поддержку DirectX 12 в CrossOver, станет Diablo II Resurrected, но в будущем список поддерживаемых проектов будет расширяться. В сообщении разработчиков сказано, что в процессе интеграции поддержки DirectX 12 им пришлось исправить множество ошибок. Они ожидают, что различные проблемы будут возникать в процессе работы над добавлением поддержки DirectX 12 в другие игры, из-за чего этот процесс будет продолжительным.

Согласно имеющимся данным, первая бета-версия CrossOver 23 с поддержкой DirectX 12 выйдет этим летом, а стабильная версия приложения появится ближе к концу года. Более точные сроки выхода новых версий приложения пока не были озвучены.

NVIDIA выпустила первое обновление RTX Remix, которое позволит использовать в играх с DirectX 9 технологии NVIDIA DLSS и RTX

NVIDIA выпустила обновление для среды выполнения RTX Remix. Это ограниченная часть программной платформы, которая позволяет создателям добавлять в игры с DirectX 9 и DirectX 8 новые технологии, такие как NVIDIA DLSS, трассировка пути или улучшенные с помощью ИИ игровые ресурсы, такие как текстуры.

 Источник изображения: NVIDIA

Источник изображения: NVIDIA

RTX Remix является составляющей набора инструментов NVIDIA Studio, для которого требуется две части: набор инструментов для создателей и среда выполнения. Обновление предназначено только для среды выполнения, но инструментарий по-прежнему доступен только определённым разработчикам (в какой-то момент в будущем выйдет в ранний доступ). Однажды NVIDIA может открыть своё программное обеспечение для всех разработчиков игр, и если это произойдёт, компания готова «расширить возможности сообщества разработчиков модов».

Стоит отметить, что в игры RTX Remixed можно играть только на видеокартах GeForce RTX. В какой-то момент технология станет полностью открытой, но это не изменит того факта, что только некоторая часть игрового сообщества может играть в эти игры. Если, конечно, кто-то не модифицирует саму платформу для поддержки сторонних поставщиков. Remix Runtime Bridge теперь доступен на GitHub с открытым исходным кодом.

В этот выпуск было внесено множество улучшений Bridge для решения различных проблем совместимости с играми:

  1. исправлена проблема с логикой синтаксического анализатора шейдеров в играх с Shader Model 2+;
  2. исправлена ​​проблема с передачей данных о поверхности, которая приводила к сбоям в некоторых играх;
  3. добавлена поддержка игр, которые изменяют дескриптор главного окна при значении Reset;
  4. разрешение нулевой вершины на сервере для исправления ненужных сбоев в некоторых ситуациях;
  5. настроена инициализация состояния рендеринга в соответствии с официальной документацией DirectX 9, чтобы исправить искажение геометрии в некоторых играх;
  6. добавлена обработка вызовов CreateTextureXXX с уровнем = 0, чтобы исправить искажение геометрии в некоторых играх;
  7. исправлена обработка ввода с помощью мыши для игр, в которых указатель мыши не перемещался в игре или при открытом меню Remix, а также добавлены другие исправления DirectInput для игр, использующих другие эксклюзивные режимы; добавлен необязательный хук подкачки входных сообщений, который необходим для некоторых игр;
  8. улучшено соответствие собственному поведению D3D9 при работе с шейдерами и инициализацией цепи обмена;
  9. добавлена дополнительная проверка ввода на стороне клиента и сервера — теперь сервер правильно возвращает коды ошибок клиенту, где сбой допустим;
  10. в клиент моста добавлена информация о DPI, чтобы окно игры масштабировалось, а ввод с помощью мыши обрабатывался правильно на дисплеях с разрешением выше 100 % DPI;
  11. оптимизирована работа SharedHeap, чтобы уменьшить количество сбоев при запуске и требовать меньше тонкой настройки его параметров. Поскольку SharedHeap по-прежнему может вызывать проблемы в некоторых играх, разработчики отключили его по умолчанию, но его можно включить в bridge.conf с помощью параметра useSharedHeap;
  12. добавлена опция принудительного оконного клиента client.forceWindowed в bridge.conf.

Улучшения DXVK-Remix и исправления совместимости игр:

  1. улучшения, связанные с отбраковкой. Remix теперь включает в себя начальный набор эвристик для обхода отбраковки на стороне движка;
  2. улучшена обработка геометрии, прошедшей альфа-тестирование, в которой используется дробная («расплывчатая») альфа;
  3. улучшено обнаружение теневых томов;
  4. поддержка захвата нормалей в пути захвата вершин;
  5. улучшения в меню и документации RTX Remix: расширена и обновлена существующая документация, а также добавлены всплывающие подсказки в пользовательском интерфейсе, чтобы сделать его более доступным;
  6. символы отладки для выпуска теперь доступны в отдельном пакете remix-0.2.0-symbols.zip, чтобы упростить отладку исходного кода из скомпилированных двоичных файлов.

Microsoft добавила в DirectX 12 функцию доступа ко всей видеопамяти одновременно для CPU и GPU

Компания Microsoft анонсировала новую оптимизацию для API DirectX 12, которая в сочетании с технологией Resizable-BAR будет обеспечивать центральному и графическому процессорам одновременный доступ к полному стеку памяти видеокарты. Функция называется GPU Upload Heaps. Microsoft внедрила её в состав последней версии комплекта разработчика ПО DirectX12 Agility SDK.

 Источник изображения: AMD

Источник изображения: AMD

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

Использование функции GPU Upload Heaps позволяет снизить уровень загрузки ОЗУ и CPU, поскольку центральному процессору больше не придётся одновременно хранить копии данных в оперативной памяти ПК и памяти видеокарты для их взаимодействия. А так как память современных видеокарт очень быстрая, то никаких негативных эффектов на уровень задержки от хранения данных в памяти видеокарты не будет.

Для работы указанной функции в играх необходимо, чтобы видеокарта и центральный процессор в составе ПК поддерживали технологию Resizable-Bar или Smart Access Memory. В основе GPU Upload Heaps использует именно технология Resizable-Bar, поскольку она позволяет Windows напрямую управлять памятью видеокарты. Как известно, Smart Access Memory является полным аналогом Resizable-Bar от AMD, но под другим названием.

Поддержка GPU Upload Heaps для разработчиков ПО уже добавлена в драйверы NVIDIA, Intel и AMD. Она доступна в драйверах NVIDIA Game Ready и Studio с версии 531.41, у Intel — с версии 31.0.101.4255. Для получения нужного драйвера для платформы AMD необходимо обратиться к соответствующему менеджеру по работе с партнёрами.

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

Intel отказалась от аппаратной поддержки API DirectX 9 в своих видеокартах — она будет осуществляться через эмулятор DirectX 12

Компания Intel отказалась от аппаратной поддержки графического API DirectX 9 интегрированными решениями на архитектуре Xe в составе процессоров Core 12-го поколения, а также дискретными видеокартами Arc A-серии на архитектуре Arc Alchemist. Вместо этого поддержка DirectX 9 будет эмулироваться с помощью API DirectX 12.

 Источник изображения: Gunnir

Источник изображения: Gunnir

Эмуляция будет использовать конверсионный слой — библиотеку Microsoft D3D9On12 с открытым исходным кодом. В этом случае графические команды DirectX 9 будут направляться в D3D9On12 вместо непосредственной отправки в графический драйвер Intel. Конверсионный слой D3D9On12 будет переводить графические команды D3D9 в запросы, понятные для алгоритмов API D3D12. Если проще, вместо настоящего графического драйвера от Intel функцию драйвера будет выполнять сам D3D9On12.

По словам Microsoft, уровень производительности эмуляции приблизился к уровню производительности фактической реализации API DirectX 9, а в некоторых случаях и совсем ему не уступает.

Для Intel принятое решение может принести пользу. Теперь компания сможет уделить больше внимания оптимизации своих драйверов под более свежий API DirectX 11, поскольку сейчас с этим наблюдаются проблемы. Все задачи, связанные с оптимизацией DirectX 9 в свою очередь будут «возложены» на Microsoft. Пока неизвестно, последуют ли в итоге примеру Intel компании NVIDIA и AMD. Однако отказ от аппаратной поддержки старого API имеет свои минусы, например, в виде более высокой нагрузки на CPU (D3D9On12 работает на программном уровне) и побочных эффектов в играх с DirectX 9.


window-new
Soft
Hard
Тренды 🔥
Samsung начала выпуск TLC 3D V-NAND 9-го поколения с рекордным по скорости интерфейсом 2 ч.
Продажи iPhone в Китае упали до ковидных показателей — Apple оттеснили Vivo и Honor 5 ч.
Глава OpenAI инвестировал в Exowatt, которая поможет запитать ИИ ЦОД от солнечных модулей нового поколения 5 ч.
Apple свернула производство чехлов из FineWoven — экологичный материал оказался с изъяном 5 ч.
Softbank закупит ускорители Nvidia на $1 млрд и займётся японским ИИ 6 ч.
С завтрашнего дня руководить ASML будет новый гендир — ему предстоит разрулить ворох проблем 6 ч.
Китай уже опередил Запад на зарождающемся рынке воздушных такси и наращивает преимущество 7 ч.
Samsung откроет в Кремниевой долине лабораторию по созданию ИИ-чипов на базе RISC-V, чтобы побороться с NVIDIA 7 ч.
MaxLinear повысит производительность и эффективность СХД Dell PowerMax 7 ч.
Бывший вице-президент Meta по инфраструктуре присоединился к ЦОД-подразделению Microsoft 7 ч.