多窗口显示方法及电子设备与流程

摘要: 本技术涉及显示,尤其涉及多窗口显示方法及电子设备。背景技术:1、目前,在个人计算机(personalcomputer,pc)等电子设备的界面显示场景中,为了方便...
多窗口显示方法及电子设备与流程

本技术涉及显示,尤其涉及多窗口显示方法及电子设备。

背景技术:

1、目前,在个人计算机(personal computer,pc)等电子设备的界面显示场景中,为了方便用户进行工作、学习等日常活动,多窗口显示比较常见,例如电子设备可以支持用户打开图1所示多个独立的窗口。当电子设备显示多个独立的窗口时,如图1所示,窗口之间可能会交错堆叠导致一些窗口的部分区域或者全部区域对用户不可见。

2、但是,在进行包括多个窗口的界面送显时,电子设备是针对多个窗口分别进行绘制渲染再送显的,导致电子设备对较多不可见窗口区域进行了不必要的绘制渲染等处理。特别是当用户打开的窗口较多时,大量不必要的绘制渲染会导致电子设备的图形处理单元(graphics processing unit,gpu)等相关处理模块的负荷较高,甚至超出相关处理模块的处理能力,造成显示界面卡顿、掉帧等问题,影响用户的使用体验。

技术实现思路

1、本技术提供一种多窗口显示方法及电子设备,可以提供像素级别的被遮挡区域的识别,避免不必要的绘制渲染任务给电子设备带来的处理负荷和处理资源浪费。

2、为达到上述目的,本技术采用如下技术方案:

3、第一方面,提供一种多窗口显示方法,该方法可以包括:响应于触发显示第一界面的第一用户操作,电子设备显示第一界面,其中第一界面的渲染像素数为第一渲染像素数,第一界面包括第一窗口和第二窗口,第一窗口和第二窗口没有遮挡关系;响应于改变第一界面中的第一窗口和第二窗口的相对位置的第二用户操作,电子设备显示第二界面,其中第二界面的渲染像素数为第二渲染像素数,第二界面中的第一窗口遮挡第二窗口的部分区域,第二渲染像素数与第一渲染像素数的差值与被遮挡区域对应的像素数线性相关。

4、上述第一方面提供的方案,电子设备在显示有遮挡关系的多个窗口时,能够实现像素级别的被遮挡像素识别,实现仅绘制渲染未被遮挡的像素,不绘制渲染被遮挡的像素,在不影响界面显示效果的前提下,最大限度地剔除不必要的绘制渲染任务,避免不必要的绘制渲染任务给电子设备带来的处理负荷和处理资源浪费,解决处理负荷过高导致的显示界面卡顿、掉帧等问题,提高用户的使用体验。

5、需要说明的是,电子设备所显示的第二界面中,第二窗口中的被遮挡区域对用户不可见,电子设备在进行第二窗口的绘制渲染时,也并未进行被遮挡区域对应的像素的绘制渲染,因此,第二界面的第二渲染像素数与第一界面的第一渲染像素数的差值与被遮挡区域对应的像素数线性相关。

6、例如,被遮挡区域对应的像素数越大,第二渲染像素数与第一渲染像素数的差值越大;被遮挡区域对应的像素数越小,第二渲染像素数与第一渲染像素数的差值越小。

7、作为一种可能的示例,第一用户操作是在电子设备显示包括第一窗口的界面(如记作第四界面)时,用户打开第二窗口的操作。

8、作为一种可能的示例,第一用户操作是在电子设备显示包括第二窗口的界面(如记作第五界面)时,用户打开第一窗口的操作。

9、作为一种可能的示例,第一用户操作是在电子设备显示包括第一窗口和第二窗口的界面(如记作第六界面)时,用户调整第一窗口和第二窗口上下堆叠顺序,和/或,调整第一窗口或第二窗口的位置、尺寸、显示属性等一项或多项的操作。

