gpt4 book ai didi

iOS touchesMoved 第一次和第二次通话之间的延迟

转载 作者:行者123 更新时间:2023-11-28 22:26:20 24 4
gpt4 key购买 nike

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

我已经使用 clock() 函数检查了 touchesMoved 中的时间戳,并使用了当前值和先前值之间的差异。第一和第二事件之间的差异大于其他事件。

你有什么想法吗?

最佳答案

iOS 不是硬实时操作系统。通常不期望触摸事件会以规则的频率/统一的周期传送。你不应该构建你的应用程序来依赖它。事件通过主线程传递,这可能会被其他处理(绘图等)延迟

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

除此之外,您可以尝试使用各种信号处理方法将数据重新采样为统一的周期性数据,但问题是这些算法中的任何一个至少要等到第一个重新量化点才能交付第二个(更有可能是第三个甚至更晚的)事件出现了,所以如果主要问题是“第二个事件没有像你希望的那样尽快出现”,那么这对你没有帮助。

另一个很好的测试:尝试制作一个空的单 View 示例应用程序,它除了在事件进入时记录事件之外什么都不做——如果您在这个简单的示例应用程序中看到第一次和第二次触摸之间有相同的“奇怪”延迟,那么这就是“它是怎样的”,您可以停止浪费时间尝试更改操作系统行为并转向一些不同的方法/解决方案。

关于iOS touchesMoved 第一次和第二次通话之间的延迟,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18849452/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com