隐藏空调延迟

Posted

技术标签:

【中文标题】隐藏空调延迟【英文标题】:Hide Airconsole Latency 【发布时间】:2016-01-31 00:24:46 【问题描述】:

使用 Airconsole,在按下按钮和在屏幕上看到结果之间存在明显的延迟。在有关 Airconsole available here, 的演示文稿中,提到您可以通过基于来自客户端的时间戳回溯来“作弊”。

是否有使用 Unity 的简单/内置方法来执行此操作?我可以通过让服务器和客户端就相互的时间戳达成一致来了解如何做到这一点,但这似乎很棘手,我想知道有一种内置的方法可以做到这一点。

【问题讨论】:

【参考方案1】:

使用 getServerTime() 函数非常简单。 在控制器上,您将输入发生的时间戳与消息一起发送。在屏幕上,您将所述时间戳与当前的 GetServerTime() 进行比较,区别在于延迟。

控制器:

airconsole.message(AirConsole.SCREEN, "action": "jump", "ts": airconsole.getServerTime());

屏幕:

void OnMessage(int from, JToken data) 
    if ((string)data ["action"] == "jump") 

        long latency_ms = AirConsole.instance.GetServerTime () - (long)data ["ts"];

        Debug.Log ("device " + from + " latency: " + latency_ms);

        //Jump quicker depending on latency

     


【讨论】:

以上是关于隐藏空调延迟的主要内容,如果未能解决你的问题,请参考以下文章

延迟隐藏和显示 ActionBar?

如何延迟显示/隐藏引导工具提示?

呈现 SKScene 后取消隐藏 UIButtons 时延迟?

为鼠标悬停添加时间延迟

何时使用“带有(... ms)延迟的JavaScript窗口调整大小事件”是有益的

Amazon SQS 延迟队列