Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Как посчитать FPS в OpenGL

247
26 января 2008 года
wanja
1.2K / / 03.02.2003
Собственно, сабж. Пробовал через WM_CAP_GET_SEQUENCE_SETUP, но получается какая-то ерунда.
1.9K
26 января 2008 года
andriano
474 / / 10.01.2008
А что, собственно, мешает считать напрямую, например, через GetTickCount или HPT?
247
27 января 2008 года
wanja
1.2K / / 03.02.2003
То есть перед началом рисования и после засечь время, вычесть и поделить?
303
28 января 2008 года
makbeth
1.0K / / 25.11.2004
Верно. Обычно рисование происходит в цикле. Засекай время и считай, сколько циклов рисования прошло за минуту. Если GetTickCount не хватит, можно использовать мультимедийные таймеры (тема поднималась неоднократно).
1.9K
28 января 2008 года
andriano
474 / / 10.01.2008
Вообще-то, чтобы посчитать именно FPS, надо брать полное время кадра, т.е. не "перед" и "после", а в одном и том же месте в последующие кадры.
Далее: в силу ряда причин величины, получаемые от кадра к кадру, обычно дают весьма большую погрешность, поэтому в файл протокола, конечно, можно складывать, как есть, а на экран лучше выводить сглаженную величину, примерно так:
MyFPS := MyFPS*(1.0-eps) + NewFPS*eps;
где NewFPS - новая вычисленная велична, а MyFPS - то, что будет выводиться на экран.
eps - де-то в районе 0.01-0.1.
303
29 января 2008 года
makbeth
1.0K / / 25.11.2004
Стоп, стоп, стоп.. Вот насчет ряда причин, по которым возникают погрешности можно подробнее? Про сглаженную величину - согласен. Иначе будут цифры скакать - ничего не разглядишь.
1.9K
29 января 2008 года
andriano
474 / / 10.01.2008
Цитата: makbeth
Стоп, стоп, стоп.. Вот насчет ряда причин, по которым возникают погрешности можно подробнее?

Поподробнее - долго рассказывать. Задавай конкретные вопросы.

303
30 января 2008 года
makbeth
1.0K / / 25.11.2004
Дык я задал - по каким причинам возникают погрешности при вычислении FPS (отсечка времени на "границе" кадра, т.е. время рендера полного кадра)?
Собсно вот...
1.9K
30 января 2008 года
andriano
474 / / 10.01.2008
Всех причин указать, очевидно, не могу, но, думаю, это и не нужно.
1. Погрешности определения времени - здесь, опять же, можно выделить несколько причин.
2. Прерывания ОС.
3. Асинхронная работа нескольких устройств, в частности, CPU, GPU и графического контроллера (GPU обрабатывает данные, используя видеопамять, а графический контроллер читает из экранной области видеопамяти и посылает данные на RAMDAC).
4. Какие-либо процессы на фоне.
303
31 января 2008 года
makbeth
1.0K / / 25.11.2004
Что ж.. я, в принципе согласен. Только вот обычно FPS, скажем в играх, бенчах и т.д. меряют с учетом производительности всей системы, включая фоновые процессы, прерывания. Думаю, никому не будет интересен "чистый" FPS.
Что касается определения времени, то думаю, там погрешности можно не учитывать - слишком они малы :)
1.9K
31 января 2008 года
andriano
474 / / 10.01.2008
Цитата: makbeth
Что ж.. я, в принципе согласен. Только вот обычно FPS, скажем в играх, бенчах и т.д. меряют с учетом производительности всей системы, включая фоновые процессы, прерывания. Думаю, никому не будет интересен "чистый" FPS.

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

Цитата:

Что касается определения времени, то думаю, там погрешности можно не учитывать - слишком они малы :)

Ну, если погрешностью в 50-500% можно пренебречь, - тогда флаг в руки! :)

303
01 февраля 2008 года
makbeth
1.0K / / 25.11.2004
andriano, как то ты странно fps меряешь :)
1.9K
01 февраля 2008 года
andriano
474 / / 10.01.2008
Цитата: makbeth
andriano, как то ты странно fps меряешь :)



Честно говоря, никогда раньше не общался с телепатами.
И о том, как я лично меряю FPS, также не писал.
Но факт остается фактом: результаты получаются вполне вменяемые. Хотя кому-то это и может показаться странным.

Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог