Flash与JS页面的高效渲染通讯方法、存储介质、设备及系统技术方案

技术编号:17366423 阅读:67 留言:0更新日期:2018-02-28 18:33
本发明专利技术公开了一种Flash与JS页面的高效渲染通讯方法、存储介质、设备及系统,涉及Flash直播开发技术领域。该方法包括:创建并初始化数据缓存池;建立Flash播放器与服务器之间的Socket连接,并设置事件监听;一旦监听到服务器有数据发来,则接收服务器的数据并存入数据缓存池中;监听Flash播放器底层的帧频事件,一旦监听到帧频事件,则利用IO数据接口,将当前数据缓存池中的数据分为N份并分N次发送给JS页面;JS页面收到Flash播放器发来的数据后,根据该数据进行底层的渲染来更新当前JS页面。本发明专利技术能解决渲渲染过程中因Flash播放器与JS页面的大量通讯而引起性能瓶颈问题,使得渲染的画面无卡顿感,用户体验佳。

Efficient rendering of communication methods, storage media, devices and systems for Flash and JS pages

The invention discloses an efficient rendering method, storage medium, equipment and system for Flash and JS pages, and involves the field of Flash direct seeding development technology. The method includes: to create and initialize the data cache pool; established between the Flash player and the Socket server connection, and set the event listener; once the listener to the server data sent to the receiving server data and stored in a data buffer pool; monitor Flash player at the bottom of the frame, once listen to frame events, using IO the data interface, the data buffer pool data into N and N sending to the JS page; JS page sent Flash player data, according to the data of the bottom of the page to update when rendering JS. The invention can solve the rendering rendering process because of a lot of communication Flash player and the JS page caused by the bottleneck, the rendering of the picture card Dungan, user experience.

【技术实现步骤摘要】
Flash与JS页面的高效渲染通讯方法、存储介质、设备及系统
本专利技术涉及Flash直播开发
,具体来讲是一种Flash与JS页面的高效渲染通讯方法、存储介质、设备及系统。
技术介绍
目前,国内大型直播平台基本都是使用Flash播放器与JS页面混搭方案来构建web端直播平台。采用这种混搭方案的好处是:避免了JS不能用Socket(套接字)的及时通讯的尴尬,也避免了JS使用webSocket(是HTML5一种新的协议,它实现了浏览器与服务器全双工通信)与服务器及时通讯的不安全的问题(因webSocket通讯消息内容是明文可以直接被截断)。但是,现有的混搭方案中,均采用Flash播放器作为通讯层中间键:当Flash播放器收到服务器发来的消息,则调用页面IO(Input/Output,输入/输出)接口传递到JS页面。而这一方式中,Flash播放器需要播放视频并渲染自己的业务,同时还需要作为与JS页面、服务器通讯的中间键,这就使得整体的通讯性能很低。特别是在Flash播放器渲染过程中,由于现有的渲染操作都不是基于底层的渲染模式,而是基于业务逻辑层面的渲染模式,因此渲染效率会因Flash播放器与JS页面的大量通讯而引起性能瓶颈问题(现有的混搭方案中每次收到需要透传给JS页面的数据时直接调用IO接口,这样当一定时间内需要调用IO接口次数多时性能受限),从而使得渲染的画面有卡顿感,用户体验差。
技术实现思路
本专利技术的目的是为了克服上述
技术介绍
的不足,提供一种Flash与JS页面的高效渲染通讯方法、存储介质、设备及系统,能解决渲渲染过程中因Flash播放器与JS页面的大量通讯而引起性能瓶颈问题,使得渲染的画面无卡顿感,用户体验佳。为达到以上目的,本专利技术采取的技术方案是:提供一种Flash与JS页面的高效渲染通讯方法,该方法包括以下操作:创建并初始化数据缓存池,该数据缓存池用于缓存Flash播放器从服务器接收到的数据;建立Flash播放器与服务器之间的Socket连接,并设置一个用于监听服务器是否有数据发来的事件监听;一旦监听到服务器有数据发来时,则接收服务器的数据并将该数据存入数据缓存池中;监听Flash播放器底层的帧频事件,一旦监听到帧频事件,则利用与JS页面约定好的用于接收Flash播放器传送的IO数据接口,将当前数据缓存池中的数据分为N份并分N次发送给JS页面,N为大于1小于等于10的正整数;JS页面收到Flash播放器发来的数据后,根据该数据进行底层的渲染来更新当前JS页面。在上述技术方案的基础上,所述建立Flash播放器与服务器之间的Socket连接,并设置一个用于监听服务器是否有数据发来的事件监听的具体操作为:在Flash播放器中实例化一个Socket的对象,并设置需要连接的服务器IP以及需要连接的服务器post参数,与服务器建立Socket连接;再设置用于监听服务器是否有数据发来的事件监听。在上述技术方案的基础上,若当前数据缓存池中的数据的条数不足N条时,将当前数据缓存池中的数据一条一条发送给JS页面。在上述技术方案的基础上,将当前数据缓存池中的数据分为N份并分N次发送给JS页面后,将当前数据缓存池清空。本专利技术还提供一种存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述Flash与JS页面的高效渲染通讯方法的步骤。本专利技术还提供一种Flash与JS页面的高效渲染通讯设备,包括存储器、处理器及存储在存储器上并在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述Flash与JS页面的高效渲染通讯方法的步骤。本专利技术还提供一种Flash与JS页面的高效渲染通讯系统,该系统包括数据缓存池创建模块、服务器连接及监听设置模块、数据缓存模块、渲染通讯处理模块;所述数据缓存池创建模块用于:创建并初始化数据缓存池,该数据缓存池用于缓存Flash播放器从服务器接收到的数据;所述服务器连接及监听设置模块用于:建立Flash播放器与服务器之间的Socket连接,并设置一个用于监听服务器是否有数据发来的事件监听;所述数据缓存模块用于:一旦监听到服务器有数据发来时,则接收服务器的数据并将该数据存入数据缓存池中;所述渲染通讯处理模块用于:监听Flash播放器底层的帧频事件,一旦监听到帧频事件,则利用与JS页面约定好的用于接收Flash播放器传送的IO数据接口,将当前数据缓存池中的数据分为N份并分N次发送给JS页面,N为大于1小于等于10的正整数;JS页面收到Flash播放器发来的数据后,根据该数据进行底层的渲染来更新当前JS页面。在上述技术方案的基础上,所述服务器连接及监听设置模块建立Flash播放器与服务器之间的Socket连接,并设置一个用于监听服务器是否有数据发来的事件监听的具体操作为:在Flash播放器中实例化一个Socket的对象,并设置需要连接的服务器IP以及需要连接的服务器post参数,与服务器建立Socket连接;再设置用于监听服务器是否有数据发来的事件监听。在上述技术方案的基础上,若当前数据缓存池中的数据的条数不足N条时,所述渲染通讯处理模块将当前数据缓存池中的数据一条一条发送给JS页面。在上述技术方案的基础上,所述渲染通讯处理模块将当前数据缓存池中的数据分为N份并分N次发送给JS页面后,将当前数据缓存池清空。本专利技术的有益效果在于:(1)本专利技术中,是将当前数据缓存池中的数据分为N份并分N次发送给JS页面,而不是一次发送给JS页面,可以避免因数据缓存池中数据量过多时而采用单次的IO操作,数据就会很大,从而会增加页面消耗,整体处理效率会降低的问题。并且,N的取值范围设置为不超过10,也就是1毫秒发一次,这样可以降低数据通讯峰值,又能保证画面不卡顿,因为保证了每一帧频内执行渲染整个过程(事件调度、逻辑操作、更新页面)的总时间不会超过33毫秒。因此,相较于现有技术来说,本专利技术通过上述方式解决了渲染过程中因Flash播放器与JS页面的大量通讯而引起性能瓶颈问题,使得渲染的画面无卡顿感,用户体验佳。(2)本专利技术中,一旦监听到帧频事件则利用与JS页面约定好的用于接收Flash播放器传送的IO数据接口IOHandle来响应Flash播放器与JS页面的IO操作。这样可以将所有的IO操作限制在帧频事件ENTER_FRAME的响应接口IOHandle中做处理,从而在响应接口IOHandle中控制IO通讯的次数,避免程序在其他地方还有IO操作,会增加IO操作次数,便于统一的IO操作管理。(3)本专利技术中,当数据缓存池中的数据发送完成后,会将当前数据缓存池清空。这样可便于让数据缓存池能及时缓存服务器发来的新数据而避免与之前处理过数据相混合,以便在下一次的帧频事件触发时(即下一次帧频内)将新的数据发送给JS页面而不会混合旧数据,避免了数据的重复发送,即保证了准确性又提升了效率,进一步提升了通讯性能。附图说明图1为本专利技术实施例中Flash与JS页面的高效渲染通讯方法的流程图;图2为本专利技术实施例中Flash与JS页面的高效渲染通讯设备的结构示意图;图3为本专利技术实施例中Flash与JS页面的高效渲染通讯系统的结构框图。具体实施方式下面结合附图及具体实施例对本专利技术作进一步的详细描述。可以理解的是,Flash本文档来自技高网...
Flash与JS页面的高效渲染通讯方法、存储介质、设备及系统

【技术保护点】
一种Flash与JS页面的高效渲染通讯方法,其特征在于,该方法包括以下操作:创建并初始化数据缓存池,该数据缓存池用于缓存Flash播放器从服务器接收到的数据;建立Flash播放器与服务器之间的Socket连接,并设置一个用于监听服务器是否有数据发来的事件监听;一旦监听到服务器有数据发来时,则接收服务器的数据并将该数据存入数据缓存池中;监听Flash播放器底层的帧频事件,一旦监听到帧频事件,则利用与JS页面约定好的用于接收Flash播放器传送的IO数据接口,将当前数据缓存池中的数据分为N份并分N次发送给JS页面,N为大于1小于等于10的正整数;JS页面收到Flash播放器发来的数据后,根据该数据进行底层的渲染来更新当前JS页面。

【技术特征摘要】
1.一种Flash与JS页面的高效渲染通讯方法,其特征在于,该方法包括以下操作:创建并初始化数据缓存池,该数据缓存池用于缓存Flash播放器从服务器接收到的数据;建立Flash播放器与服务器之间的Socket连接,并设置一个用于监听服务器是否有数据发来的事件监听;一旦监听到服务器有数据发来时,则接收服务器的数据并将该数据存入数据缓存池中;监听Flash播放器底层的帧频事件,一旦监听到帧频事件,则利用与JS页面约定好的用于接收Flash播放器传送的IO数据接口,将当前数据缓存池中的数据分为N份并分N次发送给JS页面,N为大于1小于等于10的正整数;JS页面收到Flash播放器发来的数据后,根据该数据进行底层的渲染来更新当前JS页面。2.如权利要求1所述的Flash与JS页面的高效渲染通讯方法,其特征在于:所述建立Flash播放器与服务器之间的Socket连接,并设置一个用于监听服务器是否有数据发来的事件监听的具体操作为:在Flash播放器中实例化一个Socket的对象,并设置需要连接的服务器IP以及需要连接的服务器post参数,与服务器建立Socket连接;再设置用于监听服务器是否有数据发来的事件监听。3.如权利要求1所述的Flash与JS页面的高效渲染通讯方法,其特征在于:若当前数据缓存池中的数据的条数不足N条时,将当前数据缓存池中的数据一条一条发送给JS页面。4.如权利要求1所述的Flash与JS页面的高效渲染通讯方法,其特征在于:将当前数据缓存池中的数据分为N份并分N次发送给JS页面后,将当前数据缓存池清空。5.一种存储介质,其上存储有计算机程序,其特征在于:所述计算机程序被处理器执行时实现上述权利要求1至4中任一项所述方法的步骤。6.一种Flash与JS页面的高效渲染通讯设备,包括存储器、处理器及存储在所述存储器上并在所述处理器上运行的计算机程序,其特征在于:所述处理器执行所述计算机程序时...

【专利技术属性】
技术研发人员:潘龙陈少杰张文明
申请(专利权)人:武汉斗鱼网络科技有限公司
类型:发明
国别省市:湖北,42

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

1