一种渲染方法、装置、存储介质及电子设备制造方法及图纸

技术编号:38095414 阅读:7 留言:0更新日期:2023-07-06 09:09
本发明专利技术公开了一种渲染方法、装置、存储介质及电子设备,应用于集成Flutter框架的终端,所述方法包括:当终端处于投屏状态时,确定是否检测到GPU渲染失效;当检测到所述GPU渲染失效,将所述Flutter框架的渲染方式修改为CPU渲染方式。该方法将Flutter框架的渲染方式修改为CPU渲染方式,使得终端对应的系统在无法使用GPU渲染时也可以正常展示界面。用GPU渲染时也可以正常展示界面。用GPU渲染时也可以正常展示界面。

【技术实现步骤摘要】
一种渲染方法、装置、存储介质及电子设备


[0001]本专利技术涉及多媒体
,具体涉及一种渲染方法、装置、存储介质及电子设备。

技术介绍

[0002]由于某些终端系统是在原生平台上开发,如苹果手机(iPhone)iOS系统和平板电脑(iPad)iPadOS系统,无法将UI展示到其他类型系统的屏幕之上,也无法做到模拟点击事件的开发。现有技术中,采用移动跨平台开发框架Flutter在iOS上录屏生成投屏界面然后展示到其他设备的屏幕,但是当Flutter在真机上运行时,底层采用OpenGL/Metal技术进行GPU渲染,但该技术在iOS系统上受限,当锁屏或App处于后台时,将禁止使用OpenGL/Metal,因此在锁屏或App后台情况下无法渲染界面。

技术实现思路

[0003]有鉴于此,本专利技术实施例提供了涉及一种渲染方法、装置、存储介质及电子设备,以解决现有技术中在封闭式平台上开发的系统中将UI展示到其他类型的屏幕上时存在无法渲染界面的技术问题。
[0004]本专利技术提出的技术方案如下:
[0005]本专利技术实施例第一方面提供一种渲染方法,应用于集成Flutter框架的终端,该渲染方法包括:当终端处于投屏状态时,确定是否检测到GPU渲染失效;当检测到所述GPU渲染失效,将所述Flutter框架的渲染方式修改为CPU渲染方式。
[0006]可选地,所述当终端处于投屏状态时,确定是否检测到GPU渲染失效,包括:当接收到锁屏操作或投屏对应的应用程序被切换到后台运行,确定检测到GPU渲染失效。
[0007]可选地,所述将所述Flutter框架的渲染方式修改为CPU渲染方式,包括:将Flutter框架界面渲染的底层驱动信号修改为所述终端所在的平台定时器。
[0008]本专利技术实施例第二方面提供一种多屏幕展示和操作回控方法,应用于集成Flutter框架的终端,该多屏幕展示和操作回控方法包括:当终端处于投屏状态时,利用如本专利技术实施例第一方面及第一方面任一项所述的渲染方法进行渲染;将渲染完成的UI传输到其他设备显示屏幕;当接收到所述其他设备显示屏幕上回传的操作指令数据,将所述操作指令数据进行封装处理得到Flutter框架能够识别并处理的操作数据。
[0009]可选地,所述方法还包括:判断应用程序UI是否有更新;当所述应用程序UI有更新,则将更新后的UI进行录屏并编码后传输到其他设备显示屏幕。
[0010]可选地,所述将所述操作指令数据进行封装处理得到Flutter框架能够识别并处理的操作数据,包括:将所述操作指令数据封装为统一的JSON数据。
[0011]本专利技术实施例第三方面提供一种渲染装置,应用于集成Flutter框架的终端,该渲染装置包括:确定模块,用于当终端处于投屏状态时,确定是否检测到GPU渲染失效;修改模块,用于当检测到所述GPU渲染失效,将所述Flutter框架的渲染方式修改为CPU渲染方式。
[0012]本专利技术实施例第四方面提供一种多屏幕展示和操作回控装置,应用于集成Flutter框架的终端,该多屏幕展示和操作回控装置包括:渲染模块,用于当终端处于投屏状态时,利用如本专利技术实施例第一方面及第一方面任一项所述的渲染方法进行渲染;传输模块,用于将渲染完成的UI传输到其他设备显示屏幕;处理模块,用于当接收到所述其他设备显示屏幕上回传的操作指令数据,将所述操作指令数据进行封装处理得到Flutter框架能够识别并处理的操作数据。
[0013]本专利技术实施例第五方面提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机指令,所述计算机指令用于使所述计算机执行如本专利技术实施例第一方面及第一方面任一项所述的渲染方法,或如本专利技术实施例第二方面及第二方面任一项所述的多屏幕展示和操作回控方法。
[0014]本专利技术实施例第六方面提供一种电子设备,包括:存储器和处理器,所述存储器和所述处理器之间互相通信连接,所述存储器存储有计算机指令,所述处理器通过执行所述计算机指令,从而执行如本专利技术实施例第一方面及第一方面任一项所述的渲染方法,或如本专利技术实施例第二方面及第二方面任一项所述的多屏幕展示和操作回控方法。
[0015]本专利技术提供的技术方案,具有如下效果:
[0016]本专利技术实施例提供的渲染方法,应用于集成Flutter框架的终端,当终端处于投屏状态时,确定是否检测到GPU渲染失效;当检测到所述GPU渲染失效,将所述Flutter框架的渲染方式修改为CPU渲染方式。该方法将Flutter框架的渲染方式修改为CPU渲染方式,使得终端对应的系统在无法使用GPU渲染时也可以正常展示界面。
[0017]本专利技术实施例提供的多屏幕展示和操作回控方法,应用于集成Flutter框架的终端,当终端处于投屏状态时,利用如本专利技术实施例第一方面及第一方面任一项所述的渲染方法进行渲染;将渲染完成的UI传输到其他设备显示屏幕;当接收到所述其他设备显示屏幕上回传的操作指令数据,将所述操作指令数据进行封装处理得到Flutter框架能够识别并处理的操作数据。该方法在操作受限的平台(例如iOS/iPadOS)也能在外接显示设备上通过手势正常控制终端,解决了其他屏幕的显示和手势的回控问题。
附图说明
[0018]为了更清楚地说明本专利技术具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本专利技术的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0019]图1是根据本专利技术实施例的渲染方法的流程图;
[0020]图2是根据本专利技术实施例的Flutter框架的GPU渲染的流程图;
[0021]图3是根据本专利技术实施例的Flutter框架的CPU渲染的流程图;
[0022]图4是根据本专利技术实施例的多屏幕展示和操作回控方法的流程图;
[0023]图5是根据本专利技术实施例的渲染装置的结构框图;
[0024]图6是根据本专利技术实施例的多屏幕展示和操作回控装置的结构框图;
[0025]图7是根据本专利技术实施例提供的计算机可读存储介质的结构示意图;
[0026]图8是根据本专利技术实施例提供的电子设备的结构示意图。
具体实施方式
[0027]为使本专利技术实施例的目的、技术方案和优点更加清楚,下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。
[0028]本专利技术实施例提供一种渲染方法,应用于集成Flutter框架的终端,如图1所示,该方法包括如下步骤:
[0029]步骤S101:当终端处于投屏状态时,确定是否检测到GPU渲染失效。若接收到无法继续使用GPU渲染,执行步骤S102,否则继续在投屏状态本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种渲染方法,应用于集成Flutter框架的终端,其特征在于,包括如下步骤:当终端处于投屏状态时,确定是否检测到GPU渲染失效;当检测到所述GPU渲染失效,将所述Flutter框架的渲染方式修改为CPU渲染方式。2.根据权利要求1所述的方法,其特征在于,所述当终端处于投屏状态时,确定是否检测到GPU渲染失效,包括:当接收到锁屏操作或投屏对应的应用程序被切换到后台运行,确定检测到GPU渲染失效。3.根据权利要求1所述的方法,其特征在于,所述将所述Flutter框架的渲染方式修改为CPU渲染方式,包括:将Flutter框架界面渲染的底层驱动信号修改为所述终端所在的平台定时器。4.一种多屏幕展示和操作回控方法,应用于集成Flutter框架的终端,其特征在于,包括如下步骤:当终端处于投屏状态时,利用如权利要求1-3中任一项所述的渲染方法进行渲染;将渲染完成的UI传输到其他设备显示屏幕;当接收到所述其他设备显示屏幕上回传的操作指令数据,将所述操作指令数据进行封装处理得到Flutter框架能够识别并处理的操作数据。5.根据权利要求4所述的方法,其特征在于,所述方法还包括:判断应用程序UI是否有更新;当所述应用程序UI有更新,则将更新后的UI进行录屏并编码后传输到其他设备显示屏幕。6.根据权利要求4所述的方法,其特征在于,所述将所述操作指令数据进行封装处理得到Flutter...

【专利技术属性】
技术研发人员:宋赢安
申请(专利权)人:南京四维智联科技有限公司
类型:发明
国别省市:

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

1