本公开涉及显示控制,具体涉及一种显示控制方法、装置、电子设备及存储介质。
背景技术:
1、近年来,智能手机、平板电脑、可穿戴设备等终端设备的显示性能越来越优越,给用户带来了越来越好的使用体验。终端设备的显示内容是由多个显示窗口合成的,每个显示窗口在合成前由上层不同的应用程序渲染得到,换句话说,每个应用程序只能控制显示内容中对应的显示窗口,无法控制整个显示内容。相关技术中,在针对整个显示内容实时渲染动画、特效等显示效果时,只能由多个应用程序分别对对应的显示窗口进行实时渲染,这样的方式难以保证不同显示窗口间的效果同步性,而且重复同样的渲染操作会造成能耗和内存的浪费。
技术实现思路
1、为克服相关技术中存在的问题,本公开实施例提供一种显示控制方法、装置、电子设备及存储介质,用以解决相关技术中的缺陷。
2、根据本公开实施例的第一方面,提供一种显示控制方法,应用于终端设备,所述方法包括:
3、获取目标显示效果的状态参数,其中,所述状态参数用于表征所述目标显示效果的阶段;
4、获取原始显示内容,其中,所述原始显示内容包括多个显示窗口;
5、根据所述状态参数,利用所述目标着色器对所述原始显示内容进行渲染处理,得到具有目标显示效果的目标显示内容,其中,所述目标着色器为所述目标显示效果对应的着色器;
6、显示所述目标显示内容。
7、在一个实施例中,所述原始显示内容所包括的多个显示窗口,分别由多个应用程序一一对应生成;
8、所述获取目标显示效果的状态参数,包括:
9、向所述多个应用程序中任一应用程序,获取目标显示效果的状态参数。
10、在一个实施例中,还包括:
11、根据多个所述显示窗口生成所述原始显示内容,并将所述原始显示内容添加至缓存区。
12、在一个实施例中,所述获取原始显示内容,包括:
13、从所述缓存区内,获取所述原始显示内容;
14、在一个实施例中,所述终端设备具有显示驱动单元和显示屏;
15、所述显示所述目标显示内容,包括:
16、使用所述目标显示内容,更新所述缓存区内对应的所述原始显示内容;
17、控制所述显示驱动单元读取所述缓存区内的所述目标显示内容,并根据所述目标显示内容驱动所述显示屏进行显示。
18、在一个实施例中,所述根据所述状态参数,利用所述目标着色器对所述原始显示内容进行渲染处理,得到具有目标显示效果的目标显示内容,包括:
19、将所述状态参数和所述原始显示内容发送至渲染引擎;
20、控制所述渲染引擎使用所述状态参数配置所述目标着色器,并将所述原始显示内容输入所述目标着色器进行渲染处理,得到所述目标着色器输出的目标显示内容。
21、在一个实施例中,所述终端设备具有图形处理器;所述方法还包括:
22、控制所述渲染引擎根据所述目标显示效果,从多个着色器中获取目标着色器,并将所述目标着色器写入所述图形处理器,以及使用初始参数配置所述目标着色器,其中,每个着色器分别对应不同的显示效果。
23、在一个实施例中,所述获取目标显示效果的状态参数,包括:
24、按照预设顺序逐帧获取目标显示效果的状态参数;
25、所述获取原始显示内容,包括:
26、按照预设顺序逐帧获取原始显示内容;
27、所述根据所述状态参数,利用所述目标着色器对所述原始显示内容进行渲染处理,得到具有目标显示效果的目标显示内容,包括:
28、根据每帧所述状态参数,利用所述目标着色器对对应帧的所述原始显示内容进行渲染处理,得到具有目标显示效果的目标显示内容;
29、所述显示所述目标显示内容,包括:
30、按照预设顺序逐帧显示所述目标显示内容。
31、根据本公开实施例的第二方面,提供一种显示控制装置,应用于终端设备,所述装置包括:
32、第一获取模块,用于获取目标显示效果的状态参数,其中,所述状态参数用于表征所述目标显示效果的阶段;
33、第二获取模块,用于获取原始显示内容,其中,所述原始显示内容包括多个显示窗口;
34、渲染模块,用于根据所述状态参数,利用所述目标着色器对所述原始显示内容进行渲染处理,得到具有目标显示效果的目标显示内容,其中,所述目标着色器为所述目标显示效果对应的着色器;
35、显示模块,用于显示所述目标显示内容。
36、在一个实施例中,所述原始显示内容所包括的多个显示窗口,分别由多个应用程序一一对应生成;
37、所述第一获取模块具体用于:
38、向所述多个应用程序中任一应用程序,获取目标显示效果的状态参数。
39、在一个实施例中,还包括生成模块,用于:
40、根据多个所述显示窗口生成所述原始显示内容,并将所述原始显示内容添加至缓存区。
41、在一个实施例中,所述第二获取模块具体用于:
42、从所述缓存区内,获取所述原始显示内容;
43、在一个实施例中,所述终端设备具有显示驱动单元和显示屏;
44、所述显示模块具体用于:
45、使用所述目标显示内容,更新所述缓存区内对应的所述原始显示内容;
46、控制所述显示驱动单元读取所述缓存区内的所述目标显示内容,并根据所述目标显示内容驱动所述显示屏进行显示。
47、在一个实施例中,所述渲染模块具体用于:
48、将所述状态参数和所述原始显示内容发送至渲染引擎;
49、控制所述渲染引擎使用所述状态参数配置所述目标着色器,并将所述原始显示内容输入所述目标着色器进行渲染处理,得到所述目标着色器输出的目标显示内容。
50、在一个实施例中,所述终端设备具有图形处理器;所述装置还包括初始化模块,用于:
51、控制所述渲染引擎根据所述目标显示效果,从多个着色器中获取目标着色器,并将所述目标着色器写入所述图形处理器,以及使用初始参数配置所述目标着色器,其中,每个着色器分别对应不同的显示效果。
52、在一个实施例中,所述第一获取模块具体用于:
53、按照预设顺序逐帧获取目标显示效果的状态参数;
54、所述第二获取模块具体用于:
55、按照预设顺序逐帧获取原始显示内容;
56、所述渲染模块具体用于:
57、根据每帧所述状态参数,利用所述目标着色器对对应帧的所述原始显示内容进行渲染处理,得到具有目标显示效果的目标显示内容;
58、所述显示模块具体用于:
59、按照预设顺序逐帧显示所述目标显示内容。
60、根据本公开实施例的第三方面,提供一种电子设备,所述电子设备包括存储器、处理器,所述存储器用于存储可在处理器上运行的计算机指令,所述处理器用于在执行所述计算机指令时实现第一方面所述的显示控制方法。
61、根据本公开实施例的第四方面,提供一种计算机可读存储介质,其上存储有计算机程序,所述程序被处理器执行时实现第一方面所述的方法。
62、本公开的实施例提供的技术方案可以包括以下有益效果:
63、本公开实施例所提供的显示控制方法,通过获取目标显示效果的状态参数,以及原始显示内容,可以根据所述状态参数,利用所述目标显示效果对应的所述目标着色器对所述原始显示内容进行渲染处理,得到具有目标显示效果的目标显示内容,最后可以显示该目标显示内容。由于该方法利用目标着色器对原始显示内容的多个显示窗口进行统一渲染处理,从而可以保证不同显示窗口间的效果同步性,而且无需重复渲染,避免了能耗和内存的浪费。