LastRifleRound Posted May 1, 2009 Author Posted May 1, 2009 I'll try that out Sharkster thank you! I didn't realize I was starting a debate here. What I really wanted to see was folks chiming in what their experience setting up and using TIR or other solutions was like, so that if someone else is curious, they can know all the pros and cons for all the systems. I will probably end up getting TIR, but mostly because I can afford it. Many people can't, and Black Shark is SOOOOO much more valuable with head tracking, that I wanted people to know that there are viable alternatives. I think so far we can all agree on the following: 1.) For MOST people, TIR will be much easier to set up 2.) For many where CPU load is an issue (like me), you will generally get better performance with TIR than cachya 3.) It IS possible to have a highly precise cachya setup, though most may not have the patience/luck to obtain it. I have been trying in earnest, and Sharkster has been nothing but supportive with me, but without his help, I'm not sure what I would've done. 4.) Cachya is way, way cheaper than TIR 5.) TIR will enjoy more support. Just look at the cachya forums. Like I said I will likely own both, and will comment objectively on performance
Cap_Z Posted May 1, 2009 Posted May 1, 2009 The Cachya demo video shows good performance with FSX so If you already own a web camera and get Cachya at the introductory price of $15 I suppose it is worth the risk if you don't already own TrackIR4 Pro. However, just based on specification, I expect Trackir4 Pro to out perform Cachya since Trackir 4 Pro's camera is rated at 120 FPS which gives extremely smooth tracking, while your typical web camera is running at one fourth that rate at 30 FPS.
Winder Posted May 1, 2009 Posted May 1, 2009 I haven't heard any reasons why its a "far better solution". Nor have I heard anything which indicates that others have "tried to reach and failed to achieve". I've used cachya and it seems like a perfectly workable solution and seems to achieve exactly what its supposed to, namely provide 6DOF head tracking. Its supported very well in BS and is customizeable. Nor have they been a problem for me with cachya. Honestly, when I started BS, I was at the point where I assumed I finally needed to just spend the $150 and get TrackIR (to get TrackIR + headset clip). It was at that point I happened across a link for cachya that someone else had posted. All I know is that I only paid $15 and I have 6DOF head tracking. I wouldn't be surprised if TrackIR has better performance in some areas, I just don't see anything compelling in the discussions on the two products which would clarify what the actual benefit is. I haven't actually used Cachya, but I have tried 2 FreeTrack setups (one 30 fps webcam, one 100 fps Wiimote) and one HAT-Track setup (worst ever, do not buy under any circumstance). Plus, I have two TrackIR 4s. I’ll try to shed some light on what I understand and believe the differences to be… both technically and experientially. While the respective software--be it TrackIR, FreeTrack, or Cachya--can be important, the bulk of the performance comes with the camera. Good interfaces optimize your tweaking process, process the 6 DOF algorithms with more/less success, manage profiles, and regulate CPU footprint a bit (plus potentially lots more). All good, important stuff to consider. But, in the end, they're just the go-between. The camera determines the quality of data the software can work with. There are at least four (probably more) main aspects you should consider when evaluating the camera: resolution, frame rate, field of view, and processing. The resolution is probably tied for most important on that list. The more resolution you have, the more stable and responsive tracking will be. If you have very few pixels tracking your head movement, small head movements will either not be picked up at all or will be significantly exaggerated. The more resolution the camera has, the more granularity of the motion tracking. This is a good thing. More granularity = more stability = more native smoothness. Native smoothness means that artificial smoothing is less necessary. Since artificial smoothing is essentially an averager, it introduces latency. (It can't predict your future head position, so it makes you wait X frames before it can average their results and give you a nice, smooth motion... that waiting = latency.) So, if you need more smoothing (because your resolution is lower), you will have a longer delay in your head tracking and a much harder time "stopping" quickly. Many low-res/high smoothing head tracking demo videos on YouTube show this. The motion will often kind of crawl to a stop when directions change. Resolution is also important when tracking at further distances. The further away you are, the more physical space each pixel of resolution represents. Low res cameras assign large chunks of physical space to each pixel. This results in the unstable tracking described above (unless severely smoothed, which introduces problems already outlined). Frame Rate is basically just as important as resolution. The faster the camera updates, the more likely that when it reports your head position to the game, it will be correct. If a game updates at 60 fps and your head tracker updates at 60 fps, for your head position to be correctly represented, they need to be refreshing exactly in sync. This is essentially impossible. Their inconsistency is called phase drift, and you basically can't avoid it. So, the best solution is to pump as many frames to the game as possible. The more times the camera tells it where your head is, the higher the likelihood that it will be correct. So, a 30 fps camera will never give you an accurate reading of your head movement, because it just doesn't keep pace with a decent game refresh rate. An additional problem with low refresh rates involves the smoothing addressed above. Because smoothing requires a delay of several frames to take its average from, a slower refresh rate makes you wait potentially 3-4X as long to get your movement to register. A 30 fps camera will take 4X as long as a 120 fps camera if they have the same amount of smoothing. Field of view is important for obvious reasons. The higher the FOV, the more physical space you have. The only downside is that at really high FOV (maybe 60+), you start to get distortions at the edge of the viewing area. So, the marginal return after 60 degrees or so is likely pretty small. Processing can be hugely important... both type and location. If the processing is done on the camera, it lessens the footprint on your PC. If you have a monster of a machine, this probably doesn't matter. If it's older, this could certainly matter a lot. Processing type is also important, but kind of hard to explain. Basically the camera can see light in different ways. TrackIR 4 uses segment tracking, which is OK, but does cause some inherent jitter if completely unsmoothed. There is talk of a certain TrackIR 5 releasing soon, and I understand it will have grayscale tracking. This would be huge, because it allows the camera to see much more subtlety in light. This means way less jitter and a lot of stability. The problem with grayscale is that it gobbles up bandwidth. I think most smaller cameras couldn't handle it on-board. So, to summarize... A camera with high resolution and low frame rate (high-end webcam) will give you smoother tracking, but more lag. A camera with low resolution and high frame rate (Wiimote) will initially give you less lag, but will be more jittery. The jitter will require more smoothing to be steady, which wil reintroduce lag into the tracking. A camera with low resolution and low frame rate (low-end webcam) will be laggy and jittery, and if smoothed to reduce jitter, really laggy and mushy. Really, the most disastrous confluence of conditions when it comes to motion tracking of any kind. A camera with high resolution and high frame rate (TrackIR, others??) gives you the best of both worlds. It should accurately and quickly track your head movement, but also should have good native stability. Whether you really need stable, smooth, and fast tracking is a bit subjective, I guess. If you only doddle around cockpits, it’s not hugely important. :) If you race or play tactical shooters, a laggy or imprecise camera is worth little. 3
LastRifleRound Posted May 1, 2009 Author Posted May 1, 2009 Rep inbound. That's what I was looking for. Thank you! I experience all the things you say regarding the latency, nice to finally know it's not all in my head. However, I do want to point out to anyone new to head tracking, that there is definitely a learning curve. Up until today, I was blaming cachya for the fact that i couldn't zoom on my side panel. You actually have to pretend as if you are in the cockpit, as if you think head towards monitor=zoom, you are actually moving your head towards the HUD, not the side panel. Not sure if that makes sense to anyone, but I had a tough time grasping longitudinal shift until today. So when it comes to tracking, the res+FPS are key. I think the FOV on the TrackIR is larger than my 'cam too. So there you have it, the advantages of TrackIR to webcam based solutions: 1.) Less Latency 2.) Higher Stability 3.) Less CPU load
Washer UK Posted May 1, 2009 Posted May 1, 2009 I tried freetrack before buying TIR4pro, spent £15 or so on the parts needed although I already had a webcam. Spent all day pissing around with my soldering iron and bits of wire trying to make the clip for a baseball cap. When finnished I found out that nearly all webcams have an IR filter in front of the lense which can be removed but my cam cost £90 so didnt fancy that.. after much messing (which was quite fun I admit) it all went in the bin and TIR4pro got ordered. Never looked back. Also comes in handy for Race07 :D Q6600 3.2Ghz, 4G DDR2 1066, ATI 4870, x52, TrackIR 4, Vista 64
coder1024 Posted May 1, 2009 Posted May 1, 2009 One approach you can use with cachya (not sure whether or not TrackIR has this ability) is to run the tracking piece on a different machine. So you could have another machine and then crank the resolution and frame rate as high as you can for your web cam. Then, on the machine you're flying on you just have cachya connect up to the other machine. Then, there's essentially zero load on that machine from tracking and you can have your cake and eat it too :) Having said that, I run it on the same machine and haven't seen a need for more resolution/frame rate yet. I'm running 320x240 resolution at 30FPS and it works great. The head motion is very smooth and responsive. But just noting the above as it does provide a way to crank up the res/FPS without affecting your flight computer performance. [sIGPIC][/sIGPIC] coder1024 72nd Virtual Fighter Wing Falcon 4.0 Allied Force Pit Trainer FalconLobby
Safari Ken Posted May 1, 2009 Posted May 1, 2009 I doubt TrackIR has that ability (it's a pretty cool ability too), but it doesn't really call for it, as TrackIR has almost zero impact on performance. After a day or two, I changed it to start with Windows, so it's running all the time in the background. Uses very little memory, and I've never seen it use any CPU.
coder1024 Posted May 1, 2009 Posted May 1, 2009 (edited) I just noticed the below in the TIR5 thread. With a 640 x 480 sensor resolution, TrackIR 5 has triple the number of pixels as a TrackIR 4 My webcam can already support 640x480 with cachya. I only bring this up since I believe it was mentioned that TIR has higher resolution than using cachya. According to this, I don't think thats true. So I would question anyone saying TIR has higher resolution than what you can get with cachya. Even TIR5 is still only 640x480. Granted, I normally run cachya at 320x240 @ 30FPS as that seems plenty good. Also another note is that I think TIR claims a much higher FPS, but I'm not sure how much that helps. Edited May 1, 2009 by coder1024 [sIGPIC][/sIGPIC] coder1024 72nd Virtual Fighter Wing Falcon 4.0 Allied Force Pit Trainer FalconLobby
coder1024 Posted May 1, 2009 Posted May 1, 2009 I doubt TrackIR has that ability (it's a pretty cool ability too), but it doesn't really call for it, as TrackIR has almost zero impact on performance. After a day or two, I changed it to start with Windows, so it's running all the time in the background. Uses very little memory, and I've never seen it use any CPU. Both cachya and TIR are doing very similar things. they're examining a video source and looking for a target. With TIR its an IR target pattern, with cachya its a special image you print out. I only mentioned the client-server thing since people have mentioned performance vs. resolution/FPS tradeoffs here. So if performance would be an issue, with cachya you can offload it to another machine. I use cachya and it doesn't seem to slow down the system at all. And I wouldn't think TIR would either. [sIGPIC][/sIGPIC] coder1024 72nd Virtual Fighter Wing Falcon 4.0 Allied Force Pit Trainer FalconLobby
Sharkster64 Posted May 1, 2009 Posted May 1, 2009 I'm with you Coder. I have had no drain on performance with my system using cachya. If I were to buy TrackIR i'm sure I would get similar performance. I don't see the need to get any smoother head tracking with Track IR since I already have great performance with Cachya. I guess some people however, with lower end systems, might get a cpu drain using the camera software and might want to use Track IR instead. But I would say that if you have a very good system already, and you don't want to spend the money, or the time putting together some kind of Wiimote setup, give Cachya a try. It's only $15. [sIGPIC][/sIGPIC] Call Sign: Warhammer
EtherealN Posted May 1, 2009 Posted May 1, 2009 My webcam can already support 640x480 with cachya. I only bring this up since I believe it was mentioned that TIR has higher resolution than using cachya. According to this, I don't think thats true. As far as I've seen (but I haven't been all over this thread so I might have missed some statements) there's no mention of TrackIR having a higher resolution. What it has is a higher refresh rate - basically, most webcams take ~30 pictures per second. TrackIR works at ~100 (as far as I've heard). Whether that is really important I dunno. I would suspect that it gives better foundation for performance, but that actual performance will vary. You know, a proper rally car will improve your odds of winning a rally, but if you suck at handling it a proper driver will leave you in the dust of his stock Fiat Punto. :P (Though that analogy totally exhaggerates the difference between the two solutions, which from videos I've seen seem to be limited.) [sIGPIC][/sIGPIC] Daniel "EtherealN" Agorander | Даниэль "эфирныйн" Агорандер Intel i7 2600K @ 4.4GHz, ASUS Sabertooth P67, 8GB Corsair Vengeance @ 1600MHz, ASUS GTX 560Ti DirectCU II 1GB, Samsung 830series 512GB SSD, Corsair AX850w, two BENQ screens and TM HOTAS Warthog DCS: A-10C Warthog FAQ | DCS: P-51D FAQ | Remember to read the Forum Rules | | | Life of a Game Tester
coder1024 Posted May 1, 2009 Posted May 1, 2009 yea I hear ya. Tough to say the 100FPS over 30FPS helps or how much without sitting them side by side and doing an objective test, but regardless it is technically "better". I do wonder whether or not its actually tracking all 100FPS or just capturing it and sampling every Nth frame. Also I can imagine that since its focusing on IR, visible light distractions would be less. I just make sure I have a light in front of me, no light behind me, and adjust my webcam settings. One complaint I do have with cachya is the ridiculous upgrade process. You download the free trial, then click upgrade and enter your email and key and it upgrades you to the full version. Problem is, when it does this it just appears to hang for a long time with no feedback or anything. Anyway, once this is through its great, its just a bit of a crappy update system. I'm trying to do this on my laptop now (to try the networked tracking) and it appears to just be continually trying to connect via https to vancouver.global.com and failing. Then eventually it times out. So I guess you have to just wait a bit. [sIGPIC][/sIGPIC] coder1024 72nd Virtual Fighter Wing Falcon 4.0 Allied Force Pit Trainer FalconLobby
Safari Ken Posted May 1, 2009 Posted May 1, 2009 Both cachya and TIR are doing very similar things. they're examining a video source and looking for a target. With TIR its an IR target pattern, with cachya its a special image you print out. I only mentioned the client-server thing since people have mentioned performance vs. resolution/FPS tradeoffs here. So if performance would be an issue, with cachya you can offload it to another machine. I use cachya and it doesn't seem to slow down the system at all. And I wouldn't think TIR would either. I would think that too, that there wouldn't be much fps hit with Cachya. Some people report issues, but I have no direct experience. But there must be some CPU drain, or why would the company even offer the ability to offload onto a networked machine? Frankly the idea sounds sorta bizarre to me, for just head tracking. I wouldn't have even thought of that as an option for this sort of thing.
coder1024 Posted May 1, 2009 Posted May 1, 2009 I would think that too, that there wouldn't be much fps hit with Cachya. Some people report issues, but I have no direct experience. But there must be some CPU drain, or why would the company even offer the ability to offload onto a networked machine? Frankly the idea sounds sorta bizarre to me, for just head tracking. I wouldn't have even thought of that as an option for this sort of thing. Well I've been using cachya and haven't seen any FPS hit. I want to try the networked mode so I'm setting that up, but even running on my flight machine it hasn't seemed to slow anything down. I think its just an option there in case someone has a slower machine or for whatever other reason wants to offload it. It certainly doesn't hurt to have the additional flexibility. Also, since it works with whatever webcam you have, you might have some crappy webcam driver which does slow things down. At least with the option, you have an out in that case. If I can get the upgrade process to work, I'll give it a shot and crank it up to 640x480 @ 30FPS and see how it does. [sIGPIC][/sIGPIC] coder1024 72nd Virtual Fighter Wing Falcon 4.0 Allied Force Pit Trainer FalconLobby
LastRifleRound Posted May 2, 2009 Author Posted May 2, 2009 I can tell you for certain that the motions on my cachya setup are over-stabilized. The averaging system is really quite noticible on my system. I'm not convinced there isn't a way to tweak it out, however. I'll keep trying different things. My dead zones are just a tad above 0 to keep the thing from shaking all over the place, so I know it's not from that.
EtherealN Posted May 2, 2009 Posted May 2, 2009 (edited) On the performance bit between them, I would suspect that it is -possible- that the TrackIR unit can do a bit of the calculations and thereby seek to offer a lesser CPU overhead on the host machine, but I've no clue if the unit actually does that. Like Safari Ken says, it would be strange to offer the option of running Cachya on a separate machine if there was next to zero overhead. (And I haven't seen such options advertised for TrackIR.) Then again, it might just be one of those old things that used to be a problem but isn't nowadays, but they never had a reason to actually remove the feature. Would be a really interesting to see some good averaged testing with both methods on the same machine and same missions, to settle that issue with some hard data. Someone volunteer? :D Edited May 2, 2009 by EtherealN [sIGPIC][/sIGPIC] Daniel "EtherealN" Agorander | Даниэль "эфирныйн" Агорандер Intel i7 2600K @ 4.4GHz, ASUS Sabertooth P67, 8GB Corsair Vengeance @ 1600MHz, ASUS GTX 560Ti DirectCU II 1GB, Samsung 830series 512GB SSD, Corsair AX850w, two BENQ screens and TM HOTAS Warthog DCS: A-10C Warthog FAQ | DCS: P-51D FAQ | Remember to read the Forum Rules | | | Life of a Game Tester
Sharkster64 Posted May 2, 2009 Posted May 2, 2009 I would be interested to see what someone else thinks about the smoothness between Track IR and Cachya running side by side as well. All I know is that I have been running Cachya for a few months now and I went to a friends house and tried his Track IR. My setup was running pretty smooth, and to me, TrackIR seemed to run just as smooth,(other than the problem I was having with my glasses screwing up the tracking every now and then). Unfortunately I didn't have both setups side by side, so I couldn't really compare exactly how smooth one ran to the other. But, the tracking seemed to be comparable going from one to the other. If someone wanted to volunteer running both setups side by side on the same machine, I'd be interested to know just how they compared. [sIGPIC][/sIGPIC] Call Sign: Warhammer
Guest Posted May 2, 2009 Posted May 2, 2009 Both cachya and TIR are doing very similar things. they're examining a video source and looking for a target. With TIR its an IR target pattern, with cachya its a special image you print out. While they doing similar things, they are going about it very differently. My understanding is that the TrackIR is simply looking for reflected IR light in a 1-bit image. Analyzing a 1-bit image this will consume MUCH less processing power than image analysis of a grayscale or color image (which is what I presume cachya does). That said, the new TIR5 has gone to a grayscale image analysis, which I imagine could change the processor overhead.
EtherealN Posted May 2, 2009 Posted May 2, 2009 Depends - if they also update the TrackIR unit it is possible that the added overhead is placed in the unit itself. With a sufficiently specialized cirquit I'd imagine even an 8bit microcontroller might be able to do it. [sIGPIC][/sIGPIC] Daniel "EtherealN" Agorander | Даниэль "эфирныйн" Агорандер Intel i7 2600K @ 4.4GHz, ASUS Sabertooth P67, 8GB Corsair Vengeance @ 1600MHz, ASUS GTX 560Ti DirectCU II 1GB, Samsung 830series 512GB SSD, Corsair AX850w, two BENQ screens and TM HOTAS Warthog DCS: A-10C Warthog FAQ | DCS: P-51D FAQ | Remember to read the Forum Rules | | | Life of a Game Tester
Guest Posted May 2, 2009 Posted May 2, 2009 Depends - if they also update the TrackIR unit it is possible that the added overhead is placed in the unit itself. Good call. In fact, looking at the specs of the TIR5, it looks like "On Board Processing" is claimed, so I guess thats the answer.
oakdown Posted May 2, 2009 Posted May 2, 2009 I wanted to add another persons vouch for cachya, I have it working here as well (the registered 15 buck version), if it wasn't for sharkster i probably wouldn't have figured out the virtual joy thing as initially I was trying to simulate mouse look with it. My computer is way behind the times for blackshark,being an amd 2600, with 2 gigs of ram, and unfortunatley my ati x1650 ate it a few months back, and being that i'm currently unemployed (and can't make the switch to a PCIe till i upgrade my whole comp), i'm on a radeon 8500 believe it or not! however I wanted to add that I can get playable performance with cachya and this setup, I would say the cachya end of things is quite smooth. I should also mention my webcam is an ancient discontinued 3com "homeconnect" device, that doesn't even have official xp support drivers. I do have these problems that perhaps other cachya users can vouch or not vouch for. On initial launch, if I have cachya open first, it will crash, I have to alt-tab out and restart it. not a biggie, and seems to only be on the first time I launch a mission? odd. Cachya doesn't retain some settings on loading even though I save them as a profile, namely the Xrotation defaults back to "yaw", this means everytime I have to go back in and set it to "pitch" minor bug but annoying. Also those tiny scrollable windows to adjust those settings are stupid. Finally I have also tried networking cachya, it works well, but has inherent network lag... that makes it well.. not as good as running it on the same machine you launch BS from, it was smoother though - but likely that kinda thing would be rectified with a computer upgrade lol. anyways for 15 bucks it suited my needs perfectly and thanks to sharkster for the headsup, and desktop snaps he provided of settings. I should probably write this out on their forums, but as was mentioned it's pretty dead over there.
LoBiSoMeM Posted May 31, 2009 Posted May 31, 2009 Free Track is a way better than Cachya, if you use the 3 IR led setup and a modded webcam (without IR filter) or even a Wiimote or similar IR camera. Low CPU usage, accurate tracking. And it's free... It's exactly the TrackIR "fundaments" and almost for free...
LoBiSoMeM Posted May 31, 2009 Posted May 31, 2009 A note: TrackIR = IR camera with IR source + head clip with reflective material or IR leds... The same method used by Free Track (if you use IR leds). You only have to buy a IR camera (like Wiimote) or use a modded decent cheap webcam. The only real "advantage" of TrackIR is the "plug-and-play". With Wiimote, you have all the smoth and low cpu usage of TrackIR with Free Track. I use a Microsoft LX-1000 without IR filter (easy to remove and to "undo") and low cpu usage with perfect head tracking in BS. And in daylight...
Recommended Posts