iOS触摸改善了第一次和第二次通话之间的延迟

iOS触摸改善了第一次和第二次通话之间的延迟,ios,objective-c,touch,Ios,Objective C,Touch,我的iOS应用程序有一些问题 我已使用clock()功能检查了触摸移动的中的时间戳,并使用当前值和以前值之间的差异。第一和第二个项目之间的差异比其他项目更大 你有什么想法吗?iOS不是一个硬性的实时操作系统。通常不期望触摸事件以固定频率/统一周期交付。你不应该以此为基础构建你的应用程序。事件通过主线程传递,其他处理(绘图等)可能会延迟事件的传递 编辑:如果您看到第一次和第二次触摸之间的时间段存在巨大差异(相对于后续触摸事件之间的时间段),第一步是在Instruments的Profiler模板中运

我的iOS应用程序有一些问题

我已使用
clock()
功能检查了
触摸移动的
中的时间戳,并使用当前值和以前值之间的差异。第一和第二个项目之间的差异比其他项目更大


你有什么想法吗?

iOS不是一个硬性的实时操作系统。通常不期望触摸事件以固定频率/统一周期交付。你不应该以此为基础构建你的应用程序。事件通过主线程传递,其他处理(绘图等)可能会延迟事件的传递

编辑:如果您看到第一次和第二次触摸之间的时间段存在巨大差异(相对于后续触摸事件之间的时间段),第一步是在Instruments的Profiler模板中运行应用程序,以查看您在主线程上响应第一次触摸所做的某些工作是否导致延迟。如果延误是你自己造成的,那么解决这一问题是首要任务

除此之外,您可以尝试使用各种信号处理方法将数据重新采样为统一的周期数据,但问题是,这些算法中的任何一种都无法提供第一个重新量化点,直到至少出现第二个(更可能是第三个或更晚的)事件,因此如果主要问题是“第二项活动不是你想要的那么快”,那么这对你没有帮助


另一个很好的测试:试着制作一个空的单视图示例应用程序,它只在事件发生时记录事件——如果你在这个微不足道的示例应用程序中看到第一次和第二次触摸之间有相同的“奇怪”延迟,那么这就是“它是怎样的,“你可以停止浪费时间试图改变操作系统的行为,转而采用不同的方法/解决方案。

你对一些解决问题的变通办法有什么想法吗?@George编辑以回答你关于变通办法的问题。