Iphone 触控和iPodtouch加速计的巨大延迟

Iphone 触控和iPodtouch加速计的巨大延迟,iphone,ios,opengl-es,accelerometer,ipod-touch,Iphone,Ios,Opengl Es,Accelerometer,Ipod Touch,我正在为ios开发一个opengl es游戏,它需要加速计和多点触控。 我有一个EAGLView,在绘图的地方使用ESRenderer EagleView实现加速计并接收触摸: @interface EAGLView : UIView <UIAccelerometerDelegate> { ... 我一直在使用3.1.3版的iphone作为测试设备,一切正常。但是现在我在4.2.1版的iPodtouch上测试它,触摸和加速计事件在游戏中的响应延迟太大,有时在1到2段之间 我一直在想

我正在为ios开发一个opengl es游戏,它需要加速计和多点触控。 我有一个EAGLView,在绘图的地方使用ESRenderer

EagleView实现加速计并接收触摸:

@interface EAGLView : UIView <UIAccelerometerDelegate> { ...
我一直在使用3.1.3版的iphone作为测试设备,一切正常。但是现在我在4.2.1版的iPodtouch上测试它,触摸和加速计事件在游戏中的响应延迟太大,有时在1到2段之间

我一直在想,它可能是加速计更新间隔的某种缓冲,这会减慢渲染器的速度。还有什么可能导致这种滞后?。我真的很感激任何修复它的建议。

你应该在iOS 4+上使用,苹果公司对它的性能和准确性进行了大量调整。在游戏循环中以轮询模式(定期调用-deviceMotion)使用它,它将比异步通知性能更好,而且同样准确

- (void)drawView:(id)sender
{
appAccelEvent(ax, ay, az);
if (sys_call == S_TOUCH_EVENT) {
    appTouchEvent(eventType, 0, cx0, cy0);
}
[renderer render];
}