菜鸟教程小白 发表于 2022-12-11 20:34:52

iOS 4+ : lag in CMDeviceMotion time intervals


                                            <p><p>我正在开发一个计算密集型应用程序,该应用程序恰好可以监听传感器数据(加速度,还有角速度)。经过几个过滤器后,这些向量被整合以跟踪位移。</p>

<p>我注意到与 CMDeviceMotion 和 CMGyroData 关联的时间戳迟了,因为我的 CMMotionManager 的处理程序没有按照其 accelerometerUpdateInterval 和 gyroUpdateInterval 指定的 100 Hz 触发。它从 60 Hz 左右开始,然后上下波动。这主要影响集成。</p>

<p>独立应用程序中的相同代码执行 100Hz 就像一个魅力。 </p>

<p>因此,大型应用程序的其他模块的计算峰值看起来会导致传感器更新滞后。这让我感到惊讶,因为传感器管理器在它自己的线程上,我从文档中了解到传感器事件是由硬件触发的。</p>

<p>我的问题是:当时间戳不可靠时,数据是否仍然可以使用?可以用另一个时钟外推吗? </p>

<p>我很困惑为什么其他线程上的大型异步计算会滞后于加速器更新。</p>

<p>谢谢,
安托</p></p>
                                    <br><hr><h1><strong>Best Answer-推荐答案</ strong></h1><br>
                                            <p><p>错误的时间戳与不准确的数据一样糟糕,因为它们对集成有相同的影响。</p>

<p>大约 50 Hz 足以跟踪方向。我想知道您如何跟踪位移,因为 <a href="https://stackoverflow.com/q/7835988/341970" rel="noreferrer noopener nofollow">it is impossible with current sensors.</a> </p></p>
                                   
                                                <p style="font-size: 20px;">关于iOS 4&#43; : lag in CMDeviceMotion time intervals,我们在Stack Overflow上找到一个类似的问题:
                                                        <a href="https://stackoverflow.com/questions/8219909/" rel="noreferrer noopener nofollow" style="color: red;">
                                                                https://stackoverflow.com/questions/8219909/
                                                        </a>
                                                </p>
                                       
页: [1]
查看完整版本: iOS 4&#43; : lag in CMDeviceMotion time intervals