Über 100.000 fps?

xyss

Aktives Mitglied
Moin,

Hier sieht man einen (ziemlich naiven) Ansatz zur Berechnung der FPS, und ich frage mich, ob ich da nicht irgendetwas falsch gemacht habe, da die Werte über 100.000 liegen.

Java:
    Runnable gameLoop = new Runnable() {
        public void run() {
        	LOGGER.info("Gameloop started.");
        	int fpsCount = 0;
        	long pre = System.currentTimeMillis();
        	long after = System.currentTimeMillis();
        	
            while (running) {
            	fpsCount++;
            	if (after > pre + 1000){
            		pre = after;
            		fpsCount = 0;
            	}
                p.repaint();
                after = System.currentTimeMillis();
                LOGGER.info("repaint");
            }
        }
    };

Ich weiß, dass es bei Google schon einige FPS-Berechnungs-Anleitungen gibt, ich bin halt einfach verunsichert durch die hohen Werte.


Werte, während ich im Spiel rumgelaufen bin:

111727
109771
110561
110228
111969
111891
111930
94627

Liegt das daran, dass ich im gameLoop nur repainte, und z.B. die Bewegungen der Spieler in anderen Threads durchführe? Oder liege ich komplett daneben? :O
 

Thallius

Top Contributor
repaint() ist asynchron. Das bedeutet, dass Du nicht wirklich zwischen Deinen Zählungen jedesmal ein neues Bild zeichnest.

Gruß

Claus
 

Ähnliche Java Themen

Neue Themen


Oben