Використання gpu
Використовуйте інструмент обліку використання GPU в концентраторі продуктивності і діагностики Visual Studio, щоб отримати більш повне уявлення про високорівневої використанні обладнання в вашому додатку Direct3D. З його допомогою можна визначити, прив'язана чи продуктивність додатка до ЦП або GPU, і зрозуміти, як більш ефективно використовувати обладнання платформи. Інструмент обліку використання GPU підтримує програми, що використовують Direct3D 12, Direct3D 11 і Direct3D 10 і не підтримує інші графічні API, наприклад Direct2D або OpenGL.
Це вікно GPU Usage Report (Звіт про використання GPU):

Нижче наведені вимоги щодо використання інструменту обліку використання GPU, що доповнюють вимоги по діагностиці графіки.
GPU і драйвер, що підтримують необхідний інструментірованіе синхронізації.
Додаткові відомості про підтримувані драйвери і обладнанні см. В розділі Підтримка обладнання та драйверів в кінці цього документа.
Додаткові відомості про вимоги щодо діагностики графіки см. В розділі Початок роботи.
При запуску програми під управлінням інструменту обліку використання GPU система Visual Studio створює сеанс діагностики, що виводить високорівневу інформацію про продуктивність відтворення програми та використанні GPU в режимі реального часу.
Запуск інструментом обліку використання GPU:
У головному меню виберіть Налагодження. потім Продуктивність і діагностика (поєднання клавіш на клавіатурі: ALT + F2).
У концентраторі «Продуктивність і діагностика» встановіть прапорець Використання GPU. При необхідності встановіть прапорці для інших цікавлять вас інструментів. Можна одночасно запустити кілька інструментів продуктивності і діагностики, щоб отримати більш повне уявлення про продуктивність програми.

Не всі інструменти продуктивності і діагностики можна використовувати одночасно.
Натисніть синю кнопку Пуск в нижній частині концентратора «Продуктивність і діагностика», щоб запустити додаток під управлінням обраних інструментів.
Високорівневі відомості, які відображаються в режимі реального часу, включає в себе синхронізацію кадрів, частоту кадрів і рівень використання GPU. Всі ці елементи, можна переглянути незалежно один від одного, проте використовується загальна шкала часу, щоб можна було легко знайти зв'язок між ними.
Графіки Frame time (ms) (Час кадру (мс)) і Кадрів в секунду (кадрів / с) (Кадрів в секунду (кадрів / с)) містять дві червоні горизонтальні лінії, що представляють цільові показники продуктивності для 60 і 30 кадрів в секунду. На графіку Час кадру додаток перевищує цільовий показник продуктивності, коли графік проходить під лінією, і не досягає його, коли графік проходить над лінією. На графіку числа кадрів в секунду діє зворотний принцип - додаток перевищує цільовий показник продуктивності, коли графік проходить над лінією, і не досягає його, коли графік проходить під лінією. В основному ці графіки використовуються для отримання загального уявлення про продуктивність програми та виявлення вповільнень в роботі, які може знадобитися перевірити, наприклад, несподіваного падіння частоти кадрів або піку завантаження GPU.
Якщо ви хочете докладніше розглянути проблему продуктивності або використання, зупиніть збір відомостей про продуктивність, щоб дати системі можливість створити необхідний звіт.
У нижній частині вікна сеансу діагностики виберіть посилання Зупинка збору або натисніть кнопку Зупинити у верхньому лівому кутку.

У верхній частині звіту виберіть частину одного з графіків, де зображена відповідна проблема. Обраний фрагмент може мати довжину до 3 секунд, довші фрагменти усікаються з кінця.


Відкривається новий документ з вкладками, що містить звіт. Звіт про використання GPU допомагає визначити, коли подія графіки було запущено на ЦП, коли воно досягло GPU і скільки часу знадобилося GPU для його виконання. Ці відомості допомагають виявити вузькі місця і можливості для підвищення рівня паралелізму в коді.
У верхній частині звіту про використання GPU відображаються тимчасові шкали для операцій обробки ЦП, операцій відтворення GPU і операцій копіювання ЦП. Ці тимчасові шкали розділені світло-сірими вертикальними смугами, що представляють вертикальну синхронізацію дисплея; частота смуг відповідає частоті поновлення одного з дисплеїв (обраного в списку Дисплей), для якого були зібрані дані про використання GPU. Оскільки частота оновлення зображення на дисплеї може перевищувати цільовий показник продуктивності, пряма залежність вертикальної синхронізації і частоти кадрів, якій має досягти додаток, може бути відсутнім. Щоб досягти цільового показника продуктивності, додаток повинен завершити всю обробку, здійснити отрисовку і здійснити телефонний дзвінок Present () з цільовою частотою кадрів, проте отрисовать кадр не буде відображатися до виконання наступної після Present () вертикальної синхронізації.
У нижній частині відображається список подій графіки, що виникли за охоплений в звіті період часу.
Це вікно звіту про використання GPU:

Щоб спростити пошук потрібних даних, можна відфільтрувати звіт про використання GPU по іменах процесів, ідентифікаторів потоків і іменах подій. Крім того, можна вказати, частота оновлення якого дисплея визначає лінії вертикальної синхронізації, і впорядкувати події за рівнями ієрархії, якщо ваше додаток використовує інтерфейс ID3DUserDefinedAnnotation для угруповання команд відтворення.
Нижче наведені додаткові відомості:
Елемент управління фільтра
Ім'я процесу, який вас цікавить. У цей список, що розкривається включаються всі процеси, які брали GPU під час сеансу діагностики. Колір, пов'язаний з процесом в цьому списку, є кольором операцій потоку на наведених нижче тимчасових шкалах.
Ідентифікатор потоку, який вас цікавить. У багатопотоковому додатку це може допомогти ізолювати певні потоки, пов'язані з цікавить вас процесу. Події, пов'язані з обраним потоком, виділяються на кожній часовій шкалі.
Номер дисплея, для якого відображається частота оновлення Note: Деякі драйвери можна налаштувати для подання декількох фізичних дисплеїв як одного великого віртуального дисплея. Може відображатися тільки один дисплей, навіть якщо до комп'ютера підключено кілька дисплеїв.
Ключові слова, які вас цікавлять. У нижній частині звіту будуть відображатися тільки ті події, які повністю або частково відповідають ключовим словом. Можна вказати кілька ключових слів, розділяючи їх крапкою з комою (;).
Прапорець, який вказує, зберігаються або ігноруються ієрархії подій, визначені за допомогою призначених для користувача маркерів.
Список подій в нижній частині звіту про використання GPU містить відомості про кожну подію.