为什么iOS 4.0上的触摸事件频率较慢?

时间:2010-12-05 04:25:08

标签: iphone cocoa-touch ios ios4

我正在编写一个手指草图类型的应用程序,并使该应用程序在iOS 3.0上运行良好。但是,在iOS 4.0或更高版本下运行应用程序会导致问题。具体来说,我在我的应用程序上接收的触摸事件在新操作系统上比在旧操作系统上慢大约5倍。这显然会导致我的应用程序绘制得很差,因为我捕获的数据点数减少了5倍。

关于如何在iOS4上加快触控事件频率的任何想法?

3 个答案:

答案 0 :(得分:2)

某些图形操作在iOS4.x中比在3.x中花费的时间要长得多(大约在2X到10X之间)。较长的图形执行时间可能会阻塞主UI线程,并且没有足够的时间让主线程运行循环来处理用户(触摸)事件。

描述您的drawRect代码,看看它现在是否需要更长的刷新率滴答时间。如果是这样,请尝试加速或分解图形渲染,或尝试降低帧速率,看看是否有任何帮助。

答案 1 :(得分:1)

您应该使用Shark配置代码以查看瓶颈所在。可能发生的一些事情是在主线程上执行的一些代码(很可能是响应触摸而运行的代码)花费的时间比预期的要长,这会阻止您的应用程序接收触摸事件

答案 2 :(得分:-1)

更少地阻止主线程。