Калькулятор узкого места CPU и GPU

Измеренное время кадра вместо универсальной оценки узкого места

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

Анализ времени кадра

Опишите условия теста производительности

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

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

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

Как проанализировать узкое место CPU или GPU

  1. 1

    Запишите воспроизводимую сцену

    Используйте встроенный тест производительности, повтор или фиксированный маршрут при неизменных разрешении, настройках графики, ограничении частоты кадров и состоянии VSync. Перед записью дайте игре прогреться.

  2. 2

    Введите время CPU на кадр

    Скопируйте из профилировщика или записи производительности время обработки одного кадра процессором в миллисекундах. Используйте репрезентативное значение за выбранный интервал теста.

  3. 3

    Введите время GPU на кадр

    Скопируйте соответствующее время GPU из той же сцены и того же интервала записи. Не объединяйте результаты разных запусков, наборов настроек или разрешений.

  4. 4

    Задайте допуск и оцените результат

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

Время кадра: полезная отправная точка

Частота кадров в секунду обратно пропорциональна времени кадра. Если время измеряется в миллисекундах:

предел частоты кадров = 1000 / время кадра в мс

В упрощённой модели предел всего конвейера задаёт более медленный из измеренных этапов:

расчётный предел = 1000 / max(время кадра CPU, время кадра GPU)

Это диагностическая оценка, а не обещание, что игра будет выводить кадры точно с такой частотой. На фактическую частоту кадров могут влиять её ограничение, синхронизация, очереди, работа движка, загрузка данных, планирование операционной системы и вывод на экран. В рекомендациях Microsoft по профилированию DirectX время CPU и GPU на кадр определяется отдельно, поскольку доступный бюджет кадра может превысить любая из сторон.

Целевая частота кадров Бюджет времени на кадр
30 FPS 33,33 мс
60 FPS 16,67 мс
120 FPS 8,33 мс
144 FPS 6,94 мс
240 FPS 4,17 мс

Преобразование 1000 / ms показывает предельную частоту для измеренного этапа. Например, время CPU 12 мс соответствует примерно 83,33 FPS, а время GPU 7 мс, примерно 142,86 FPS. В этой записи сторона CPU медленнее, поэтому упрощённая оценка предельной частоты составляет около 83,33 FPS.

Почему важен допуск

При близком времени кадра нельзя делать категоричные выводы. Калькулятор сравнивает абсолютную разницу со временем более медленной стороны:

относительный разрыв = |CPU ms - GPU ms| / max(CPU ms, GPU ms) × 100

Если разница укладывается в выбранный допуск, результат для этой записи считается сбалансированным или неопределённым. Если она превышает допуск, текущим ограничивающим звеном считается сторона с большим временем кадра.

Время CPU Время GPU Относительная разница Результат при допуске 5%
12,0 мс 7,0 мс 41,67% Ограничение со стороны CPU
6,0 мс 10,0 мс 40,00% Ограничение со стороны GPU
8,0 мс 8,3 мс 3,61% Баланс или слишком малая разница для вывода

Этот процент описывает разницу между двумя значениями времени в одной рабочей нагрузке. Он не показывает, какая доля ресурсов CPU или GPU тратится впустую, и не предсказывает прирост производительности после замены оборудования.

Обеспечьте воспроизводимость записи

Для полезного сравнения рабочая нагрузка должна оставаться неизменной. Используйте одни и те же:

  • версию игры и движка;
  • сохранение, повтор, последовательность теста производительности или фиксированный маршрут движения;
  • разрешение, масштаб рендеринга, набор настроек качества и графический API;
  • ограничение частоты кадров, VSync и состояние динамического разрешения;
  • настройки драйвера, режим питания и фоновую нагрузку;
  • продолжительность прогрева и записи.

Запустите тест несколько раз и сравнивайте репрезентативные статистические показатели, а не полагайтесь на один короткий замер. В рекомендациях AMD по производительности CPU предлагается фиксировать такие переменные, как тестовая сцена и начальное значение генератора случайных чисел. В руководстве AMD по Unreal Engine изменение разрешения используется как диагностический приём: если значительно более высокое разрешение рендеринга почти не влияет на производительность, это повод проверить, не ограничивает ли CPU данную рабочую нагрузку. Но это всё равно лишь свидетельство, а не универсальный вердикт.

