Суббота, 27 Апреля 2024, 05:27

Приветствую Вас Гость

[ Новые сообщения · Игроделы · Правила · Поиск ]
  • Страница 1 из 1
  • 1
Форум игроделов » Программирование » Java » Как получить FPS?
Как получить FPS?
musicfunsДата: Воскресенье, 15 Сентября 2013, 17:30 | Сообщение # 1
Gorilla Develop Studio
Сейчас нет на сайте
Дайте пример, ну или хотя бы алгоритм того, как получить FPS?
Просто запилил прототип 2d игрушки на яве, а она частенько подвисает да и жрет много, вот и хочется знать.
Да бы оптимизировать.
TheAceДата: Воскресенье, 15 Сентября 2013, 17:34 | Сообщение # 2
Pain is Pleasure
Сейчас нет на сайте
1) Заводишь переменную
2) Каждый тик прибавляешь к ней 1.
3) Каждую секунду выводишь ее на экран и обнуляешь
4) ??????
5) PROFIT!!!!


The End [3D][TPS]

Сообщение отредактировал TheAce - Воскресенье, 15 Сентября 2013, 17:34
musicfunsДата: Воскресенье, 15 Сентября 2013, 17:49 | Сообщение # 3
Gorilla Develop Studio
Сейчас нет на сайте
TheAce, это уж черезчур алгоритмный алгоритм. Слишком далекий от джавы что-ли.
Но код я нашел. Вот оно чудо:
Код

   long currentTime = System.currentTimeMillis();
                 if (currentTime > nextSecond) {
                     nextSecond += 100;
                     frameInLastSecond = framesInCurrentSecond;
                     framesInCurrentSecond = 0;
                 }
                 framesInCurrentSecond++;
                 g.setColor(Color.GREEN);
                 g.drawString(frameInLastSecond + " fps", 20, 20);


А вот переменные:
Код

static long nextSecond = System.currentTimeMillis() + 1000;
         static int frameInLastSecond = 0;
         static int framesInCurrentSecond = 0;
    

Добавлено (15.09.2013, 17:49)
---------------------------------------------
У меня выходит в среднем 57-63. Иногда падает до 47, но я с нетбука.

FadeBakerДата: Вторник, 17 Сентября 2013, 18:34 | Сообщение # 4
JavaSE Game Developer
Сейчас нет на сайте
Код
long lastTime = System.currentTimeMillis(); //Последнее время в ms
int fps = 0; //Счетчик FPS
while (true) { //Допустим, игровой цикл
    if (System.currentTimeMillis() - lastTime >= 1000L) {
       System.out.println(fps + " fps");
       fps = 0;
       lastTime = System.currentTimeMillis();
    }
    fps++;
}


Уроки по GM
Minecraft 2D на GM
— Мои проекты —
Blood Harvest [2D] — Original
Blood Harvest [2D]: Remastered Edition
Adventure Craft [2D] — Sandbox
Space Shock [2D] — Scroll Shooter
Intel® Core™ i5-3570K 3.40 GHz, 8 GB RAM, GeForce GTX 750 Ti, Monitor: LG 23EA63V-P.
Форум игроделов » Программирование » Java » Как получить FPS?
  • Страница 1 из 1
  • 1
Поиск:

Все права сохранены. GcUp.ru © 2008-2024 Рейтинг