annotate src/samer/j3d/FPS.java @ 8:5e3cbbf173aa tip

Reorganise some more
author samer
date Fri, 05 Apr 2019 22:41:58 +0100
parents bf79fb79ee13
children
rev   line source
samer@0 1 /* Credit: got this from Particles java 3d demo app
samer@0 2 by Jeff White (jsw@cs.brown.edu)
samer@0 3 */
samer@0 4
samer@0 5 package samer.j3d;
samer@0 6
samer@0 7 import javax.media.j3d.*;
samer@0 8 import javax.vecmath.*;
samer@0 9 import java.util.Enumeration;
samer@0 10
samer@0 11 final class FPS extends Behavior {
samer@0 12
samer@0 13 protected int nFrames;
samer@0 14 protected long startTime;
samer@0 15 protected final WakeupCondition w;
samer@0 16
samer@0 17 public FPS(int nFrames){
samer@0 18 this.nFrames=nFrames;
samer@0 19 w=new WakeupOnElapsedFrames(nFrames);
samer@0 20 }
samer@0 21
samer@0 22 public FPS(){
samer@0 23 this(100);
samer@0 24 }
samer@0 25
samer@0 26 public void initialize(){
samer@0 27 setSchedulingBounds(new BoundingSphere(new Point3d(),1000));
samer@0 28 startTime=System.currentTimeMillis();
samer@0 29 wakeupOn(w);
samer@0 30 }
samer@0 31
samer@0 32 public void processStimulus(Enumeration criteria){
samer@0 33 long time=System.currentTimeMillis();
samer@0 34 System.err.println("fps: "+ 1000 * (double) nFrames / (double) (time-startTime));
samer@0 35 startTime=time;
samer@0 36 wakeupOn(w);
samer@0 37 }
samer@0 38 }