Почему загрузка не служит доказательством

Уровень загрузки может дополнить диагностику, но сам по себе ничего не доказывает. Общая загрузка CPU может выглядеть умеренной, даже если один основной поток или поток рендеринга работает на пределе. Низкая загрузка GPU может быть вызвана ограничением частоты кадров, ожиданием CPU, синхронизацией или недостаточным объёмом переданной работы. Высокая загрузка GPU говорит лишь о том, что устройство было занято; она не указывает точный ресурсоёмкий этап и не предсказывает результат модернизации.

Инструменты анализа времени дают больше контекста. Intel PresentMon записывает телеметрию кадров и GPU, NVIDIA Nsight показывает длительность кадра на CPU и GPU, а также диапазоны рабочей нагрузки GPU, а AMD Radeon GPU Profiler визуализирует время в очередях и периоды простоя GPU. Даже пороговые значения профилировщиков, это эвристика: при классификации ограничения со стороны CPU Radeon GPU Profiler использует настраиваемый порог простоя GPU, а не универсальный закон для любого движка.

Что показывает и чего не показывает 1% Low

Показатель 1% Low характеризует медленную часть распределения времени кадров, поэтому помогает обнаружить неравномерность вывода, которую может скрыть среднее значение. Но он не показывает, чем вызваны медленные кадры: CPU, GPU, потоковой загрузкой ресурсов, компиляцией шейдеров, нехваткой памяти или другой задержкой.

Определения также различаются. В одних отчётах частота рассчитывается по 99-му процентилю времени кадра (1000 / время кадра p99), в других усредняется частота кадров для самого медленного 1% выборки. NVIDIA Nsight Systems определяет длину кадра на 99-м процентиле как значение, которое превышает лишь 1% кадров. При сравнении результатов фиксируйте инструмент и используемое определение и не подставляйте 1% Low вместо соответствующих значений времени CPU и GPU на кадр.

Почему универсальные проценты узкого места вводят в заблуждение

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

Калькуляторы по названиям моделей не способны учитывать эти условия. Результат вроде «узкое место 23%» без измерений времени в одной и той же сцене не имеет устойчивого технического смысла. Используйте этот калькулятор для описания фактически записанного замера, повторяйте тест с интересующей вас нагрузкой, а для поиска конкретной причины применяйте профилировщик временной шкалы.

Официальные технические источники

Часто задаваемые вопросы

Введите время CPU и GPU на кадр в миллисекундах из одной и той же записи профилировщика и одной сцены. Не вводите общие проценты загрузки, заявленные тактовые частоты, баллы тестов производительности или значения времени, полученные при разных настройках.

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

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

Нет. Эти показатели описывают разные части фактически выведенных кадров и не являются значениями времени CPU и GPU. Используйте соответствующие друг другу измерения CPU и GPU в миллисекундах. Среднюю частоту кадров и 1% Low рассматривайте отдельно, как показатели пропускной способности и равномерности времени кадра.

Разрешение и масштаб рендеринга обычно напрямую влияют на нагрузку GPU сильнее, чем на моделирование или отправку команд со стороны CPU. Их повышение может сделать время GPU более длительным, а снижение, выявить ограничение со стороны CPU при более высокой частоте кадров. Новый результат описывает новую рабочую нагрузку и не противоречит предыдущему.

Сопутствующие инструменты

Калькулятор прогноза роста взрослого

Оцените целевой взрослый рост ребенка по росту биологических родителей, в сантиметрах или футах/дюймах, с типичным целевым диапазоном.

Калькулятор балясин

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

Калькулятор длины дуги

Рассчитайте длину дуги окружности по радиусу и центральному углу или по хорде и радиусу, с результатами в градусах и радианах.

Калькулятор Social Security США

Оцените пенсионную выплату Social Security в США по PIA и возрасту начала получения. Сравните месячные и годовые суммы в 62 года, FRA 67 и 70 лет.

Калькулятор нумерологии

Рассчитайте нумерологические числа имени по пифагорейским или халдейским значениям букв: выражение, стремление души и личность.

Калькулятор времени работы батареи

Рассчитайте, как долго прослужит батарея, исходя из её ёмкости в мА·ч, тока нагрузки в мА и коэффициента эффективности разряда. Получите время работы в часах, днях и минутах.