Форум программистов, компьютерный форум CyberForum.ru

Подсчет ФПС и вывод на экран - C++

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 12, средняя оценка - 4.67
ВДВ777
-4 / 0 / 0
Регистрация: 12.03.2013
Сообщений: 110
26.04.2013, 11:57     Подсчет ФПС и вывод на экран #1
Задача состоит в том , чтобы подсчитать ФПС в игре, подсчитанное значение преобразовать в буфер и потом этот буфер вывести на экран , как вывести буфер на экран я знаю , а вот как подсчитать ФПС нет , как это сделать на с++.

Нашел код одного из форумчанина под ником "programina"

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
DWORD FrameCnt;    // кол-во кадров
          float TimeElapsed; // промежуток времени
          float FPS;           // наш фпс
          float oldTime;
          float newTime;
          float deltatime;
 
          FrameCnt++; // c каждым кадром увеличивается на 1, т.е. это кол-во кадров кот. мы разделим на промежуток времени
          newTime = GetTickCount(); // записываем в ньютайм время после всех выполненных операциях
          deltatime = newTime - oldTime; // узнаем сколько времени проходит от начала до конца
          TimeElapsed += deltatime; // и прибавляем эту разницу к таймэлапседу
 
          if(TimeElapsed >= 500.0) // если в таймэлапседе накопилось 0.5 сек, то
          {
            FPS = 1000*(float)FrameCnt / TimeElapsed; // делим кол-во кадров прошедшее за полсекунды на таймэлапсед(равный примерно 0.5 сек)
            TimeElapsed = 0.0f; // обнуляем таймэлапсед, для следующего подсчета
            FrameCnt = 0; // и обнуляем кол-во кадров
          }

Но этот код компилируется , но не работает.

Помогите пожалуйста.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
26.04.2013, 11:57     Подсчет ФПС и вывод на экран
Посмотрите здесь:

Вывод на экран времени C++
Вывод на экран списка C++
Вывод на экран чётных слов строки исправить на вывод нечётных слов C++
Вывод массива на экран C++
C++ Предусмотреть подсчет общего количества перестановок и вывод промежуточного массива после каждого цикла сортировки
Работа с объектами класса: вывод на консоль, подсчет суммы C++
C++ Подсчет и вывод гласных букв кирилицы
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
castaway
Эксперт С++
4867 / 3006 / 370
Регистрация: 10.11.2010
Сообщений: 11,056
Записей в блоге: 10
Завершенные тесты: 1
26.04.2013, 12:25     Подсчет ФПС и вывод на экран #2
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
static DWORD total = 0;
static DWORD frames = 0;
DWORD start = GetTickCount();
 
... что-то рисуем
 
frames++;
total += GetTickCount() - start;
if ( total >= 1000 /* одна секунда */ ) {
    DWORD fps = frames * 1000 / total;
 
    ... выводим fps
 
    frames = 0;
    total = 0;
}
ВДВ777
-4 / 0 / 0
Регистрация: 12.03.2013
Сообщений: 110
26.04.2013, 12:35  [ТС]     Подсчет ФПС и вывод на экран #3
Цитата Сообщение от lazybiz Посмотреть сообщение
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
static DWORD total = 0;
static DWORD frames = 0;
DWORD start = GetTickCount();
 
... что-то рисуем
 
frames++;
total += GetTickCount() - start;
if ( total >= 1000 /* одна секунда */ ) {
    DWORD fps = frames * 1000 / total;
 
    ... выводим fps
 
    frames = 0;
    total = 0;
}
что подразумевается под что-то рисуем??? я так полагаю это процесс отрисовки кадров в игре в секунду?
castaway
Эксперт С++
4867 / 3006 / 370
Регистрация: 10.11.2010
Сообщений: 11,056
Записей в блоге: 10
Завершенные тесты: 1
26.04.2013, 12:44     Подсчет ФПС и вывод на экран #4
Похоже я начинаю догадываться... Тебе надо подсчитать FPS в какой игре? В своей?
ВДВ777
-4 / 0 / 0
Регистрация: 12.03.2013
Сообщений: 110
26.04.2013, 12:54  [ТС]     Подсчет ФПС и вывод на экран #5
Цитата Сообщение от lazybiz Посмотреть сообщение
Похоже я начинаю догадываться... Тебе надо подсчитать FPS в какой игре? В своей?
нет в чужой и вывести показатель ФПС в моём ДиректХ приложении
castaway
Эксперт С++
4867 / 3006 / 370
Регистрация: 10.11.2010
Сообщений: 11,056
Записей в блоге: 10
Завершенные тесты: 1
26.04.2013, 12:57     Подсчет ФПС и вывод на экран #6
Это очень сложно. Ты зря этим занялся.
ВДВ777
-4 / 0 / 0
Регистрация: 12.03.2013
Сообщений: 110
26.04.2013, 13:03  [ТС]     Подсчет ФПС и вывод на экран #7
Цитата Сообщение от lazybiz Посмотреть сообщение
Это очень сложно. Ты зря этим занялся.
Мне сказали на другом сайте, что не очень сложно , думай сам исходники не дадим и т.д.
А что нужно для подсчета ФПС?
Tulosba
:)
Эксперт С++
4382 / 3225 / 297
Регистрация: 19.02.2013
Сообщений: 9,044
26.04.2013, 13:06     Подсчет ФПС и вывод на экран #8
Цитата Сообщение от ВДВ777 Посмотреть сообщение
А что нужно для подсчета ФПС?
Знать сколько кадров было обработано за секунду.
ВДВ777
-4 / 0 / 0
Регистрация: 12.03.2013
Сообщений: 110
26.04.2013, 13:10  [ТС]     Подсчет ФПС и вывод на экран #9
Цитата Сообщение от Tulosba Посмотреть сообщение
Знать сколько кадров было обработано за секунду.
В этом то и вся суть....как это рассчитать на с++?

- хендл окна игры есть
- чтение памяти игры есть
- короче полный доступ к игре есть
- а подсчитать кадры.....беда какая-то получается......
Tulosba
:)
Эксперт С++
4382 / 3225 / 297
Регистрация: 19.02.2013
Сообщений: 9,044
26.04.2013, 13:56     Подсчет ФПС и вывод на экран #10
Цитата Сообщение от ВДВ777 Посмотреть сообщение
короче полный доступ к игре есть
Не очень понимаю, что Вы имеете в виду под полным доступом. Исходный код игры есть? Как Вы можете определить что был обработан очередной кадр?
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
26.04.2013, 17:55     Подсчет ФПС и вывод на экран
Еще ссылки по теме:

C++ Вывод нулей на экран
Многократный вывод на экран C++
C++ Вывод на экран
C++ Подсчет количества каждого слова в строке и вывод по порядку
C++ вывод из файла на экран

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
ВДВ777
-4 / 0 / 0
Регистрация: 12.03.2013
Сообщений: 110
26.04.2013, 17:55  [ТС]     Подсчет ФПС и вывод на экран #11
Цитата Сообщение от Tulosba Посмотреть сообщение
Не очень понимаю, что Вы имеете в виду под полным доступом. Исходный код игры есть? Как Вы можете определить что был обработан очередной кадр?
исходного кода игры нет, я думал это делается через процессор или видео карту ....
полный доступ - чтение и запись памяти игры.
Yandex
Объявления
26.04.2013, 17:55     Подсчет ФПС и вывод на экран
Ответ Создать тему
Опции темы

Текущее время: 10:45. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru