首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >基本客户端-服务器同步

基本客户端-服务器同步
EN

Stack Overflow用户
提问于 2012-08-29 04:36:55
回答 1查看 283关注 0票数 0

让我们做简单的事情,我们有一个云,客户端绘制,服务器,它发送命令移动云。假设客户端1运行在60 fps上,客户端2运行在30 fps上,我们希望云转换能够比较平稳。

第一个问题-服务器有不同的fp与客户端,如果发送移动命令每勾,它将启动垃圾邮件命令要快得多,然后客户端将绘制。

可能的解决方案1-客户端发送“我想要更新”命令后完成框架。

可能的解决方案2 -服务器每x发送移动云命令,但云将不会顺利移动。可与解决方案3相结合。

可能的解决方案3 -服务器发送-“开始移动云的速度x”和“改变”云方向,而不是“移动云到x”。但问题再次是什么检查改变云量在屏幕边缘,将触发更快比云实际绘制在客户端。

也是客户2比客户1慢2倍,如何补偿这一点?

如何与客户端以基本方式同步服务器逻辑?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-08-29 04:49:54

如果你能做到的话,解决方案3听起来是目前为止最好的解决方案。您的所有其他解决方案都过于健谈:它们需要客户端和服务器之间非常频繁的通信,除非服务器和客户端之间有非常好的网络连接,否则太频繁了。

如果您的云移动非常简单,可以将它们作为向量发送到客户端,以便客户端可以在从服务器接收新指令(新的开始位置和向量)之前,沿着一个向量移动一段较长的时间(许多帧),那么您肯定应该这样做。如果您的云运动不像简单的向量那么容易表示,那么您可以选择一个更复杂的模型(例如,添加指令来转换随时间变化的向量),并将模型的参数发送给客户端。

如果云是更大世界的一部分,并且客户端跟踪世界中的时间,那么来自服务器的每一组指令都应该包含一个时间戳,表示模型中初始条件有效的时间。

至于如何补偿客户端2的绘制速度比客户端1慢两倍的问题,您需要使您的世界时钟以一致的速度在两个客户端上运行。此速率不需要与任何客户端上的屏幕刷新速率有任何关系。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12170972

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档