【问题标题】:How much time passes between a touch on the screen and my app getting the TouchEvent从触摸屏幕到我的应用获得 TouchEvent 之间经过了多长时间
【发布时间】:2014-03-26 00:03:22
【问题描述】:

我正在制作一个需要记录触摸事件的应用程序,(即用户触摸屏幕上的某个位置,我需要记录自他上次触摸屏幕以来所花费的时间)。

我使用CACurrentMediaTimeCFTimeInterval 记录时间,延迟为微秒0.000001,但我还读到用户触摸屏幕和我的应用程序获取事件之间存在延迟?

我在这里读到:http://appglimpse.com/blog/touchmarks-i-smart-phone-touch-screen-latencies/ iPhone 5 延迟大约是 72ms 而 iPhone 4 是 92ms 但这是一致的吗?如果不是,怎么会有人知道它的范围?

我需要知道我需要从最后一次登录的时间中删除多少毫秒,更准确地说,我想知道这个数字是恒定的(即 25 毫秒)还是有很大的范围(20~80 毫秒)。

【问题讨论】:

    标签: ios iphone cocoa-touch delay latency


    【解决方案1】:

    我认为在实验室之外不会有任何实用的方法来了解或测量触摸延迟。

    但是,如果您只对触摸之间的时间感兴趣,我们根本不需要考虑延迟,如果我们可以假设它是相当恒定的。这是因为两次触摸都会包含延迟。

    这是我正在做的事情的数学证明,假设滞后是恒定的:

    time1 = t1 + lag
    time2 = t2 + lag
    
    //duration between two touches is time2 - time1
    duration = t2 + lag - (t1 + lag)
    duration = t2 + lag - t1 - lag
    duration = t2 - t1
    

    滞后项消失,因为两个时间事件的滞后量相同。

    【讨论】:

    • 我知道如果滞后是恒定的,我不需要考虑它。但是我的问题是它是否是恒定的。我假设它有一定的范围(即 40~50 毫秒),然后我必须考虑到它。
    • 您能够测量触摸延迟的唯一方法是使用 iPhone 之外的系统。您将无法在设备上的软件中执行此操作。
    • 我不需要每次都测量。我的问题是延迟是一致的(即 50 毫秒)还是范围很大(20~80 毫秒)
    • 嗯,好的。然后我建议更改问题以反映这一点。即使有一个范围,你仍然无法解释它。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-11-10
    • 2018-07-18
    • 1970-01-01
    • 1970-01-01
    • 2020-08-15
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多