Компания Intel пообещала в ближайшее время выпустить масштабное обновление графического драйвера для своих видеокарт, которое значительно повысит производительность ускорителей Arc в играх с поддержкой API DirectX 11, а также снизит показатель так называемой продолжительности кадра (frame time), который напрямую влияет на плавность и качество графики в игре.
Выпущенные в прошлом году дискретные игровые видеокарты 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 объясняет, как этого удалось добиться.
Данные, полученные с помощью параметра GPU busy, можно впоследствии использовать для определения того, что именно создаёт проблемы с производительностью в той или иной игре, и о чём в первую очередь лучше подумать при обновлении ПК — о новом центральном процессоре или видеокарте. Если время загрузки графического процессора соответствует общему времени кадра, то либо игра идеально оптимизирована, либо производительность в ней можно повысить за счёт обновления видеокарты.
И наконец, представленный сегодня новый инструмент мониторинга производительности PresentMon позволяет следить за всеми основными параметрами игровой производительности, включая GPU busy. Он поддерживается всеми производителями видеокарт и работает с графическими API DirectX 9, DirectX 11, DirectX 12 и Vulkan. Для него заявляется поддержка командной строки. Скачать PresentMon можно по этой ссылке.
Источники: