2016-01-31 92 views
0

使用Airconsole,在按下按钮和在屏幕上查看结果之间存在明显的延迟。在有关Airconsole available here,的演示文稿中提到,您可以根据来自客户端的时间戳进行回溯“欺骗”。隐藏Airconsole延迟

有没有一个简单的/内置的方式来做到这一点与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 

    } 

}