performance limit in a sports game?

Post Reply
henry_choi
Posts: 1
Joined: Wed Jan 01, 2003 5:00 am

performance limit in a sports game?

Post by henry_choi » Tue Dec 31, 2002 6:50 pm

Hi, I am considering purchase of trackIR for sports game use (golf, namely; but also want to use it for any game where I can swing a stick), which has a consierably higher cursor speed rate. In particular, the sample rate and latency become problems. I have questions on "playability":

Q1: what is the expected sample rate range when the system is not hogged by some other apps (namely the game itself)?

For example, I wrote a test code with an open source image processing library (OpenCV) to track the brightest spot my $10 webcam could see on 800 MHz PIII system, and I got 13~23 frames per second with in debug mode, with real-time rendering. The webcam itself can only do up to 30 fps, so in this case, I would rate my test software at 20 fps, to be conservative.

Q2: what is the latency range?

That is, how many milliseconds will elapse between the time when say your wand was at some point, till the time when the mouse move is posted? Since both throughput and latency depend on system, I would be most obliged just to see numbers on your system.

Q3: do you have any plan to put 1 more LED on the other end of a stick, or sell the LEDs separately so that I can put 3 of them on a stick, and your software can track the 3 points and resolve it as a line? That would give me so much more information than just the current 2-dimensional information. With the 3 points (or even just 2), I would think trackIR can be used in a much value added stick-oriented-game.

Q4: related to Q3, but do you have any plan to put a wide-angle lense on trackIR so that I don't have to stand 20 ft from the camera for it to see my entire golf swing?

Thank you very much for your help.

Henry Choi

Jim
NaturalPoint Employee
NaturalPoint Employee
Posts: 1395
Joined: Mon Oct 14, 2002 5:00 am
Location: Corvallis, Oregon
Contact:

Re: performance limit in a sports game?

Post by Jim » Sat Jan 04, 2003 2:22 pm

Hello:

Good questions. I have copied them into this reply for ease of reference.

1. what is the expected sample rate range when the system is not hogged by some other apps (namely the game itself)?

The sample rate is fixed at 60 FPS. All timing is derived from the camera itself, which must operate at 60 Hz. The timing can change a little here and there as buffers are used in the USB transfer, but that only accounts for about 1-2Hz of change. Our application is a truly multi-threaded app and the USB subroutine is issolated from system usage, to a point. You can expect 2-3% of processor usage on the machine you specified.

2. what is the latency range?
The latency is fixed via the frame rate, so it is about 17ms. In reality it is about 22ms for the first frame of data and then 17ms for all subsequent frames.

3. do you have any plan to put 1 more LED on the other end of a stick, or sell the LEDs separately...?
We don't plan to do this yet, but we do plan to sell an LED add on kit in the coming months. This kit is meant to be generic, so you could use 3 of them together to track the points of interest.

4. related to Q3, but do you have any plan to put a wide-angle lense on trackIR...?
Yes and no, the new lens on the system is fairly wide angle, about 35 degrees, that happend on all systems with a serial # greater than 5000, FYI. You can easily replace the lens on our camera with a 12mm micro lens. You can find them online at many places or at www.mars-cam.com With a little modification of the plastic lens housing the new lens will come with, you can easily place it over our CMOS imager.

Also, to note, the biggest problem that you will have with a full swing system is the image smearing that will occur. Because the frame rate is 60FPS you will move a good deal before the rolling shutter passes by and therefore you will see a smeared dot trail, this might not be a problem for your application, but I wanted to point it out. Also, if you have direct control of the game I can see how this would be great, but I am not sure how you plan to interface our hardware into the game, other than via the standard cursor commands, perhaps an interpreter level?

Good luck and I would be happy to help in any way I can.

Post Reply