10、作为一种可能的示例,第一用户操作是在电子设备显示包括第一窗口、第二窗口和第四窗口的界面(如记作第七界面)时,用户关闭或最小化第四窗口的操作。

11、作为一种可能的示例,第二用户操作为调整第一窗口或第二窗口的位置和/或尺寸的操作,第一窗口或第二窗口的位置和/或尺寸的变化会改变第一窗口和第二窗口的相对位置,导致第一窗口遮挡第二窗口的部分区域。

12、作为一种可能的示例,电子设备可以先获取第一界面的第一渲染像素数、再显示第一界面,或者可以先显示第一界面、再获取第一界面的第一渲染像素数,或者在获取第一界面的第一渲染像素数的同时显示第一界面。

13、作为一种可能的实现方式,在电子设备显示第二界面之前,上述方法还包括:响应于第二用户操作,电子设备确定被遮挡区域对应的像素;电子设备绘制渲染第一窗口和第二窗口,在渲染第二窗口时,电子设备放弃绘制渲染被遮挡区域对应的像素。如此,电子设备能够有效剔除不必要的绘制渲染任务,避免不必要的绘制渲染任务给电子设备带来的处理负荷和处理资源浪费

14、作为一种可能的实现方式,电子设备确定被遮挡区域对应的像素,包括:电子设备根据第一窗口的绘制顺序和第二窗口的绘制顺序确定第一窗口的层级排序值和第二窗口的层级排序值,并确定第一窗口为遮挡体;电子设备生成第二界面的绘制指令集,绘制指令集包括第一窗口的各像素的绘制指令和第二窗口的各像素的绘制指令,每个像素的绘制指令中包括对应像素所在窗口的层级排序值;电子设备根据第一窗口构建模版缓冲区,模版缓冲区中包括第一区域和第二区域,第一区域为第一窗口对应的像素区域,第一区域中像素的模版值为第一窗口的层级排序值,第二区域与窗口无对应关系,第二区域中像素的模版值为0;电子设备对第二窗口中的像素,逐像素比较绘制指令中的层级排序值与模版缓冲区中对应像素的模版值,判断该像素是否被遮挡。如此,能够兼容电子设备已有的绘制渲染流程,通过实现逻辑方面的改进,如在生成绘制指令时生成带有层级排序值的绘制指令、在构建模版缓冲区时使用遮挡体构建,在绘制渲染时通过比较绘制指令中的层级排序值与缓冲区中的模版值,判断像素是否被遮挡,以提供像素级别的窗口间遮挡区域识别功能。

15、作为一种可能的实现方式,电子设备根据第一窗口的绘制顺序和第二窗口的绘制顺序确定第一窗口的层级排序值和第二窗口的层级排序值,并确定第二窗口为遮挡体,包括:电子设备根据第一窗口和第二窗口的绘制顺序的先后,确定绘制顺序在后的第一窗口的层级排序值为第一值、绘制顺序在前的第二窗口的层级排序值为第二值,第一值大于第二值,并确定绘制顺序在后的第一窗口为遮挡体。如此,能够有序、高效、准确地确定多个窗口的层级排序值以及确定遮挡体。

16、作为一种可能的实现方式,电子设备对第二窗口中的像素,逐像素比较绘制指令中的像素值与模版缓冲区中对应像素的模版值,判断像素是否被遮挡,包括:在绘制指令中的层级排序值小于模版缓冲区中对应像素的模版值时,电子设备确定像素被遮挡;在绘制指令中的层级排序值大于或等于模版缓冲区中对应像素的模版值时,确定像素未被遮挡。如此能够高效、准确地确定像素是否被遮挡。

17、作为一种可能的实现方式,上述方法应用于电子设备,电子设备包括图形系统,图形系统根据第一窗口的绘制顺序和第二窗口的绘制顺序确定第一窗口的层级排序值和第二窗口的层级排序值、确定第一窗口为遮挡体、生成第二界面的绘制指令集、以及根据第一窗口构建模版缓冲区。如此,电子设备能够兼容已有的图形系统,依靠图形系统汇总各窗口的信息的能力,实现像素级别的被遮挡区域的确定。

