Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.94/34: Рейтинг темы: голосов - 34, средняя оценка - 4.94
-4 / 0 / 1
Регистрация: 12.03.2013
Сообщений: 110

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

26.04.2013, 11:57. Показов 7645. Ответов 10
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Задача состоит в том , чтобы подсчитать ФПС в игре, подсчитанное значение преобразовать в буфер и потом этот буфер вывести на экран , как вывести буфер на экран я знаю , а вот как подсчитать ФПС нет , как это сделать на с++.

Нашел код одного из форумчанина под ником "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; // и обнуляем кол-во кадров
          }

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

Помогите пожалуйста.
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
26.04.2013, 11:57
Ответы с готовыми решениями:

Моментальный подсчет и вывод на экран
Добрый день! Каким образом в JS реализуется моментальный подсчет, то есть я вбиваю в текстовое поле значение, а оно сразу умножается...

Выборка данных, подсчет и вывод на экран
добрый день, всем! Пишу функцию суть которой: 1. Выбирает из таблицы "сотрудники", номера всех сотрудников 2. Подсчитывает из...

Подсчет количества полей в таблице и вывод значения на экран( Access)
Добрый день! Вот пришлось написать маленький модуль для accessa, все не могу разобраться,как в переменную занести поля таблици, как...

10
Эксперт С++
4986 / 3093 / 456
Регистрация: 10.11.2010
Сообщений: 11,170
Записей в блоге: 10
26.04.2013, 12:25
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;
}
1
-4 / 0 / 1
Регистрация: 12.03.2013
Сообщений: 110
26.04.2013, 12:35  [ТС]
Цитата Сообщение от 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;
}
что подразумевается под что-то рисуем??? я так полагаю это процесс отрисовки кадров в игре в секунду?
0
Эксперт С++
4986 / 3093 / 456
Регистрация: 10.11.2010
Сообщений: 11,170
Записей в блоге: 10
26.04.2013, 12:44
Похоже я начинаю догадываться... Тебе надо подсчитать FPS в какой игре? В своей?
1
-4 / 0 / 1
Регистрация: 12.03.2013
Сообщений: 110
26.04.2013, 12:54  [ТС]
Цитата Сообщение от lazybiz Посмотреть сообщение
Похоже я начинаю догадываться... Тебе надо подсчитать FPS в какой игре? В своей?
нет в чужой и вывести показатель ФПС в моём ДиректХ приложении
0
Эксперт С++
4986 / 3093 / 456
Регистрация: 10.11.2010
Сообщений: 11,170
Записей в блоге: 10
26.04.2013, 12:57
Это очень сложно. Ты зря этим занялся.
1
-4 / 0 / 1
Регистрация: 12.03.2013
Сообщений: 110
26.04.2013, 13:03  [ТС]
Цитата Сообщение от lazybiz Посмотреть сообщение
Это очень сложно. Ты зря этим занялся.
Мне сказали на другом сайте, что не очень сложно , думай сам исходники не дадим и т.д.
А что нужно для подсчета ФПС?
0
:)
Эксперт С++
4773 / 3267 / 497
Регистрация: 19.02.2013
Сообщений: 9,046
26.04.2013, 13:06
Цитата Сообщение от ВДВ777 Посмотреть сообщение
А что нужно для подсчета ФПС?
Знать сколько кадров было обработано за секунду.
1
-4 / 0 / 1
Регистрация: 12.03.2013
Сообщений: 110
26.04.2013, 13:10  [ТС]
Цитата Сообщение от Tulosba Посмотреть сообщение
Знать сколько кадров было обработано за секунду.
В этом то и вся суть....как это рассчитать на с++?

