跨屏动画在分布式渲染环境中的同步方法技术

技术编号:24591865 阅读:27 留言:0更新日期:2020-06-21 02:48
本发明专利技术公开了一种跨屏动画在分布式渲染环境中的同步方法,所述方法包括以下步骤:通过启动场景的指令服务器以预设频率向渲染当前场景的至少一个渲染服务器发送时间戳;至少一个渲染服务器接收指令服务器发送的时间戳,并在启动动画时,记录动画开始启动时的时间戳的值,然后以预设频率调用动画程序,其中,在每次调用动画程序时,根据当前场景的时间戳的值、动画开始启动时的时间戳的值和动画运行总时长更新动画状态。本发明专利技术能够解决因多个渲染服务器性能和运行环境差异导致的不同步显示问题,使动画内容生动形象。

Synchronization method of cross screen animation in distributed rendering environment

【技术实现步骤摘要】
跨屏动画在分布式渲染环境中的同步方法
本专利技术涉及场景可视化
,尤其涉及一种跨屏动画在分布式渲染环境中的同步方法。
技术介绍
在高分大屏可视化环境中,屏幕的总体分辨率往往高于8K,甚至可能会达到20、30K,在这样高分辨率的环境中,一个渲染服务器并不能满足一个场景的需求,需要使用多个渲染服务器共同渲染。由于每个渲染服务器的性能或者运行环境不同,所以多个渲染服务器配合渲染场景很可能导致画面不同步。如果同时渲染一个相同的场景,此时场景中存在一个跨屏动画,可能是该动画从一个渲染服务器的渲染界面移动到另外一个或多个渲染服务器的渲染界面,也可能该动画一部分在一个渲染服务器运行,另一部分在另一个渲染服务器运行,这样容易出现多个渲染服务器渲染的画面不同步显示的问题,从而严重影响到最终的呈现效果。
技术实现思路
本专利技术旨在至少在一定程度上解决上述技术中的技术问题之一。为此,本专利技术的目的在于提出一种跨屏动画在分布式渲染环境中的同步方法,能够解决因多个渲染服务器性能和运行环境差异导致的不同步显示问题,使动画内容生动形象。为达到上述目的,本专利技术实施例提出的跨屏动画在分布式渲染环境中的同步方法包括以下步骤:通过启动场景的指令服务器以预设频率向渲染当前场景的至少一个渲染服务器发送时间戳;所述至少一个渲染服务器接收所述指令服务器发送的时间戳,并在启动动画时,记录动画开始启动时的时间戳的值,然后以所述预设频率调用动画程序,其中,在每次调用动画程序时,根据当前场景的时间戳的值、所述动画开始启动时的时间戳的值和动画运行总时长更新动画状态。根据本专利技术实施例的跨屏动画在分布式渲染环境中的同步方法,通过指令服务器以预设频率向一个或多个渲染服务器发送时间戳,然后根据当前场景的时间戳的值、启动时的时间戳的值和动画运行总时长更新动画状态,由此,能够解决因多个渲染服务器性能和运行环境差异导致的不同步显示问题,使动画内容生动形象。另外,根据本专利技术上述实例提出的跨屏动画在分布式渲染环境中的同步方法还可以具有如下附加的技术特征:优选地,所述预设频率为30次每秒,不仅能兼顾渲染服务器的运行性能,还能够保证动画的观看效果。优选地,所述指令服务器通过与所述至少一个渲染服务器进行TCP通信以发送时间戳,从而可提升时间戳服务的响应速度和多个服务器同时运行的稳定性。根据当前场景的时间戳的值、所述动画开始启动时的时间戳的值和动画运行总时长更新动画状态,具体包括:根据公式P=(t1-t0)/T计算动画在当前时间完成的比例,其中,P为动画在当前时间完成的比例,t1为所述当前场景的时间戳的值,t0为所述动画开始启动时的时间戳的值,T为所述动画运行总时长;根据动画在当前时间完成的比例更新动画状态。附图说明图1为本专利技术实施例的跨屏动画在分布式渲染环境中的同步方法的流程图;图2为本专利技术一个实施例的跨屏动画在分布式渲染环境中的同步方法所涉及的网络结构示意图;图3为本专利技术一个实施例的跨屏动画在分布式渲染环境中的同步方法的控制过程示意图。具体实施方式下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。如图1所示,本专利技术实施例的跨屏动画在分布式渲染环境中的同步方法包括以下步骤:S1,通过启动场景的指令服务器以预设频率向渲染当前场景的至少一个渲染服务器发送时间戳。在本专利技术的一个实施例中,如图2所示,指令服务器可控制多个渲染服务器,各个渲染服务器基于指令服务可以在终端切换显示不同的场景动画,其中,终端可包括Pad、Web浏览器、移动端和PC等。在本专利技术的一个实施例中,预设频率为30次每秒,指令服务器可以向渲染当前场景的渲染服务器每秒发送30次时间戳。具体地,指令服务器中设置有时间戳服务。在场景启动时,指令服务器可通过机器内部通讯向时间戳服务发送指令,通知现在开始一个新场景,此时,时间戳从0开始计算当前场景打开时间,频率为30次每秒,并且指令服务器可通过与多个渲染服务器进行TCP通信以发送时间戳,例如可通过路由器进行TCP通信将时间戳发送至多个渲染服务器。其中,时间戳服务可单独使用一个区别于其他服务的进程不间断的运行,以保证时间戳服务不与其他服务进程互相干扰而影响性能,并且指令服务器通过机器内部通讯直接向时间戳服务传输指令,可提升时间戳服务的响应速度和多个服务器同时运行的稳定性。S2,至少一个渲染服务器接收指令服务器发送的时间戳,并在启动动画时,记录动画开始启动时的时间戳的值,然后以预设频率调用动画程序,其中,在每次调用动画程序时,根据当前场景的时间戳的值、动画开始启动时的时间戳的值和动画运行总时长更新动画状态。在本专利技术的一个实施例中,如图3所示,各个渲染服务器启动后可连接到分布式服务中,其中,分布式服务包括指令服务。因为某一时间节点只有一个时间戳服务向各个渲染服务器发送时间戳,所以在指令服务器发送时间戳后,每个渲染服务器可接收到相同的时间戳的值,并且在接下来每秒30次的更新中,都可接收到相同的时间戳的值,此时各个渲染服务器可将时间戳的值储存并开放让所有动画程序都可以获得时间戳的值的权限。进一步地,可根据当前场景的时间戳的值、动画开始启动时的时间戳的值和动画运行总时长更新动画状态,具体可包括:根据公式P=(t1-t0)/T计算动画在当前时间完成的比例,其中,P为动画在当前时间完成的比例,t1为当前场景的时间戳的值,t0为动画开始启动时的时间戳的值,T为动画运行总时长。也就是说,根据动画在当前时间完成的比例更新动画状态,并且在动画启动后,不停地迭代动画计算状态,以保证动画的正常播放。需要说明的是,动画运行时的调用并不是按动画自己的逻辑运行,而是以相同于时间戳服务的预设频率的速度不停地调用动画运行逻辑,用当前时间和启动时间的时间差占总播放时间的比值,计算出当前动画播放的进度值。另外,动画启动时,也必须在同步事件中启动,因为只有在同步事件中,各个渲染服务器记录的时间戳的值才能相同。如图3所示,分布式服务的控制端可发送加载对应场景内容的指令到各个渲染服务器,在各个渲染服务器分别完成场景初始内容的加载后,可发送请求到之前连接的分布式服务中的同步服务,同步服务会等待并确认所有场景初始内容是否都加载完毕,在确认各个渲染服务器都完成场景初始内容加载后,可发送同步指令到各个渲染服务器,接着各个渲染服务器可同时触发场景完成同步事件,由此,可以保证各个渲染服务器记录的时间戳的值相同。在本专利技术的实施例中,渲染服务器中动画执行频率与指令服务器端推送的频率相同,因为如果小于服务器发送频率则会出现渲染服务器与指令服务器端调用不同步问题,如果大于指令服务器发送频率则会出现无效的执行,浪费渲染服务器性能,所以渲染服务器的执行频率应与指令服务器的发送频本文档来自技高网...

【技术保护点】
1.一种跨屏动画在分布式渲染环境中的同步方法,其特征在于,包括以下步骤:/n通过启动场景的指令服务器以预设频率向渲染当前场景的至少一个渲染服务器发送时间戳;/n所述至少一个渲染服务器接收所述指令服务器发送的时间戳,并在启动动画时,记录动画开始启动时的时间戳的值,然后以所述预设频率调用动画程序,其中,在每次调用动画程序时,根据当前场景的时间戳的值、所述动画开始启动时的时间戳的值和动画运行总时长更新动画状态。/n

【技术特征摘要】
1.一种跨屏动画在分布式渲染环境中的同步方法,其特征在于,包括以下步骤:
通过启动场景的指令服务器以预设频率向渲染当前场景的至少一个渲染服务器发送时间戳;
所述至少一个渲染服务器接收所述指令服务器发送的时间戳,并在启动动画时,记录动画开始启动时的时间戳的值,然后以所述预设频率调用动画程序,其中,在每次调用动画程序时,根据当前场景的时间戳的值、所述动画开始启动时的时间戳的值和动画运行总时长更新动画状态。


2.根据权利要求1所述的跨屏动画在分布式渲染环境中的同步方法,其特征在于,所述预设频率为30次每秒。


3.根据权利要...

【专利技术属性】
技术研发人员:钱斌肖勇周密赵云
申请(专利权)人:南方电网科学研究院有限责任公司中国南方电网有限责任公司电网技术研究中心
类型:发明
国别省市:广东;44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1