Kinect SimpleOpenNI Delay on lost user

I’m trying to make a program which counts the number of users the Kinect sees, and displays a particular image depending on that number.

if (userCount == 0){
     println("No Users!");

  } else if (userCount == 1){
    image(Frame_4, 0, 0, width, height);
    println("One User!");

  } else if (userCount == 2){
    image(Frame_5, 0, 0, width, height);
    println("Two Users!");


It’s working which is epic - But I’ve just noticed there is a considerable delay (up to about 10 seconds) between a user exiting the Kinect’s area of vision, and the sketch realising this.

These are the SimpleOpenNI events; though I’m not sure how they work yet or if they contribute to this at all. I believe this delay is a hidden function in the library

void onNewUser(SimpleOpenNI curKinect, int userId)
  println("onNewUser - userId: " + userId);
  println("\tstart tracking skeleton");

void onLostUser(SimpleOpenNI curKinect, int userId)
  println("onLostUser - userId: " + userId);

void onVisibleUser(SimpleOpenNI curKinect, int userId)
  println("onVisibleUser - userId: " + userId);

I have posted this on the SimpleOpenNI git, but replies tend to take a while over there and I’m really hoping to get this as smooth as I can by next week!

Any ideas on how to make this delay significantly less? It kind of ruins the flow of the interaction!

Possibly relevant:

however, when searching for ServerNoClientsTimeout

… this might not be an option

I think the key thing is that this is a Kinect configuration – if it is possible.