- Как включить аппаратное ускорение планирования GPU в Windows 10
- Включите или выключите аппаратное ускоренное планирование GPU в настройках
- Включить аппаратное ускоренное планирование GPU с использованием реестра
- Функция аппаратного ускорения планирования GPU
- Hardware Accelerated GPU Scheduling
- Abstract
- WDDM GPU Scheduler
- Hardware-accelerated GPU scheduling
- Which GPUs will support Hardware Scheduling?
- What to expect when switching to the new GPU scheduler
- Thanks
- Планирование графического процессора. Тест и обзор
Как включить аппаратное ускорение планирования GPU в Windows 10
Если вы вообще следите за разработкой Windows 10, вы, вероятно, слышали это модное словечко «Аппаратное ускорение планирования GPU», которое используется с прошлого года.
Если вы хотите опробовать новую функцию и посмотреть, насколько она важна для ваших приложений или игр, вам сначала нужно проверить, что у вас установлена Windows 10 версии 2004 или Build 19041 в меню «Параметры»> «Система»> «О системе».
После обновления до Windows 10 May 2020 Update вам нужно будет скачать драйвер NVIDIA GeForce 451.48+ или Adrenalin 2020 Edition 20.5.1 Beta. В то время как NVIDIA GeForce 451.48 обеспечивает поддержку планирования GPU для всех, в настоящее время AMD ограничила доступность своего нового драйвера для бета-тестеров.
Получив последнюю версию Windows 10 и драйверы, вы можете включить или отключить эту функцию, используя Параметры и Реестр Windows.
Включите или выключите аппаратное ускоренное планирование GPU в настройках
Чтобы включить аппаратное ускоренное планирование GPU в Windows 10, выполните следующие действия:
- Откройте меню «Пуск» и нажмите на значок «Параметры».
В меню «Параметры» нажмите «Система» и откройте вкладку «Дисплей».
В разделе «Несколько дисплеев» выберите «Настройки графики».
Включите или выключите опцию «Аппаратное ускорение планирование GPU».
Включить аппаратное ускоренное планирование GPU с использованием реестра
Для принудительного аппаратного планирования GPU в Windows 10 выполните следующие действия:
- Откройте поиск Windows.
- Найдите «Редактор реестра».
Функция аппаратного ускорения планирования GPU
Короче говоря, функция аппаратного ускорения планирования GPU в Windows 10 представляет собой принципиально новый дизайн работы модели драйвера дисплея Windows (WDDM). Хотя Microsoft говорит, что пользователи не увидят каких-либо существенных изменений после ее активации сейчас, некоторые считают, что эта функция в конечном итоге уменьшит задержку ввода на процессорах младшего и среднего уровня.
Теоретически, функция аппаратного ускорения GPU в Windows 10 передает большинство задач планирования GPU выделенному процессору планирования на основе GPU, который должен немного высвободить процессор и потенциально может привести к небольшому улучшению входной задержки.
Hardware Accelerated GPU Scheduling
Abstract
You may have noticed a mysterious new optional feature called Hardware Accelerated GPU Scheduling appear in the advanced graphics settings page with the Windows 10 May 2020 update. The purpose of this blog is to give some background on this new feature and how we are introducing it. It is intended for folks curious about Windows internals. Remaining on the cutting edge of hardware innovation has always been a critical aspect of our graphics platform. Hardware Accelerated GPU Scheduling enables more efficient GPU scheduling between applications. For most users, this transition will be transparent. It is one of those things that if we do our job right, you will never know the transition happened. As the graphics platform continues to evolve, this modernization will enable new scenarios in the future.
WDDM GPU Scheduler
It has been almost 14 years since the introduction of the Windows Display Driver Model 1.0 (WDDM) and with it the introduction of GPU scheduling in Windows. Few likely remember the pre-WDDM days where applications could simply submit work to the GPU as much as they wanted. They submitted to a global queue where it was executed in a strict “first to submit, first to execute” fashion. These very rudimentary scheduling schemes were workable, at a time where most GPU applications were full screen games, being run one at a time.
With the transition to a broad set of applications using the GPU for richer graphics and animations, the platform needed to better prioritize GPU work to ensure a responsive user experience. Thus, the WDDM GPU scheduler was born.
Over time we have significantly enhanced the GPU scheduler at the heart of WDDM, supporting additional features and scenarios with each new WDDM version. However, throughout its evolution, one aspect of the scheduler was unchanged. We have always had a high-priority thread running on the CPU that coordinates, prioritizes, and schedules the work submitted by various applications.
This approach to scheduling the GPU has some fundamental limitations in terms of submission overhead, as well as latency for the work to reach the GPU. These overheads have been mostly masked by the way applications have traditionally been written. For example, an application would typically do GPU work on frame N, and have the CPU run ahead and work on preparing GPU commands for frame N+1. This buffering of GPU commands into batches allows an application to submit just a few times per frame, minimizing the cost of scheduling and ensuring good CPU-GPU execution parallelism.
An inherent side effect of buffering between CPU and GPU is that the user experiences increased latency. User input is picked up by the CPU during “frame N+1” but is not rendered by the GPU until the following frame. There is a fundamental tension between latency reduction and submission/scheduling overhead. Applications may submit more frequently, in smaller batches to reduce latency or they may submit larger batches of work to reduce submission and scheduling overhead.
Hardware-accelerated GPU scheduling
With Windows 10 May 2020 update, we are introducing a new GPU scheduler as a user opt-in, but off by default option. With the right hardware and drivers, Windows can now offload most of GPU scheduling to a dedicated GPU-based scheduling processor.
Windows continues to control prioritization and decide which applications have priority among contexts. We offload high frequency tasks to the GPU scheduling processor, handling quanta management and context switching of various GPU engines.
The new GPU scheduler is a significant and fundamental change to the driver model. Changing the scheduler is akin to rebuilding the foundation of a house while still living in it. To ensure a smooth transition we are introducing the new scheduler as an early-adopter, opt-in feature. During the transition we will gather large scale performance and reliability data as well as customer feedback.
We are adding UI to the Advanced Graphics Settings page to control enabling the new GPU scheduler. The settings page can be reached through Settings -> System -> Display -> Graphics Settings. If both your GPU and driver support the new GPU scheduler, the UI below will appear.
Which GPUs will support Hardware Scheduling?
The new GPU scheduler will be supported on recent GPUs that have the necessary hardware, combined with a WDDMv2.7 driver that exposes this support to Windows. Please watch for announcements from our hardware vendor partners on specific GPU generations and driver versions this support will be enabled for.
Hardware accelerated GPU scheduling is a big change for drivers. While some GPUs have the necessary hardware, the associated driver exposing this support will only be released once it has gone through a significant amount of testing with our Insider population.
If you are an Insider and have chosen to install a build of Windows from our Fast or Slow distribution ring, you have been running a version of Windows with support for hardware accelerated GPU scheduling. You may have even been part of our experimentation!
As we get under-development drivers from our GPU manufacturer partners, we published these drivers to an Insider version of Windows Update (WU) where distribution is limited to the Insider population. In the Insider Fast Ring, we can run experiments where we silently toggle hardware accelerated GPU scheduling on, on behalf of some users such that we get a mix of users running with and without the new scheduler.
Through our experimentation platform and our telemetry system we can effectively run A/B experiments and compare how systems running with hardware accelerated GPU scheduling compare to systems running our old GPU scheduler. We monitor reliability telemetry such as kernel crashes (bluescreens), user mode crashes, GPU hangs, freeze/deadlocks as well as a limited set of performance metrics.
Once a driver completes support for hardware accelerated scheduling and accumulates enough execution time in our Insider Pool to demonstrate its reliability and performance, it is allowed to be promoted to the public version of Windows Update where it becomes available to everyone running the supported hardware.
Why not have hardware accelerated GPU scheduling on by default for all users given all the care taken before a driver can expose this support? Although we do a lot of validation through our Insider population, the number of system configurations and scenarios in the Insider population does not fully cover what can happen in our eco-system of more than a billion devices. Because hardware accelerated GPU scheduling is such a fundamental pillar of the graphics subsystem and used in absolutely everything that you do on your PC, we decided to introduce it initially as an opt-in to avoid any possible disruption. Users can opt-in through the UI and for new systems, OEM are encouraged to configure and validate their system with hardware accelerated GPU scheduling turned on from the factory.
What to expect when switching to the new GPU scheduler
The transition should be transparent, and users should not notice any significant changes. Although the new scheduler reduces the overhead of GPU scheduling, most applications have been designed to hide scheduling costs through buffering.
The goal of the first phase of hardware accelerated GPU scheduling is to modernize a fundamental pillar of the graphics subsystem and to set the stage for things to come… but that’s going to be a story for a another time 😊.
We do not expect customers to experience performance regressions but if you encounter any, please be sure to file feedback at: https://aka.ms/submitgameperformancefeedback.
Thanks
Please give this a try and let us know what you think!
Планирование графического процессора. Тест и обзор
Доброго времени суток! Сегодня я хотел поговорить о новой функции – «планирование графического процессора с аппаратным ускорением» (англ. Hardware Accelerated GPU Scheduling). Я постараюсь как можно более полно рассказать о ней, предоставлю тесты для сравнения в шести играх, приведу определением и попробую сделать вывод. Начнём с того, где можно включить и с каким оборудованием и при каких условиях данное новшество можно активировать.
Для работы вам понадобится операционная система windows 10 версии 2004 (обновление от 10 мая 2020 года). Видеокарты NVIDIA- Pascal и Turing, с пакетом драйвера версии 451.48 и выше, или амд AMD серий 5600, 5700 драйверами начиная с Adrenalin 2020 Edition 20.5.1 Beta. Активация производится в разделе «Параметры Windows», Система, Дисплей и в данном разделе, в части «Несколько дисплеев», выбрать «настройки графики», переключить ползунок «планирование графического процессора с аппаратным ускорением» и перезагрузить компьютер. Если его нет, значит не выполнено какое то условие. Советую дочитать до конца, прежде проверять.
Определений можно найти два, в своём контексте одно звучит скромнее – «данная функция обеспечивает более эффективное планирование графического процессора между приложениями. Для большинства пользователей этот переход будет прозрачным». Слово «прозрачным» настораживает, как и продолжение «если мы сделаем свою работу правильно, вы никогда не узнаете, что переход произошел … эта модернизация позволит реализовать новые возможности в будущем». Это выдержка из статьи майкрософт, под названием (Hardware Accelerated GPU Scheduling), и сразу скажу, вокруг него и будет построен вывод. АМД и НВИДИА (объединим в одно) дали более громкие определения.
Опр. NVIDIA: это новая функция может потенциально повысить производительность и уменьшить задержку, позволяя видеокарте напрямую управлять собственной памятью.
Опр. AMD: эта функция потенциально может улучшить скорость отклика графического процессора и обеспечить дополнительные инновации в управлении рабочей нагрузкой графического процессора в будущем.
В целом они схожи, а ключевое слово – «потенциально может улучшить производительность и уменьшить задержку». Какую производительность и задержку? Ты можешь подумать о «времени кадра», но не спеши с выводами. На данный момент виндовс продолжает контролировать и решать, какие приложения имеют приоритет в данной ситуации. Но теперь я хочу подробнее рассказать о работе, и почему громкие заявления нвидия и амд стоит сейчас оставить, вместе с данным нововведением (конечно, речь про простого геймера, вроде меня, и возможно тебя).
Создание кадра за раз неэффективно, поэтому существует метод, называемый буферизацией, про которую, а это одно из назначений нововведения. Да это самая большая проблема для GPU. Некоторые приложения позволяют изменить размер буфера (панель управления, настройки игры) или вовсе его отключить, ну а большинство приложений разработано так, чтобы скрыть затраты на планирование с помощью буферизации. Так же, почему то был потерян CPU из виду, ведь он готовит и отправляет команды группами графическому процессору, что в целом увеличивает производительность, которая может проявляться, как повышенная частота кадров, но также увеличивается задержка ввода. Аппаратное ускорение графического процессора разгружает потоки процессора и передаёт на «планирование графического процессора». Некоторый объём данных выгружается из процессора. Как ожидается в теории, более заметен данный эффект будет на младших моделях процессора, достигших 100% загрузки в работе. Однако, на данный момент имитация процессора, как слабого места в ПК, не дала положительных результатов, но не обязательно факт, разные конфигурации систем могут дать разные результаты. Задержкой же, можно назвать нажатую кнопку пользователем, которая проявится уже в работе графического процессора. Hardware-accelerated GPU scheduling» расставляет приоритеты и решает, какие приложения имеют первенство среди прочих задач.
Как ты видишь, в тестах нет никакого смысла. Но раз я их сделал раньше, чем сам прочитал статью, то почему бы и нет. Меня волнуют два вопроса — стоит ли её включать и не будут ли вылеты и т.п. В тесте участвовали 6 игр: Assassin’s Creed Origins, Assassin’s Creed Odyssey, Borderlands 3, Grand Theft Auto V, Red Dead Redemption 2 и S.T.A.L.K.E.R. Call of Pripyat. Я буду использовать аббревиатуру – HWS (Hardware Accelerated GPU Scheduling). Под спойлером общий порядок и система.
Все игры лицензия, в 5 из 6 использован бенчмарк, только один проход бенчмарка, никаких предварительных прогонов, а значит всё как есть. В конце видео показаны все процессы в диспетчеры задач, а так же включено или выключено «планирование графического процессора с аппаратным ускорением». Графические настройки не менялись. Сталкер и Originsпрогонял с изображением «на весь экран», остальные – «полный экран без рамки». Все игры были записаны через программу ShadowPlay в GeForce Experience. Только Assassin’s Creed Originsна SSD, остальные на HDD.
Система: процессор 10700k(OC: 5000), видеокарта GTX 1080, файл подкачки отключён, 32Гб 3800 С17 CR2. Драйвер 452.06.
Assassin’s Creed Origins. Здесь неожиданно с включенной HWS я увидел фризы. Повторял тест, с перезагрузкой, два раза. Ниже результат.
Первое видео с выключенной, второе с включенной HWS:
OFF HWS:минимум 55, средний 84, максимум 140 (всего кадров 10266)
ONHWS: минимум 25, средний 86, максимум 176 (всего кадров 10293)
Assassin’s Creed Odyssey.
Первое видео с выключенной, второе с включенной HWS:
OFF HWS:минимум 43, средний 76, максимум 147 (всего кадров 4868)
ONHWS: минимум 27, средний 79, максимум 157 (всего кадров 5026)
OFF HWS:1% 36 и 0.1% 8 , средний 74, максимум 88, минимум 59
ONHWS: 1% 60 и 0.1% 22 , средний 74, максимум 88, минимум 65
Grand Theft Auto V.
OFF HWS:1% 67 и 0.1% 40 , средний 138, максимум 268, минимум 73
ONHWS: 1% 64 и 0.1% 42 , средний 138, максимум 268, минимум 72
Red Dead Redemption 2.
OFF HWS:1% 45 и 0.1% 29 , средний 55.5, максимум 68.7, минимум 42.9
ONHWS: 1% 45 и 0.1% 30 , средний 56.2, максимум 74.4, минимум 38.7
S.T.A.L.K.E.R. Call of Pripyat+ SGM mod. Небольшая пробежка. Минимальный не отмечаю, фризы есть.
OFF HWS:минимум 51, средний 103, максимум 132
ONHWS: минимум 46, средний 101, максимум 132
В играх AS Odyssey и Originsвырос максимальный и средний FPS, что очень хорошо для данных игр, однако просел минимальный, что и так проблема для слабого процессора в этой игре. Отдельно стоит рассмотреть Бордерлендс 3, где вырос минимальный, но стоит ли это отнести к особенностям бенчмарка. В остальном всё кажется на уровне погрешности. Конечно, данная функция ориентирована на долгосрочную перспективу. Некоторые пользователи проводят тесты, в попытках увидеть изменение, но итог довольно неутешительный. Начнём с вырванных из контекста слов и громких заявлений, и в конечном итоге узко направленных взглядов, а возможно и путаницы в слове «задержка», где фигурируют «задержка ввода» и «время кадра». Что касаемо багов, связанных с работой игр, к примеру было сказано про игру RDR2, лично я столкнулся с производительностью в Origins, но без записи это уже не так заметно, а в комментариях пишут о вылетах в таких играх, как Shadow of the tomb raider, Forza horizon 4, Detroit: become human, Planetside 2. Возможно, уже кое что было поправлено. Лично я, играя в Borderlands 3 в течении пары часов не обнаружил проблем. так или иначе, проблемы есть, как минимум от игры к игре, и к ним стоит быть готовым. Хотя уже прямо было отмечено: «майкрософт непременно будет собирать крупномасштабные данные о производительности и надежности, а также отзывы клиентов».
А в заключении хочется отметить о общем этапе работы на данный момент — модернизация фундаментальной основы графической подсистемы и подготовка почвы для будущих событий. Это обновление, сегодня, не предназначено для непосредственного улучшения производительности в играх. Оно разработано, чтобы улучшить работу будущих функции, о которых ещё не сказали прямо.