Что такое фрейм тайм в играх

Что такое фрейм тайм в играх

Таймфре́йм (англ. time-frame ) или торговый период — интервал времени, используемый для группировки котировок при построении элементов ценового графика (бара, японской свечи, точки линейного графика).

Внутри выбранного торгового периода из общей истории котировок обычно оставляют только цены открытия, максимума, минимума и закрытия, а также подсчитывают суммарный объём сделок, например, число проданных за это время акций (англ. open, high, low, close, volume ). Для линейного графика может использоваться лишь один выбранный параметр цены (обычно, цена закрытия).

Очень часто торговый период используют в названии графика цены: минутный (каждый элемент графика строится на основании данных за 1 минуту), пятнадцатиминутный (на рисунке), часовой, дневной, недельный.

Распространённой ошибкой является считать, что «часовой» график показывает в окне подробные движения цены за 1 час. «Часовой» означает, что один самый маленький элемент графика формируется в течение часа, а в окне часового графика может содержаться история за несколько календарных месяцев.

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

Для обозначения торговых периодов обычно используют сокращённую запись в виде латинской буквы (чаще заглавной) для обозначения временно́го периода и числового указания количества таких периодов:

  • M — минута (M1 — минутный период, M10 — десятиминутный период).
  • H — час (H1 — часовой период, H4 — четырёхчасовой период).
  • D — день (D или D1 — дневной период).
  • W — неделя (W или W1 иногда Wk — недельный период).
  • MN — месяц (MN или Mo — месячный период).
  • Y — год (Y или Y1 — годовой период).

Фреймтайм — это время подготовки кадра, по сути график, сколько готовится каждый кадр.

Смотри фпс снимает счетчик кадров в секунду.
Это прямая.
Каждый кадр — точка на прямой.

У тебя может быть так, что за первые 0.5 секунды, было подготовлено 10 кадров, а за оставшиеся 50 — в итоге у тебя 60 фпс (60кадров в секунду).

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

На просторах интернета можно найти бессчетное множество статей про видеокарты, но большинство их созданы по одному и тому же принципу: все авторы меряют минимальный и средний FPS, а кто-то еще и максимальный. Насколько ценны эти замеры, насколько объективно они отражают уровень комфорта во время игры? Я пришел к выводу, что не очень, а всё потому, что такая методика совершенно не учитывает микрозадержки, они же микролаги или фризы.

Читайте также:  Как должен работать кулер на процессоре

Проблема микролагов известна давно, особенно остро она стояла лет пять назад у владельцев карт ATI. Суть в том, что на долю секунды FPS падает до неприлично низкого уровня, причем делает это с раздражающей регулярностью. В такой ситуации средний FPS будет в полном порядке, поскольку на пару «медленных» кадров приходится тысяча нормальных, а минимальный FPS покажет только худший лаг, он может быть не очень сильным, но проблема в том, что лаги частые!

реклама

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

В такой ситуации не остается ничего другого, кроме как записывать время отрисовки каждого кадра. Тут может помочь популярнейшая программа FRAPS, а точнее ее способность записывать лог frametimes, хотя это еще полдела. Результаты нужно переработать так, чтобы их было удобно воспринимать, и чтобы получить возможность объективно сравнивать разные системы между собой. В данной статье описан мой способ это сделать.

Демонстрационные примеры снимались на следующем тестовом стенде:

  • Процессор: Intel Core i7 930, 4 ГГц (200 х 20, 1,35 В);
  • Система охлаждения: GlacialTech Siberia;
  • Термоинтерфейс: КПТ-8;
  • Материнская плата: Asus P6T SE (BIOS 0805);
  • Оперативная память: Corsair Dominator TR3X6G1600C8D DDR3 1600 МГц, 8-8-8-20, 3×2 Гбайт;
  • Жесткий диск: WD Velociraptor, WD6500HLHX-01JJPV0, 450 Гбайт;
  • Видеокарта: Sapphire Radeon HD 5670, 1 Гбайт GDDR5;
  • Блок питания: Enermax Modu 87+, 700 Вт.

реклама

Надеюсь, вы решили оценить предлагаемый метод, уже неоднократно испытав классический вариант, поэтому не стану объяснять, где скачать FRAPS, как его установить и как запускать, а перейду сразу к делу. Чтобы получать лог frametimes, достаточно поставить нужную галочку в настройках:

Если вы не меняли пути, то после замеров в каталоге C:FrapsBenchmarks будет появляться файл ***frametimes.csv. Это текстовый файл с запятыми-разделителями, в который еще зачем-то добавлены пробелы, с такими файлами проще всего работать в MS Excel. Открывать файл следует не как обычно, а через импорт данных. В Excel 2007 это вкладка «Данные», группа «Получить внешние данные», кнопка «Из текста».

Читайте также:  Установка программного обеспечения для принтера hp

После указания файла в появившемся мастере текстов на первом шаге оставляйте всё по умолчанию (формат данных: с разделителями), на втором выставите символом-разделителем запятую, третий шаг можете пропустить и сразу нажать «Готово». Импорт следует начать с ячейки A1 (настройка по умолчанию). В итоге должны получиться два столбца данных:

Теперь из этих данных нужно получить время отрисовки каждого кадра и мгновенный FPS. Время отрисовки это не что иное, как разница между временны́ми отметками соседних кадров, а мгновенный FPS – обратная величина времени отрисовки, умноженная на 1000 (поскольку время указано в миллисекундах).

На основе столбца с мгновенными FPS можно построить интересный график. Для примера я взял результаты из бенчмарка «S.T.A.L.K.E.R.: Зов Припяти» со следующими настройками:

  • Разрешение 1680×1050;
  • Установки: средние;
  • Рендер: Улучшенное полное освещение (DX10).

Вот так выглядят мгновенные FPS в первом тесте днем:

Замер по классической схеме выдал minFPS=26 и avgFPS=38,57. Со средним всё понятно (это общее количество кадров, деленное на длину демо сцены в секундах), а про минимальный есть большой вопрос. Какие 26, если кадр №3347 рисовался аж 110 мс, что дает менее 10 FPS. Это явный лаг, заметный на глаз, но значение minFPS говорит, что всё хорошо. И ведь есть полно кадров, с мгновенным FPS меньше 27!

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

реклама

График на основе этих столбцов выглядит так:

Самые быстрые кадры в этом замере выдавали мгновенные значения более 300 FPS, но в этом графике я решил их не учитывать и ограничиться значением 100 FPS. Кстати, FRAPS намерял maxFPS=50. Проверка показала, что это число отражает максимальное количество кадров, отрисованных в течение одной секунды.

Акцент данной статьи сделан на выявлении микролагов, так что предлагаю рассмотреть более подробно «медленные кадры», левее основного «колокола» нормального распределения, скорость которых менее 30 FPS.

реклама

Наверняка кто-то посчитает границу в 30 FPS недостаточной и захочет рассмотреть больший диапазон. Напоминаю: сейчас я описываю теоретический метод, а данная тестовая система просто пример. На компьютерах с более мощными видеокартами основная группа кадров будет располагаться гораздо правее, тогда в «медленную» группу можно включить и 40 FPS, и 50, хотя падение скорости до 50 FPS это вовсе не лаги.

Читайте также:  Установить windows на планшет lenovo tb 73041

Вернемся к графику. Теперь видно, сколько кадров было медленными и насколько медленными. Но картина всё еще не оптимальна для восприятия.

Во-первых, нужно объяснять, что маленькая отметка в значении 9 FPS говорит о худших вещах, чем полоса, скажем, на значении 27 FPS. Один кадр с мгновенной скоростью 9 FPS это статическое изображение на протяжении 110 мс, а четыре кадра 27 FPS наверняка идут непоследовательно, плюс замирание картинки на 37 мс не настолько страшно.

Во-вторых, все привыкли, что в разных столбцах содержатся разные категории. А представьте, что будет, если на этом же графике отобразить такой же набор данных, сдвинутый на 1 FPS вбок – получится хаос из разноцветных лестниц! А если попытаться сравнить штук пять систем?

реклама

График по этому столбцу получается такой:

Теперь время, в течение которого FPS находится ниже определенного уровня, демонстрируется одной простой линией.

реклама

Нет ничего сложного, чтобы провести три замера и вычислить средние результаты.

Не могу похвастаться очень точным совпадением трех вариантов, но качественно все они одинаковы: кадров медленнее 14 FPS практически нет, кадры медленнее 21-25 FPS длятся в сумме 5 секунд.

Давайте посмотрим, как поведет себя эта система в сравнении с другой в том же бенчмарке на одинаковых настройках:

реклама

Основная платформа Платформа для сравнения
Процессор Core i7 930, 4 ГГц (200 х 20) Core i7 920, 3,6 ГГц (180 х 20)
Материнская плата Asus P6T SE Asus P6T Deluxe
Оперативная память 3×2 Гбайт, 1600 МГц, 8-8-8-20 3×2 Гбайт, 1440 МГц, 7-7-7-16
Жесткий диск WD Velociraptor, 450 ГБ 3x WD Raptor 74 ГБ, RAID-0
Видеокарта Radeon HD 5670, 1 Гбайт GDDR5 GeForce 8800 GT, 512 Мбайт DDR3
ОС Windows 7 Ultimate x64 rus Windows 7 Ultimate x64 rus
Особенность «Чистая», недавно установленная система Рабочий компьютер с множеством установленных программ

Если кратко, процессор на основной тестовой платформе разогнан сильнее, но Radeon HD 5670 явно слабее GeForce 8800 GT.

Для начала, вот графики с усредненными по трем замерам minFPS и avgFPS: minFPS | avgFPS

Включите JavaScript, чтобы видеть графики

GeForce 8800 GT легко разгромил соперника… или не легко? Надеюсь, вы уже поняли, что minFPS не показывает скорость самого медленного кадра сцены. Давайте посмотрим на другой график.

Ссылка на основную публикацию
Что такое видеопамять компьютера
Всё о Интернете, сетях, компьютерах, Windows, iOS и Android Видеопамять компьютера и объём памяти видеокарты VRAM Если открыть форум какой-нибудь...
Что значит else в паскале
Следует быть внимательными при использовании вложенных операторов if. Предпочтительнее пользоваться схемой else-if (т.е. вкладывать во внешнюю ветку else), а не...
Что значит в магазинах айфон как новый
Нас часто спрашивают, как определить состояние iPhone. Особенно актуально это при покупке смартфона на вторичном рынке, где чуть ли не...
Что такое вулкан рт на ноутбуке
Vulkan Run Time Libraries — кроссплатформенный API для работы с 2D и 3D графикой и повышения производительности графического процессора. Разработана...
Adblock detector