跨平台渲染方法、装置以及电子设备制造方法及图纸

技术编号:38681867 阅读:10 留言:0更新日期:2023-09-02 22:54
本申请实施例提供了一种跨平台渲染方法、装置以及电子设备,其涉及多媒体显示领域中的多路视频渲染技术领域,该方法包括:获取应用程序的用户界面UI树结构;其中,该应用程序是基于跨平台UI语言构建的程序,该UI树结构包括窗口节点,该窗口节点的子节点包括至少一个纹理渲染节点,该至少一个纹理渲染节点中的第一纹理渲染节点关联有第一离屏缓冲区和显示页面内的第一显示区域;从该第一离屏缓冲区,获取经过离屏渲染的第一渲染数据;利用该第一纹理渲染节点,将该第一渲染数据绘制到该第一显示区域。该方法将离屏渲染的方案和基于跨平台UI语言的纹理渲染方案相结合,能够提升跨平台高帧率视频的渲染性能。高帧率视频的渲染性能。高帧率视频的渲染性能。

【技术实现步骤摘要】
跨平台渲染方法、装置以及电子设备


[0001]本申请实施例涉及多媒体显示领域中的多路视频渲染
,并且更具体地,涉及一种跨平台渲染方法、装置以及电子设备。

技术介绍

[0002]通常情况下,在视频通话、视频会议、直播视频、直播连接麦克风(简称连麦)等应用场景中,通常采用跨平台语言开发用户界面(User Interface,UI),以提升UI的开发效率。
[0003]但是,跨平台语言的语言特性和跨平台能力(比如H5和React Native使用的JavaScript解释型语言执行性能不够高,以及跨平台语言都无法直接操作图形处理器(Graphics Processing Unit,GPU)渲染硬件)决定了其无法实现对多路的高FPS视频的渲染。
[0004]因此,本领域亟需一种跨平台渲染方法,以提升跨平台高帧率视频的渲染性能。

技术实现思路

[0005]本申请实施例提供了一种跨平台渲染方法、装置以及电子设备,能够提升跨平台高帧率视频的渲染性能。
[0006]第一方面,本申请实施例提供了一种跨平台渲染方法,包括:获取应用程序的用户界面UI树结构;其中,该应用程序是基于跨平台UI语言构建的程序,该UI树结构包括窗口节点,该窗口节点的子节点包括至少一个纹理渲染节点,该至少一个纹理渲染节点中的第一纹理渲染节点关联有第一离屏缓冲区和显示页面内的第一显示区域;从该第一离屏缓冲区,获取经过离屏渲染的第一渲染数据;利用该第一纹理渲染节点,将该第一渲染数据绘制到该第一显示区域。
[0007]第二方面,本申请实施例提供了一种跨平台渲染装置,包括:第一获取单元,用于获取应用程序的用户界面UI树结构;其中,该应用程序是基于跨平台UI语言构建的程序,该UI树结构包括窗口节点,该窗口节点的子节点包括至少一个纹理渲染节点,该至少一个纹理渲染节点中的第一纹理渲染节点关联有第一离屏缓冲区和显示页面内的第一显示区域;第二获取单元,用于从该第一离屏缓冲区,获取经过离屏渲染的第一渲染数据;绘制单元,用于利用该第一纹理渲染节点,将该第一渲染数据绘制到该第一显示区域。
[0008]第三方面,本申请实施例提供了一种电子设备,包括:处理器,适于实现计算机指令;以及,计算机可读存储介质,计算机可读存储介质存储有计算机指令,计算机指令适于由处理器加载并执行上文涉及的第一方面的方法。
[0009]第四方面,本申请实施例提供了一种计算机可读存储介质,该计算机可读存储介质存储有计算机指令,该计算机指令被计算机设备的处理器读取并执行时,使得计算机设备执行上文涉及的第一方面的方法。
[0010]第五方面,本申请实施例提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上文涉及的第一方面的方法。
[0011]基于以上技术方案,针对本申请实施例提供的跨平台渲染方法,将离屏渲染的方案和基于跨平台UI语言的纹理渲染方案相结合,能够提升跨平台高帧率视频的渲染性能。
[0012]具体地,由于跨平台UI树结构中的第一纹理渲染节点关联有第一离屏缓冲区和显示页面内的第一显示区域,因此,在对该显示页面进行渲染时,可以直接从第一离屏缓冲区获取经过离屏渲染的第一渲染数据,然后利用该第一纹理渲染节点,将该第一渲染数据绘制到该第一显示区域;相当于,在对该显示页面进行渲染时,可以直接将经过离屏渲染后存储在第一离屏缓冲区中的第一渲染数据作为纹理进行纹理渲染,进而能够提升跨平台高帧率视频的渲染性能。
附图说明
[0013]图1是本申请实施例提供的系统框架的示例。
[0014]图2是本申请实施例提供的基于原生UI技术和跨平台UI技术的渲染原理的示例。
[0015]图3是本申请实施例提供的跨平台渲染方法的示意性流程图。
[0016]图4是本申请实施例提供的在显示页面的示例。
[0017]图5是本申请实施例提供的在显示页面的另一示例。
[0018]图6是本申请实施例提供的跨平台渲染方法的原理的示例。
[0019]图7是本申请实施例提供的跨平台渲染方法的原理的另一示例。
[0020]图8是本申请实施例提供的媒体数据传输过程的示例。
[0021]图9是本申请实施例提供的跨平台渲染装置的示意性框图。
[0022]图10是本申请实施例提供的电子设备的示意性框图。
具体实施方式
[0023]下面将结合具体实施例对本申请提供的技术方案进行清楚完整地描述。
[0024]应当理解,此处所描述的具体实施例仅用以解释本申请,并不用于限定本申请。
[0025]此外,在本申请实施例中涉及的术语“指示”可以是直接指示,也可以是间接指示,还可以是表示具有关联关系。举例说明,A指示B,可以表示A直接指示B,例如B可以通过A获取;也可以表示A间接指示B,例如A指示C,B可以通过C获取;还可以表示A和B之间具有某种关联关系。术语“对应”可表示两者之间具有直接对应或间接对应的关系,也可以表示两者之间具有关联关系,也可以是指示与被指示、配置与被配置等关系。描述“在
……
时”可以被解释成为“如果”或“若”或“当
……
时”或“响应于”。类似地,取决于语境,短语“如果确定
……”
或“如果检测(陈述的条件或事件)
……”
可以被解释成为“当确定
……
时”或“响应于确定
……”
或“当检测(陈述的条件或事件)
……
时”或“响应于检测(陈述的条件或事
件)
……”
。术语“预定义”或“预定义规则”可以通过在设备(例如,包括终端设备和网络设备)中预先保存相应的代码、表格或其他可用于指示相关信息的方式来实现,本申请对于其具体的实现方式不作限定。比如预定义可以是指协议中定义的。术语“多个”是指两个或两个以上。术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系。具体地,A和/或B可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。
[0026]另外,本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别不同对象,而不是用于描述特定顺序。术语“包括”和“具有”以及它们任何变形,意图在于覆盖不排除其他元素的包含。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或设备固有的其他步骤或单元。
[0027]本申请实施例涉及多媒体显示领域中的多路视频渲染

[0028]其中,多媒体显示可是在显示界面同时显示多个媒体文件的显示技术,例如该多个媒体文件包括本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种跨平台渲染方法,其特征在于,包括:获取应用程序的用户界面UI树结构;其中,所述应用程序是基于跨平台UI语言构建的程序,所述UI树结构包括窗口节点,所述窗口节点的子节点包括至少一个纹理渲染节点,所述至少一个纹理渲染节点中的第一纹理渲染节点关联有第一离屏缓冲区和显示页面内的第一显示区域;从所述第一离屏缓冲区,获取经过离屏渲染的第一渲染数据;利用所述第一纹理渲染节点,将所述第一渲染数据绘制到所述第一显示区域。2.根据权利要求1所述的方法,其特征在于,所述从所述第一离屏缓冲区,获取经过离屏渲染的第一渲染数据,包括:在收到渲染数据更新通知的情况下,从所述第一离屏缓冲区,获取所述第一渲染数据;所述渲染数据更新通知包括用于指示所述第一渲染数据已更新的标志位。3.根据权利要求1所述的方法,其特征在于,所述获取经过离屏渲染的第一渲染数据之前,所述方法还包括:接收多个对象的媒体数据;所述多个对象包括与所述第一离屏缓冲区关联的第一对象;在所述至少一个纹理渲染节点的数量小于或等于所述显示页面中对象的最大允许数量的情况下,基于所述多个对象的数量和所述至少一个纹理渲染节点的数量,确定是否离屏渲染所述第一对象的媒体数据;在确定离屏渲染所述第一对象的媒体数据的情况下,离屏渲染所述第一对象的媒体数据,并得到所述第一渲染数据;将所述第一渲染数据,存储至所述第一离屏缓冲区。4.根据权利要求3所述的方法,其特征在于,所述基于所述多个对象的数量和所述至少一个纹理渲染节点的数量,确定是否离屏渲染所述第一对象的媒体数据,包括:在所述多个对象的数量小于或等于所述至少一个纹理渲染节点的数量的情况下,确定离屏渲染所述第一对象的媒体数据。5.根据权利要求3所述的方法,其特征在于,所述基于所述多个对象的数量和所述至少一个纹理渲染节点的数量,确定是否离屏渲染所述第一对象的媒体数据,包括:在所述多个对象的数量大于所述至少一个纹理渲染节点的数量的情况下,利用所述窗口节点确定可见对象列表;所述可见对象列表包括所述至少一个纹理节点的渲染对象,所述可见对象列表中对象的数量小于或等于所述至少一个纹理渲染节点的数量;在所述可见对象列表包括所述第一对象的情况下,确定离屏渲...

【专利技术属性】
技术研发人员:易成陈晓波李斌罗程
申请(专利权)人:腾讯科技深圳有限公司
类型:发明
国别省市:

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

1