Хочу что бы когда поставлю брейкпоинт и дельтатайм вылетит в несколько секунд у меня не поотваливались всякие подсистемы.
Первым на ум приходит среднее арифметическое. Но оно будет работать нормально только если у меня постоянно держится стабильный фпс, и иногда бывают пики.
Надо что-то более продвинутое, что бы отбрасывало высокие значения с каким-то порогом. Т.е. если дельта т всегда 16 мсек, и тут приходит 5 сек, то сглаживаем его до 16 мсек, а если приходит 20-30 мсек - то оставляем их. Как определить этот самый вменяемый порог? Как много предыдущих значений хранить? Какой фильтр использовать?
StiX
> Хочу что бы когда поставлю брейкпоинт и дельтатайм вылетит в несколько секунд у
> меня не поотваливались всякие подсистемы.
real_delta = min( current_delta, max_delta )
> Первым на ум приходит среднее арифметическое. Но оно будет работать нормально
> только если у меня постоянно держится стабильный фпс, и иногда бывают пики.
оно никогда не будет работать "нормально" по причине бессмысленности :)
> Надо что-то более продвинутое, что бы отбрасывало высокие значения с каким-то
> порогом. Т.е. если дельта т всегда 16 мсек, и тут приходит 5 сек, то сглаживаем
> его до 16 мсек, а если приходит 20-30 мсек - то оставляем их. Как определить
> этот самый вменяемый порог?
Для себя реши какой максимальный допуск по времени после которого игру надо "тормозить", и ограничивай этой константой.
> Как много предыдущих значений хранить? Какой фильтр
> использовать?
Не надо хранить никаких предыдущих значений. Фильтр использовать min().
P.S. Если у тебя не одиночные пики, а скачет фпс "пилой", как показано в странной ссылке постом выше, то надо искать причину и исправлять, а не бороться с насморком отрубанием головы со следствием странными сглаживаниями дельты.
Медианный фильтр?
Медианный фильтр!
Tonal
> Медианный фильтр!
Отложить наступление звиздеца на половину окна фильтра, это так круто :)
outcast
> Отложить наступление звиздеца на половину окна фильтра, это так круто :)
> real_delta = min( current_delta, max_delta )
ага, он самый
Тема в архиве.