- хендл окна игры есть
- чтение памяти игры есть
- короче полный доступ к игре есть
- а подсчитать кадры.....беда какая-то получается......
0
:)
Эксперт С++
4773 / 3267 / 497
Регистрация: 19.02.2013
Сообщений: 9,046
26.04.2013, 13:56
Цитата Сообщение от ВДВ777 Посмотреть сообщение
короче полный доступ к игре есть
Не очень понимаю, что Вы имеете в виду под полным доступом. Исходный код игры есть? Как Вы можете определить что был обработан очередной кадр?
0
-4 / 0 / 1
Регистрация: 12.03.2013
Сообщений: 110
26.04.2013, 17:55  [ТС]
Цитата Сообщение от Tulosba Посмотреть сообщение
Не очень понимаю, что Вы имеете в виду под полным доступом. Исходный код игры есть? Как Вы можете определить что был обработан очередной кадр?
исходного кода игры нет, я думал это делается через процессор или видео карту ....
полный доступ - чтение и запись памяти игры.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
26.04.2013, 17:55
Помогаю со студенческими работами здесь

Подсчет и вывод на экран суммы элементов массива с нечётными значениями
Составьте программу , которая заполняет массив a случайными целыми числами в диапозоне от1 до 10 и выводит на экран сумму эллементов...

Подсчёт количества букв "a" в файле и вывод на экран [tasm]
Вот что-то написал. Не запускается. .486 model small Data SEGMENT use16 ASSUME ds: Data mess1 db 'Source file name: ','$' ...

Проседает фпс, нестабильный фпс в csgo и других играх
Процессор: i3 6100 3.7 GHz Видеокарта: nvidia 1050 Материнская плата: H110M PRO-d ОЗУ 8 гб 1 планка HDD 1 гиг Видеокарта...

Не могу понять как делать вывод на экран структуры STUDENT на заполнение и вывод данных на экран
Добрый вечер. Вот задание и мой код программы на C++ Не выходит нормально реализовать 3е задание. Первая проблема в том, что вывод на...

Во время игры стало проседать фпс с 60 на 15-20 фпс
иногда во время игры стало проседать фпс с 60 на 15-20 фпс, секунд на 5, затем снова 60... начал искать причину - увидел, что садятся...


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

Или воспользуйтесь поиском по форуму:
11
Ответ Создать тему
Новые блоги и статьи
Подстановка значения реквизита справочника в табличную часть документа
Maks 10.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: при выборе сотрудника (справочник Сотрудники) в ТЧ документа. . .
Очистка реквизитов документа при копировании
Maks 09.04.2026
Алгоритм из решения ниже применим как для типовых, так и для нетиповых документов на самых различных конфигурациях. Задача: при копировании документа очищать определенные реквизиты и табличную. . .
модель ЗдравоСохранения 8. Подготовка к разному выполнению заданий
anaschu 08.04.2026
https:/ / github. com/ shumilovas/ med2. git main ветка * содержимое блока дэлэй из старой модели теперь внутри зайца новой модели 8ATzM_2aurI
Блокировка документа от изменений, если он открыт у другого пользователя
Maks 08.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа, разработанного в конфигурации КА2. Задача: запретить редактирование документа, если он открыт у другого пользователя. / / . . .
Система безопасности+живучести для сервера-слоя интернета (сети). Двойная привязка.
Hrethgir 08.04.2026
Далее были размышления о системе безопасности. Сообщения с наклонным текстом - мои. А как нам будет можно проверить, что ссылка наша, а не подделана хулиганами, которая выбросит на другую ветку и. . .
Модель ЗдрввоСохранения 7: больше работников, больше ресурсов.
anaschu 08.04.2026
работников и заданий может быть сколько угодно, но настроено всё так, что используется пока что только 20% kYBz3eJf3jQ
Дальние перспективы сервера - слоя сети с космологическим дизайном интефейса карты и логики.
Hrethgir 07.04.2026
Дальнейшее ближайшее планирование вывело к размышлениям над дальними перспективами. И вот тут может быть даже будут нужны оценки специалистов, так как в дальних перспективах всё может очень сильно. . .
Горе от ума
kumehtar 07.04.2026
Эта мне ментальная установка, что вот прямо сейчас, мол, мне для полного счастья не хватает (нужное вписать), и когда я этого достигну - тогда и полный кайф. Одна из самых сильных ловушек на пути. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru