本发明涉及多媒体,具体涉及一种渲染方法、装置、存储介质及电子设备。
背景技术:
1、由于某些终端系统是在原生平台上开发,如苹果手机(iphone)ios系统和平板电脑(ipad)ipados系统,无法将ui展示到其他类型系统的屏幕之上,也无法做到模拟点击事件的开发。现有技术中,采用移动跨平台开发框架flutter在ios上录屏生成投屏界面然后展示到其他设备的屏幕,但是当flutter在真机上运行时,底层采用opengl/metal技术进行gpu渲染,但该技术在ios系统上受限,当锁屏或app处于后台时,将禁止使用opengl/metal,因此在锁屏或app后台情况下无法渲染界面。
技术实现思路
1、有鉴于此,本发明实施例提供了涉及一种渲染方法、装置、存储介质及电子设备,以解决现有技术中在封闭式平台上开发的系统中将ui展示到其他类型的屏幕上时存在无法渲染界面的技术问题。
2、本发明提出的技术方案如下:
3、本发明实施例第一方面提供一种渲染方法,应用于集成flutter框架的终端,该渲染方法包括:当终端处于投屏状态时,确定是否检测到gpu渲染失效;当检测到所述gpu渲染失效,将所述flutter框架的渲染方式修改为cpu渲染方式。
4、可选地,所述当终端处于投屏状态时,确定是否检测到gpu渲染失效,包括:当接收到锁屏操作或投屏对应的应用程序被切换到后台运行,确定检测到gpu渲染失效。
5、可选地,所述将所述flutter框架的渲染方式修改为cpu渲染方式,包括:将flutter框架界面渲染的底层驱动信号修改为所述终端所在的平台定时器。
6、本发明实施例第二方面提供一种多屏幕展示和操作回控方法,应用于集成flutter框架的终端,该多屏幕展示和操作回控方法包括:当终端处于投屏状态时,利用如本发明实施例第一方面及第一方面任一项所述的渲染方法进行渲染;将渲染完成的ui传输到其他设备显示屏幕;当接收到所述其他设备显示屏幕上回传的操作指令数据,将所述操作指令数据进行封装处理得到flutter框架能够识别并处理的操作数据。
7、可选地,所述方法还包括:判断应用程序ui是否有更新;当所述应用程序ui有更新,则将更新后的ui进行录屏并编码后传输到其他设备显示屏幕。
8、可选地,所述将所述操作指令数据进行封装处理得到flutter框架能够识别并处理的操作数据,包括:将所述操作指令数据封装为统一的json数据。
9、本发明实施例第三方面提供一种渲染装置,应用于集成flutter框架的终端,该渲染装置包括:确定模块,用于当终端处于投屏状态时,确定是否检测到gpu渲染失效;修改模块,用于当检测到所述gpu渲染失效,将所述flutter框架的渲染方式修改为cpu渲染方式。
10、本发明实施例第四方面提供一种多屏幕展示和操作回控装置,应用于集成flutter框架的终端,该多屏幕展示和操作回控装置包括:渲染模块,用于当终端处于投屏状态时,利用如本发明实施例第一方面及第一方面任一项所述的渲染方法进行渲染;传输模块,用于将渲染完成的ui传输到其他设备显示屏幕;处理模块,用于当接收到所述其他设备显示屏幕上回传的操作指令数据,将所述操作指令数据进行封装处理得到flutter框架能够识别并处理的操作数据。
11、本发明实施例第五方面提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机指令,所述计算机指令用于使所述计算机执行如本发明实施例第一方面及第一方面任一项所述的渲染方法,或如本发明实施例第二方面及第二方面任一项所述的多屏幕展示和操作回控方法。
12、本发明实施例第六方面提供一种电子设备,包括:存储器和处理器,所述存储器和所述处理器之间互相通信连接,所述存储器存储有计算机指令,所述处理器通过执行所述计算机指令,从而执行如本发明实施例第一方面及第一方面任一项所述的渲染方法,或如本发明实施例第二方面及第二方面任一项所述的多屏幕展示和操作回控方法。
13、本发明提供的技术方案,具有如下效果:
14、本发明实施例提供的渲染方法,应用于集成flutter框架的终端,当终端处于投屏状态时,确定是否检测到gpu渲染失效;当检测到所述gpu渲染失效,将所述flutter框架的渲染方式修改为cpu渲染方式。该方法将flutter框架的渲染方式修改为cpu渲染方式,使得终端对应的系统在无法使用gpu渲染时也可以正常展示界面。
15、本发明实施例提供的多屏幕展示和操作回控方法,应用于集成flutter框架的终端,当终端处于投屏状态时,利用如本发明实施例第一方面及第一方面任一项所述的渲染方法进行渲染;将渲染完成的ui传输到其他设备显示屏幕;当接收到所述其他设备显示屏幕上回传的操作指令数据,将所述操作指令数据进行封装处理得到flutter框架能够识别并处理的操作数据。该方法在操作受限的平台(例如ios/ipados)也能在外接显示设备上通过手势正常控制终端,解决了其他屏幕的显示和手势的回控问题。
1.一种渲染方法,应用于集成flutter框架的终端,其特征在于,包括如下步骤:
2.根据权利要求1所述的方法,其特征在于,所述当终端处于投屏状态时,确定是否检测到gpu渲染失效,包括:
3.根据权利要求1所述的方法,其特征在于,所述将所述flutter框架的渲染方式修改为cpu渲染方式,包括:
4.一种多屏幕展示和操作回控方法,应用于集成flutter框架的终端,其特征在于,包括如下步骤:
5.根据权利要求4所述的方法,其特征在于,所述方法还包括:
6.根据权利要求4所述的方法,其特征在于,所述将所述操作指令数据进行封装处理得到flutter框架能够识别并处理的操作数据,包括:将所述操作指令数据封装为统一的json数据。
7.一种渲染装置,应用于集成flutter框架的终端,其特征在于,包括:
8.一种多屏幕展示和操作回控装置,应用于集成flutter框架的终端,其特征在于,包括:
9.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机指令,所述计算机指令用于使所述计算机执行如权利要求1-3任一项所述的渲染方法,或如权利要求4-6任一项所述的多屏幕展示和操作回控方法。
10.一种电子设备,其特征在于,包括:存储器和处理器,所述存储器和所述处理器之间互相通信连接,所述存储器存储有计算机指令,所述处理器通过执行所述计算机指令,从而执行如权利要求1-3任一项所述的渲染方法,或如权利要求4-6任一项所述的多屏幕展示和操作回控方法。