Forum Discussion
nickoneill
12 years agoHonored Guest
Getting acceleration at better than 60hz?
Working on some demos with the rift again now that we have raw acceleration data (thanks 0.2.5!) but I'm getting capped with orientation at 60hz. Is there a way to uncap that if I build a custom versi...
jherico
12 years agoAdventurer
"nickoneill" wrote:
Working on some demos with the rift again now that we have raw acceleration data (thanks 0.2.5!)
Raw orientation data has always been available by attaching a listener to the SensorDevice object. That's how the SensorFusion type connects to it.
"nickoneill" wrote:
but I'm getting capped with orientation at 60hz.
I think you're confusing framerates with sensor data handling. If your framerate is locked to vsync you can't hit any higher than 60hz on the Rift. You never want to fetch the sensor fusion data more than once per frame because you don't want to get different sensor fusion results for each eye, or for different objects within the same eye. The sensor device however is sending messages at 1000hz, and they're being processed by the SensorFusion object at that rate, in a background thread.
"nickoneill" wrote:
Is there a way to uncap that if I build a custom version of LibOVR? I've looked around a bit in the project but C++ isn't my strongest language.
The SensorFusion class has a method:
void SetDelegateMessageHandler(MessageHandler* handler);. If you provide a delegate to your SensorFusion, it will receive all the acceleration messages that the SensorFusion object receives, which defaults to 1000hz.
"nickoneill" wrote:
At only 60hz a lot of interesting acceleration data is dropped, it's making for lots of false negative results and there doesn't seem to be much I can do about it when I look at the raw data.
Attach a delegate to the SensorFusion object, or if you're not using sensor fusion, directly to the SensorDevice. You will receive messages at 1000hz. However, bear in mind that the messages are processed on a different thread than your main application thread, so access to shared objects needs to be thread safe.
Quick Links
- Horizon Developer Support
- Quest User Forums
- Troubleshooting Forum for problems with a game or app
- Quest Support for problems with your device
Other Meta Support
Related Content
- 1 month ago