Еще несколько лет назад производительность в играх измерялась при помощи показателя усредненного FPS. Сегодня такой подход уже не используется — измерение производительности по среднему FPS весьма несовершенно и дает большие погрешности. Наверняка те, кто занимается тестами и бенчмарками, часто обращали внимание на показатель 1% и 0.1%. Разберемся что именно он означает и почему используется, а также — узнаем почему средние величины не всегда работают, когда дело доходит до описания производительности выбранных сцен в играх.
Что это такое и на что влияет
Прежде чем мы поговорим о показателях 1% и 0,1%, необходимо упомянуть о нескольких ключевых терминах. Первый — это время отрисовки кадра. Оно измеряется в миллисекундах, но стандартные бенчмарки используют иной показатель — частоту кадров. Частота смены кадров — это общее число кадров, которое было отрисовано видеокартой за одну единицу времени. Именно эта характеристика представляет из себя показатель FPS. Кроме стандартного FPS, существует еще так называемое мгновенное FPS — общее число кадров, отрисованное за одну единицу времени, вычисляемое сразу после построения последнего кадра. Многие геймеры допускают ошибку, принимая показатель мгновенного FPS в качестве скорости смены кадров за одну секунду. На самом деле мгновенный FPS показывает скорость смены кадра не за одну секунду, а на одном кадровом участке. Таким образом, это совсем разные характеристики. Традиционно для измерения производительности в играх используется усредненный FPS. Эта характеристика представляет из себя общее число кадров, которые были сформированы за общее время теста. Средний FPS замеряется по всей игровой сцене. Средний FPS не дает полной информации о производительности в игре. Например — она не берет в расчет «тяжелые» кадры, на отрисовку которых уходит гораздо больше времени. Именно поэтому бенчмарки выводят и другие показатели, которые позволяют точнее получить информацию об уровне производительности в игре на конкретной системе.
Процентили и FPS
Почему в тестах используется 1% и 0,1%? Здесь дело в том, что усредненные значения, для определенного набора данных, далеко не всегда способны дать ясное представление об итоговой выборке. Если мы говорим об измерении производительности в играх, то здесь дело также в постоянном изменении общей сложности кадра. Есть «легкие» кадры, а есть весьма «тяжелые». На отрисовку последних видеокарта может тратить может гораздо больше времени, чем на проработку легких. Сложные кадры могут оставаться на экране гораздо дольше — именно они ведут к тормозам. Другая проблема заключается в том, что «тяжелые» кадры, чаще всего, являются более-менее редкими — именно поэтому они никак не учитываются в показателе среднего FPS. Так что, если бенчмарк сообщает нам, что средний FPS равен 35 кадрам, например, это еще не гарантирует отсутствие глюков/фризов/тормозов в процессе игры, особенно — в сложных сценах. Именно поэтому, для уточнения и расширения всех значений отрисовки времени кадра, в дополнение к среднему FPS, пришлось задействовать так называемый процентиль. Не вдаваясь в математику, можно лишь отметить, что процентиль показывает значение ниже которого падает процент данных. Если говорить проще, процентиль — это показатель от 1 до 100, демонстрирующий какой именно процент данных расположен ниже заданного уровня выборки. Чувствуется, как можно использовать эту функцию, для уточнения производительности через показатель среднего FPS, не так ли? Допустим 30 кадров были отрисованы ровно за одну секунду. Используем процентиль 99 — он позволит нам точно определить и найти 99% данных выборки. В случае с 30-ью кадрами процентиль от числа 99 будет равен 96 миллисекундам. Что означает эта характеристика? Процентиль 99 (=96 миллисекунд) показывает, что 99% данных в выборке не превышают 96 миллисекунд. Следовательно, лишь 1% превышает 96 миллисекунд. Если в выборке недостаточно значений, то и особенной корреляции между процентилем 99 и минимальным уровнем не будет. Другое дело, если в представленном наборе обозначено большое число данных, например — время отрисовки около 2 тысяч кадров. В последнем случае мы получаем время отрисовки уже десятка «тяжелых» кадров. Такая статистика позволит гарантировать более точное описание выборки вместе с наилучшей воспроизводимостью вычислений. Тут мы подходим к самому интересному — в современных игровых бенчмарках используется стандартизированный процентиль. Обычно — это процентиль от числа 99 и процентиль от 99.9 суммарного времени отрисовки кадра. Вот почему в результатах тестов мы и видим процентиль 1 и процентиль 0.1 — это обратные от времени отрисовки кадра процентили FPS. Важный момент: если показатели низких FPS (1% и 0.1%, соответственно) не дотягивают до среднего значения кадровой частоты, то это абсолютно нормально. Дело в том, что визуальная сложность кадров всегда варьируется — эта величина просто не может быть постоянной. Если показатели 1% и 0.1% FPS падают только на отдельной системе, значит она просто не тянет игру. Чтобы не было путаницы, выделим еще два термина. Средний за 1 секунду FPS — это усредненное значение кадросмен за одну секунду. Именно средний FPS по секунде показывают FRAPS и другие утилиты, которые используются для захвата экрана и выводят FPS на экран в играх. Другой показатель FPS — минимальный усредненный за 1 секунду. Он обозначает минимальное усредненное значение кадросмен за одну секунду, соответственно. Этот показатель может превышать низкий 0.1% FPS.
Заключение
Использовать лишь усредненное число кадросмен, для оценки производительности в играх, крайне неэффективно. Описать картину с учетом «тяжелых» и сложных кадров позволяет задействование процентилей. Теперь, когда вы видите в тестах значения 1% и 0,1%, вы точно знаете — они нужны, чтобы сделать статистику по среднему FPS максимально точной. Чтобы получить данные о кадрах в игре, лучше использовать утилиту PresentMon — она работает со всеми API, в отличие от того же FRAPS, который не поддерживает последние DirectX или тот же Vulkan-API. После получения данных о времени кадров их нужно подгрузить в FrameView и оценить результаты.
Источник: https://club.dns-shop.ru/blog/t-99-videokartyi/37604-chto-oznachaet-1-i-0-1-pri-testirovanii-videokart-i-protsessorov/
Присоединяйтесь к ОК, чтобы подписаться на группу и комментировать публикации.
Нет комментариев