view examples/java3d/FPS.java @ 7:243687520bcc

Meh
author samer
date Fri, 05 Apr 2019 21:52:03 +0100
parents 5df24c91468d
children
line wrap: on
line source
import javax.media.j3d.*;
import javax.vecmath.*;
import java.util.Enumeration;

final class FPS extends Behavior {

    protected int nFrames;
    protected long startTime;
    protected final WakeupCondition w;

    public FPS(int nFrames){
        this.nFrames=nFrames;
        w=new WakeupOnElapsedFrames(nFrames);        
    }

    public FPS(){
        this(100);
    }

    public void initialize(){
        setSchedulingBounds(new BoundingSphere(new Point3d(),1000));
        startTime=System.currentTimeMillis();
        wakeupOn(w);
    }

    public void processStimulus(Enumeration criteria){
        long time=System.currentTimeMillis();
        System.err.println("fps: "+ 1000 * (double) nFrames / (double) (time-startTime));
        startTime=time;
        wakeupOn(w);
    }
}