18、作为一种可能的实现方式,电子设备包括图形渲染管线,电图形渲染管线对第二窗口中的像素,逐像素比较绘制指令中的层级排序值与模版缓冲区中对应像素的模版值,判断像素是否被遮挡。如此,电子设备能够兼容已有的图形渲染管线和处理流程,实现像素级别的被遮挡区域的确定。

19、作为一种可能的实现方式,图形渲染管线对第二窗口中的像素,逐像素比较绘制指令中的层级排序值与模版缓冲区中对应像素的模版值,判断像素是否被遮挡,包括:图形渲染管线对第二窗口中的像素进行光栅化后进行模版检测,其中模版检测包括:通过逐像素比较绘制指令中的层级排序值与模版缓冲区中对应像素的模版值,判断像素是否被遮挡。如此,电子设备能够兼容已有的图形渲染管线,充分利用图形渲染管线预留的处理流程,实现像素级别的被遮挡区域的确定。

20、作为一种可能的实现方式,电子设备放弃绘制渲染被遮挡区域对应的像素,包括:电子设备通过图形渲染管线放弃对被遮挡区域对应的像素进行片段着色和其它一项或多项绘制渲染处理。如此,能够兼容图形渲染管线的已有处理流程,在片段着色之前剔除不需要绘制渲染的像素,最大限度地降低涉及片段着色的像素数,避免不必要的片段着色等绘制渲染任务给电子设备带来的处理负荷和处理资源浪费。

21、作为一种可能的实现方式,第一界面和第二界面还包括第三窗口,第一界面中的第三窗口与第一窗口、第二窗口均没有遮挡关系,第二界面中的第三窗口遮挡第二窗口、且第三窗口被第一窗口遮挡;上述方法还包括:电子设备根据第三窗口的绘制顺序确定第三窗口的层级排序值;电子设备对第三窗口中的像素,逐像素比较绘制指令中的层级排序值与模版缓冲区中对应像素的模版值,判断像素是否被遮挡。如此,能够结合收益与处理代价灵活进行用于构建模版缓冲区的遮挡体的选择,在获取较大剔除收益的同时,避免模版数据过多带来的模版测试与像素剔除过程占用的资源过多、处理时长过长,处理代价过大,提升绘制渲染效率。

22、作为一种可能的实现方式,上述方法还包括:电子设备确定第三窗口为遮挡体;在构建模版缓冲区时,电子设备根据第三窗口在模版缓冲区中构建第三区域,第三区域为第三窗口对应的未被第一窗口遮挡的像素区域,第三区域中像素的模版值为第三窗口的层级排序值。如此,能够充分考虑各个遮挡体进行模版缓冲区的构建,最大限度地剔除不需要被绘制渲染的像素,避免不必要的绘制渲染任务给电子设备带来的处理负荷和处理资源浪费。

23、第二方面,提供一种电子设备,该电子设备包括:显示屏,用于进行界面显示;存储器,用于存储计算机程序指令;处理器,用于执行所述计算机程序指令,以支持电子设备实现如第一方面任一种可能的实现方式中的方法。

24、第三方面,提供一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序指令,该计算机程序指令被处理器执行时实现如第一方面任一种可能的实现方式中的方法。

25、第四方面,提供一种包含指令的计算机程序产品,当该计算机程序产品在计算机上运行时,使得计算机实现如第一方面任一种可能的实现方式中的方法。

26、第五方面,提供一种芯片系统,该芯片系统包括处理电路、存储介质,存储介质中存储有计算机程序指令;所述计算机程序指令被所述处理器执行时,实现如第一方面任一种可能的实现方式中的方法。该芯片系统可以由芯片构成,也可以包含芯片和其他分立器件。