CN116700655B - 一种界面显示方法及电子设备 - Google Patents
一种界面显示方法及电子设备 Download PDFInfo
- Publication number
- CN116700655B CN116700655B CN202211145487.3A CN202211145487A CN116700655B CN 116700655 B CN116700655 B CN 116700655B CN 202211145487 A CN202211145487 A CN 202211145487A CN 116700655 B CN116700655 B CN 116700655B
- Authority
- CN
- China
- Prior art keywords
- attribute information
- display direction
- display
- module
- instruction
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 126
- 238000007781 pre-processing Methods 0.000 claims abstract description 172
- 238000009877 rendering Methods 0.000 claims abstract description 117
- 239000000203 mixture Substances 0.000 claims abstract description 31
- 230000015572 biosynthetic process Effects 0.000 claims description 39
- 238000003786 synthesis reaction Methods 0.000 claims description 39
- 239000000872 buffer Substances 0.000 claims description 27
- 230000015654 memory Effects 0.000 claims description 27
- 230000008859 change Effects 0.000 claims description 25
- 238000004590 computer program Methods 0.000 claims description 7
- 238000012545 processing Methods 0.000 abstract description 58
- 238000007726 management method Methods 0.000 description 75
- 230000008569 process Effects 0.000 description 64
- 238000004891 communication Methods 0.000 description 31
- 230000006854 communication Effects 0.000 description 31
- 230000006870 function Effects 0.000 description 23
- 239000000306 component Substances 0.000 description 13
- 238000010295 mobile communication Methods 0.000 description 12
- 230000000694 effects Effects 0.000 description 11
- 238000010586 diagram Methods 0.000 description 9
- 230000003287 optical effect Effects 0.000 description 6
- 238000013528 artificial neural network Methods 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 4
- 238000013507 mapping Methods 0.000 description 4
- 230000005236 sound signal Effects 0.000 description 4
- 229920001621 AMOLED Polymers 0.000 description 3
- 230000001133 acceleration Effects 0.000 description 3
- 239000003999 initiator Substances 0.000 description 3
- 230000003993 interaction Effects 0.000 description 3
- 230000033764 rhythmic process Effects 0.000 description 3
- 230000002194 synthesizing effect Effects 0.000 description 3
- 239000008186 active pharmaceutical agent Substances 0.000 description 2
- 230000003416 augmentation Effects 0.000 description 2
- 239000002131 composite material Substances 0.000 description 2
- 238000013500 data storage Methods 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 239000004973 liquid crystal related substance Substances 0.000 description 2
- 230000007774 longterm Effects 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 239000002096 quantum dot Substances 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- 230000001960 triggered effect Effects 0.000 description 2
- 230000007175 bidirectional communication Effects 0.000 description 1
- 238000013529 biological neural network Methods 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000000903 blocking effect Effects 0.000 description 1
- 210000000988 bone and bone Anatomy 0.000 description 1
- 210000004556 brain Anatomy 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 210000004027 cell Anatomy 0.000 description 1
- 230000000295 complement effect Effects 0.000 description 1
- 239000004020 conductor Substances 0.000 description 1
- 239000008358 core component Substances 0.000 description 1
- 230000007423 decrease Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 230000004927 fusion Effects 0.000 description 1
- 230000036541 health Effects 0.000 description 1
- 230000001939 inductive effect Effects 0.000 description 1
- 238000003780 insertion Methods 0.000 description 1
- 230000037431 insertion Effects 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 230000004807 localization Effects 0.000 description 1
- 239000011159 matrix material Substances 0.000 description 1
- 229910044991 metal oxide Inorganic materials 0.000 description 1
- 150000004706 metal oxides Chemical class 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000001537 neural effect Effects 0.000 description 1
- 210000002569 neuron Anatomy 0.000 description 1
- 230000005855 radiation Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 238000004513 sizing Methods 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000003238 somatosensory effect Effects 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/14—Digital output to display device ; Cooperation and interconnection of the display device with other functional units
- G06F3/147—Digital output to display device ; Cooperation and interconnection of the display device with other functional units using display panels
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/451—Execution arrangements for user interfaces
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Image Generation (AREA)
- User Interface Of Digital Computer (AREA)
Abstract
本申请公开一种界面显示方法及电子设备,电子设备包括图形预处理模块、表面混合器、硬件合成器HWC和显示器,显示器的不同的显示方向对应的属性信息不同,包括:电子设备获取触发事件;电子设备通过图形预处理模块获取第二显示方向下的第一属性信息;在第一属性信息的第二显示方向与默认显示方向不同时,电子设备通过图形预处理模块基于第一属性信息生成预处理指令,将预处理指令***第一绘制指令,得到第二绘制指令,电子设备基于第二绘制指令进行绘制,得到第一图像集;电子设备对第一图像集进行渲染,得到第二图像集;电子设备通过表面混合器控制HWC对第二图像集进行图层合成。在本申请实施例中,可以提高图层处理效率,减缓卡帧和抖动。
Description
技术领域
本申请涉及终端技术领域,尤其涉及一种界面显示方法及电子设备。
背景技术
电子设备的屏幕显示窗口界面之前,需要先进行绘制和渲染显示的画面,在渲染的过程中,具体通过图形处理器GPU进行渲染,之后硬件合成器对渲染的图像进行合成,电子设备的显示器显示缓存器中存储的合成图像。然而,随着电子设备显示画面在屏幕中的变化,图像绘制、渲染和合成过程的效率降低,会导致显示界面出现抖动和卡帧的问题。
发明内容
本申请实施例公开了一种界面显示方法及电子设备,可以提高图层合成效率,减缓显示中卡帧和抖动问题。
第一方面,本申请提供了一种界面显示方法,所述方法应用于电子设备,所述电子设备包括图形预处理模块、图形绘制模块、表面混合器、硬件合成器HWC和显示器,所述显示器设有不同的显示方向,所述不同的显示方向对应的属性信息不同,所述属性信息用于描述显示窗口;所述方法包括:所述电子设备获取触发事件;所述触发事件指示所述电子设备的显示方向从第一显示方向切换为第二显示方向;所述电子设备通过所述图形预处理模块获取所述第二显示方向下的第一属性信息;在所述第一属性信息对应的所述第二显示方向与默认显示方向不同的情况下,所述电子设备通过所述图形预处理模块基于所述第一属性信息生成预处理指令,将所述预处理指令***第一绘制指令,得到第二绘制指令,所述第一绘制指令用于指示所述图形绘制模块进行绘制;所述电子设备通过所述图形绘制模块基于所述第二绘制指令进行绘制,得到第一图像集,所述第一图像集为针对显示方向切换而绘制的图像集;所述电子设备通过所述图形绘制模块对所述第一图像集进行渲染,得到第二图像集;所述电子设备通过所述表面混合器控制所述HWC对所述第二图像集进行图层合成,得到第三图像;所述电子设备通过所述显示器显示所述第三图像。
在本申请实施例中,电子设备在屏幕显示方向的切换场景中,电子设备可以在渲染的过程中,便通过GPU或CPU完成旋转、尺寸处理以及位置等处理,避免渲染完成后,通过SurfaceFlinger的处理,保证硬件合成器完成其专长的图层处理的任务,从而可以提高图像绘制、渲染和显示的效率,减少界面出现卡帧的概率,减缓显示中卡帧和抖动的问题,提高用户的体验。
在一种可能的实现方式中,所述电子设备包括第一应用和窗口管理器WMS,所述图形绘制模块包括绘制管理模块和渲染模块,所述电子设备获取触发事件之后,具体包括:所述电子设备通过所述第一应用获取所述触发事件;所述电子设备通过所述第一应用获取所述触发事件之后,所述方法还包括:所述电子设备通过所述第一应用基于所述触发事件获取所述第一属性信息;所述电子设备通过所述第一应用向所述WMS发送所述第一属性信息;所述电子设备通过所述图形预处理模块获取所述第二显示方向下的第一属性信息,具体包括:所述电子设备通过所述WMS向所述图形预处理模块发送所述第一属性信息。这样,图形预处理模块能够拦截WMS向SurfaceFlinger发送的第一属性信息,方便在预处理的时候,将第一属性信息变更为第二属性信息,从而保证SurfaceFlinger不需要进一步去做判断,避免了GPU进行图层合成的操作,从而可以提高图像绘制、渲染和显示的效率,减少界面出现卡帧的概率。
在一种可能的实现方式中,所述在所述第一属性信息对应的所述第二显示方向与默认显示方向不同的情况下,所述方法还包括:所述电子设备通过所述图形预处理模块向所述WMS发送第二属性信息,所述第二属性信息对应的显示方向与所述默认显示方向相同;所述电子设备通过所述WMS向所述表面混合器发送所述第二属性信息;所述电子设备通过所述表面混合器控制所述HWC对所述第二图像集进行图层合成,得到第三图像,具体包括:所述电子设备通过所述表面混合器控制所述HWC基于所述第二属性信息对所述第二图像集进行图层合成,得到第三图像。这样,电子设备能够在预处理的时候,将与所述默认显示方向相同的第二属性信息发送给SurfaceFlinger,保证SurfaceFlinger不会调用GPU进行图层合成,从而可以保证图层合成由HWC完成,从而可以提高图像绘制、渲染和显示的效率,减少界面出现卡帧的概率。
在一种可能的实现方式中,所述电子设备通过所述表面混合器控制所述HWC基于所述第二属性信息对所述第二图像集进行图层合成,得到第三图像,具体包括:所述电子设备通过所述表面混合器基于所述第二属性信息判断是否需要画面调整,在所述第二属性信息对应的显示方向与默认显示方向相同的情况下,所述电子设备通过所述表面混合器确定不需要画面调整;在所述第二属性信息对应的显示方向与默认显示方向不同的情况下,所述电子设备通过所述表面混合器确定需要画面调整;在确定不需要画面调整的情况下,所述电子设备通过所述HWC对所述第二图像集进行图层合成,得到第三图像。这样,第二属性信息的显示方向与默认显示方向相同,因此,基于第二属性信息进行图层合成,可以保证图层合成由HWC完成,而非GPU,从而可以提高图像绘制、渲染和显示的效率,减少界面出现卡帧的概率。
在一种可能的实现方式中,所述电子设备通过所述图形预处理模块基于所述第一属性信息生成预处理指令,将所述预处理指令***第一绘制指令,得到第二绘制指令之前,所述方法还包括:所述电子设备通过所述第一应用向所述绘制管理模块发送所述第一绘制指令,所述第一绘制指令存储在指令缓存器中;所述电子设备通过所述图形预处理模块读取所述指令缓存器中的所述第一绘制指令;所述电子设备通过所述图形预处理模块将所述预处理指令***第一绘制指令,得到第二绘制指令,具体包括:所述电子设备通过所述图形预处理模块将所述预处理指令***所述第一绘制指令,得到所述第二绘制指令,并将所述第二绘制指令录入所述指令缓存器中;所述电子设备通过所述绘制管理模块获取所述第二绘制指令,所述第二绘制指令指示所述绘制管理模块进行图像绘制和预处理。这样,预处理指令可以在图形绘制和渲染之前的绘制指令中***,保证绘制和渲染过程中,完成旋转、尺寸调整,位置调整等操作,预处理的过程由CPU或者GPU提前完成,从而保证SurfaceFlinger接收到的第二图像集需要再画面调整,以确保图层合成由HWC完成,而非GPU,从而可以提高图像绘制、渲染和显示的效率,减少界面出现卡帧的概率。
在一种可能的实现方式中,所述电子设备通过所述图形预处理模块获取所述第二显示方向下的第一属性信息之后,在所述第一属性信息包括旋转属性的情况下,所述方法还包括:所述电子设备通过所述图形预处理模块基于所述默认显示方向判断所述第一属性信息中旋转属性对应的所述第二显示方向与所述默认显示方向是否不同;在所述旋转属性的旋转角度不为0度的情况下,所述电子设备通过所述图形预处理模块确定所述第二显示方向与所述默认显示方向不同;在所述旋转属性的旋转角度为0度的情况下,所述电子设备通过所述图形预处理模块确定所述第二显示方向与所述默认显示方向相同;其中,所述旋转属性描述图层的显示角度,所述旋转属性的旋转角度为0度表示屏幕处于默认显示方向。在一种可能的实现方式中,电子设备可以直接基于旋转属性判断是否需要预处理,旋转属性与显示方向直接关联,能够快速准确的确定是否需要进行预处理,提高判断的效率。
在一种可能的实现方式中,所述第一属性信息包括旋转属性、宽高属性和位置属性;所述旋转属性描述图层的显示角度;所述宽高属性描述图层的尺寸大小;所述位置属性描述图层的顺序。这样,第一属性信息中包括显示方向发生切换所需要的变更的属性信息,从而能够保证第一属性信息和第二属性信息的准确性,也能够保证预处理的准确性。
在一种可能的实现方式中,所述电子设备屏幕包括至少两种显示方向,所述触发事件包括屏幕显示方向切换事件,所述屏幕显示方向切换事件包括所述电子设备检测到其放置方向发生变化的事件、所述电子设备检测到作用于切换显示方向的操作、所述电子设备检测到人脸相对于屏幕的方向的变化事件中的一种或多种。这样,由于不同的电子设备的显示方向切换的触发事件不同,因此,需要不同的触发事件需要电子设备均能够检测,保证方案的完成性。
上述实施方式中,电子设备的处理过程可以参考图7和图9的相关描述,不赘述。
第二方面,本申请提供了一种电子设备,包括:图形预处理模块、图形绘制模块和表面混合器、一个或多个处理器和一个或多个存储器;所述一个或多个处理器与所述一个或多个存储器耦合,所述一个或多个存储器用于存储计算机程序代码,计算机程序代码包括计算机指令,当所述一个或多个处理器执行所述计算机指令时,使得所述电子设备执行:获取触发事件;所述触发事件指示所述电子设备的显示方向从第一显示方向切换为第二显示方向;通过所述图形预处理模块获取所述第二显示方向下的第一属性信息;在所述第一属性信息对应的所述第二显示方向与默认显示方向不同的情况下,通过所述图形预处理模块基于所述第一属性信息生成预处理指令,将所述预处理指令***第一绘制指令,得到第二绘制指令,所述第一绘制指令用于指示所述图形绘制模块进行绘制;通过所述图形绘制模块基于所述第二绘制指令进行绘制,得到第一图像集,所述第一图像集为针对显示方向切换而绘制的图像集;通过所述图形绘制模块对所述第一图像集进行渲染,得到第二图像集。
在本申请实施例中,电子设备在屏幕显示方向的切换场景中,电子设备可以在渲染的过程中,便通过GPU或CPU完成旋转、尺寸处理以及位置等处理,避免渲染完成后,通过SurfaceFlinger的处理,保证硬件合成器完成其专长的图层处理的任务,从而可以提高图像绘制、渲染和显示的效率,减少界面出现卡帧的概率,减缓显示中卡帧和抖动的问题,提高用户的体验。
一种可能的实施方式中,所述电子设备还包括HWC和显示器;所述HWC,用于对所述第二图像集进行图层合成,得到第三图像;所述显示器,用于显示所述第三图像。
在一种可能的实现方式中,所述电子设备包括第一应用和窗口管理器WMS,所述图形绘制模块包括绘制管理模块和渲染模块,所述电子设备获取触发事件之后,具体执行:通过所述第一应用获取所述触发事件;所述电子设备通过所述第一应用获取所述触发事件之后,所述电子设备还执行:通过所述第一应用基于所述触发事件获取所述第一属性信息;通过所述第一应用向所述WMS发送所述第一属性信息;通过所述图形预处理模块获取所述第二显示方向下的第一属性信息,具体执行:通过所述WMS向所述图形预处理模块发送所述第一属性信息。这样,图形预处理模块能够拦截WMS向SurfaceFlinger发送的第一属性信息,方便在预处理的时候,将第一属性信息变更为第二属性信息,从而保证SurfaceFlinger不需要进一步去做判断,避免了GPU进行图层合成的操作,从而可以提高图像绘制、渲染和显示的效率,减少界面出现卡帧的概率。
在一种可能的实现方式中,所述在所述第一属性信息对应的所述第二显示方向与默认显示方向不同的情况下,所述电子设备还执行:通过所述图形预处理模块向所述WMS发送第二属性信息,所述第二属性信息对应的显示方向与所述默认显示方向相同;通过所述WMS向所述表面混合器发送所述第二属性信息;通过所述表面混合器控制所述HWC对所述第二图像集进行图层合成,得到第三图像,具体包括:通过所述表面混合器控制所述HWC基于所述第二属性信息对所述第二图像集进行图层合成,得到第三图像。这样,电子设备能够在预处理的时候,将与所述默认显示方向相同的第二属性信息发送给SurfaceFlinger,保证SurfaceFlinger不会调用GPU进行图层合成,从而可以保证图层合成由HWC完成,从而可以提高图像绘制、渲染和显示的效率,减少界面出现卡帧的概率。
在一种可能的实现方式中,所述电子设备通过所述表面混合器控制所述HWC基于所述第二属性信息对所述第二图像集进行图层合成,得到第三图像,具体执行:通过所述表面混合器基于所述第二属性信息判断是否需要画面调整,在所述第二属性信息对应的显示方向与默认显示方向相同的情况下,通过所述表面混合器确定不需要画面调整;在所述第二属性信息对应的显示方向与默认显示方向不同的情况下,通过所述表面混合器确定需要画面调整;在确定不需要画面调整的情况下,通过所述HWC对所述第二图像集进行图层合成,得到第三图像。这样,第二属性信息的显示方向与默认显示方向相同,因此,基于第二属性信息进行图层合成,可以保证图层合成由HWC完成,而非GPU,从而可以提高图像绘制、渲染和显示的效率,减少界面出现卡帧的概率。
在一种可能的实现方式中,所述电子设备通过所述图形预处理模块基于所述第一属性信息生成预处理指令,将所述预处理指令***第一绘制指令,得到第二绘制指令之前,所述电子设备还执行:通过所述第一应用向所述绘制管理模块发送所述第一绘制指令,所述第一绘制指令存储在指令缓存器中;通过所述图形预处理模块读取所述指令缓存器中的所述第一绘制指令;通过所述图形预处理模块将所述预处理指令***第一绘制指令,得到第二绘制指令,具体执行:通过所述图形预处理模块将所述预处理指令***所述第一绘制指令,得到所述第二绘制指令,并将所述第二绘制指令录入所述指令缓存器中;通过所述绘制管理模块获取所述第二绘制指令,所述第二绘制指令指示所述绘制管理模块进行图像绘制和预处理。这样,预处理指令可以在图形绘制和渲染之前的绘制指令中***,保证绘制和渲染过程中,完成旋转、尺寸调整,位置调整等操作,预处理的过程由CPU或者GPU提前完成,从而保证SurfaceFlinger接收到的第二图像集需要再画面调整,以确保图层合成由HWC完成,而非GPU,从而可以提高图像绘制、渲染和显示的效率,减少界面出现卡帧的概率。
在一种可能的实现方式中,所述电子设备通过所述图形预处理模块获取所述第二显示方向下的第一属性信息之后,在所述第一属性信息包括旋转属性的情况下,所述电子设备还执行:通过所述图形预处理模块基于所述默认显示方向判断所述第一属性信息中旋转属性对应的所述第二显示方向与所述默认显示方向是否不同;在所述旋转属性的旋转角度不为0度的情况下,通过所述图形预处理模块确定所述第二显示方向与所述默认显示方向不同;在所述旋转属性的旋转角度为0度的情况下,通过所述图形预处理模块确定所述第二显示方向与所述默认显示方向相同;其中,所述旋转属性描述图层的显示角度,所述旋转属性的旋转角度为0度表示屏幕处于默认显示方向。在一种可能的实现方式中,电子设备可以直接基于旋转属性判断是否需要预处理,旋转属性与显示方向直接关联,能够快速准确的确定是否需要进行预处理,提高判断的效率。
在一种可能的实现方式中,所述第一属性信息包括旋转属性、宽高属性和位置属性;所述旋转属性描述图层的显示角度;所述宽高属性描述图层的尺寸大小;所述位置属性描述图层的顺序。这样,第一属性信息中包括显示方向发生切换所需要的变更的属性信息,从而能够保证第一属性信息和第二属性信息的准确性,也能够保证预处理的准确性。
在一种可能的实现方式中,所述电子设备屏幕包括至少两种显示方向,所述触发事件包括屏幕显示方向切换事件,所述屏幕显示方向切换事件包括所述电子设备检测到其放置方向发生变化的事件、所述电子设备检测到作用于切换显示方向的操作、所述电子设备检测到人脸相对于屏幕的方向的变化事件中的一种或多种。这样,由于不同的电子设备的显示方向切换的触发事件不同,因此,需要不同的触发事件需要电子设备均能够检测,保证方案的完成性。
第三方面,本申请提供了一种电子设备,所述电子设备包括图形预处理模块、图形绘制模块、表面混合器、硬件合成器HWC和显示器,其中:所述电子设备获取触发事件;所述触发事件指示所述电子设备的显示方向从第一显示方向切换为第二显示方向;所述图形预处理模块,用于获取所述第二显示方向下的第一属性信息;在所述第一属性信息对应的所述第二显示方向与默认显示方向不同的情况下,所述图形预处理模块,还用于基于所述第一属性信息生成预处理指令,将所述预处理指令***第一绘制指令,得到第二绘制指令,所述第一绘制指令用于指示所述图形绘制模块进行绘制;所述图形绘制模块,还用于基于所述第二绘制指令进行绘制,得到第一图像集;所述图形绘制模块,还用于对所述第一图像集进行渲染,得到第二图像集,所述第二图像集为针对显示方向切换而绘制的图像集;所述表面混合器,用于控制所述HWC对所述第二图像集进行图层合成,得到第三图像;所述显示器,用于显示所述第三图像。
在本申请实施例中,电子设备在屏幕显示方向的切换场景中,电子设备可以在渲染的过程中,便通过GPU或CPU完成旋转、尺寸处理以及位置等处理,避免渲染完成后,通过SurfaceFlinger的处理,保证硬件合成器完成其专长的图层处理的任务,从而可以提高图像绘制、渲染和显示的效率,减少界面出现卡帧的概率,减缓显示中卡帧和抖动的问题,提高用户的体验。
在一种可能的实现方式中,所述电子设备包括第一应用和窗口管理器WMS,所述图形绘制模块包括绘制管理模块和渲染模块,所述电子设备获取触发事件之后,具体用于获取所述触发事件;所述第一应用,还用于基于所述触发事件获取所述第一属性信息;所述第一应用,还用于向所述WMS发送所述第一属性信息;所述图形预处理模块获取所述第二显示方向下的第一属性信息,具体用于:所述图形预处理模块,用于接收来所述WMS的所述第一属性信息。这样,图形预处理模块能够拦截WMS向SurfaceFlinger发送的第一属性信息,方便在预处理的时候,将第一属性信息变更为第二属性信息,从而保证SurfaceFlinger不需要进一步去做判断,避免了GPU进行图层合成的操作,从而可以提高图像绘制、渲染和显示的效率,减少界面出现卡帧的概率。
在一种可能的实现方式中,所述在所述第一属性信息对应的所述第二显示方向与默认显示方向不同的情况下,其中:所述图形预处理模块,还用于向所述WMS发送第二属性信息,所述第二属性信息对应的显示方向与所述默认显示方向相同;所述WMS,还用于向所述表面混合器发送所述第二属性信息;所述表面混合器,还用于控制所述HWC对所述第二图像集进行图层合成,得到第三图像,具体包括:所述表面混合器,还用于控制所述HWC基于所述第二属性信息对所述第二图像集进行图层合成,得到第三图像。这样,电子设备能够在预处理的时候,将与所述默认显示方向相同的第二属性信息发送给SurfaceFlinger,保证SurfaceFlinger不会调用GPU进行图层合成,从而可以保证图层合成由HWC完成,从而可以提高图像绘制、渲染和显示的效率,减少界面出现卡帧的概率。
在一种可能的实现方式中,所述电子设备通过所述表面混合器控制所述HWC基于所述第二属性信息对所述第二图像集进行图层合成,得到第三图像,具体用于:所述表面混合器,用于基于所述第二属性信息判断是否需要画面调整,在所述第二属性信息对应的显示方向与默认显示方向相同的情况下,确定不需要画面调整;在所述第二属性信息对应的显示方向与默认显示方向不同的情况下,确定需要画面调整;在确定不需要画面调整的情况下,所述HWC,用于对所述第二图像集进行图层合成,得到第三图像。这样,第二属性信息的显示方向与默认显示方向相同,因此,基于第二属性信息进行图层合成,可以保证图层合成由HWC完成,而非GPU,从而可以提高图像绘制、渲染和显示的效率,减少界面出现卡帧的概率。
在一种可能的实现方式中,所述电子设备通过所述图形预处理模块基于所述第一属性信息生成预处理指令,将所述预处理指令***第一绘制指令,得到第二绘制指令之前,其中:所述第一应用,还用于向所述绘制管理模块发送所述第一绘制指令,所述第一绘制指令存储在指令缓存器中;所述图形预处理模块,还用于读取所述指令缓存器中的所述第一绘制指令;所述图形预处理模块将所述预处理指令***第一绘制指令,得到第二绘制指令,具体用于将所述预处理指令***所述第一绘制指令,得到所述第二绘制指令,并将所述第二绘制指令录入所述指令缓存器中;所述绘制管理模块,用于获取所述第二绘制指令,所述第二绘制指令指示所述绘制管理模块进行图像绘制和预处理。这样,预处理指令可以在图形绘制和渲染之前的绘制指令中***,保证绘制和渲染过程中,完成旋转、尺寸调整,位置调整等操作,预处理的过程由CPU或者GPU提前完成,从而保证SurfaceFlinger接收到的第二图像集需要再画面调整,以确保图层合成由HWC完成,而非GPU,从而可以提高图像绘制、渲染和显示的效率,减少界面出现卡帧的概率。
在一种可能的实现方式中,所述电子设备通过所述图形预处理模块获取所述第二显示方向下的第一属性信息之后,在所述第一属性信息包括旋转属性的情况下,其中:
所述图形预处理模块,还用于基于所述默认显示方向判断所述第一属性信息中旋转属性对应的所述第二显示方向与所述默认显示方向是否不同;所述图形预处理模块,用于在所述旋转属性的旋转角度不为0度的情况下,确定所述第二显示方向与所述默认显示方向不同;在所述旋转属性的旋转角度为0度的情况下,确定所述第二显示方向与所述默认显示方向相同;其中,所述旋转属性描述图层的显示角度,所述旋转属性的旋转角度为0度表示屏幕处于默认显示方向。在一种可能的实现方式中,电子设备可以直接基于旋转属性判断是否需要预处理,旋转属性与显示方向直接关联,能够快速准确的确定是否需要进行预处理,提高判断的效率。
在一种可能的实现方式中,所述第一属性信息包括旋转属性、宽高属性和位置属性;所述旋转属性描述图层的显示角度;所述宽高属性描述图层的尺寸大小;所述位置属性描述图层的顺序。这样,第一属性信息中包括显示方向发生切换所需要的变更的属性信息,从而能够保证第一属性信息和第二属性信息的准确性,也能够保证预处理的准确性。
在一种可能的实现方式中,所述电子设备屏幕包括至少两种显示方向,所述触发事件包括屏幕显示方向切换事件,所述屏幕显示方向切换事件包括所述电子设备检测到其放置方向发生变化的事件、所述电子设备检测到作用于切换显示方向的操作、所述电子设备检测到人脸相对于屏幕的方向的变化事件中的一种或多种。这样,由于不同的电子设备的显示方向切换的触发事件不同,因此,需要不同的触发事件需要电子设备均能够检测,保证方案的完成性。
第四方面,本申请提供了一种电子设备,包括:一个或多个功能模块。一个或多个功能模块用于执行上述任一方面任一项可能的实现方式中的界面显示方法。
第五方面,本申请实施例提供了一种计算机存储介质,包括计算机指令,当计算机指令在电子设备上运行时,使得电子设备执行上述任一方面任一项可能的实现方式中的界面显示方法。
第六方面,本申请实施例提供了一种计算机程序产品,当计算机程序产品在计算机上运行时,使得计算机执行上述任一方面任一项可能的实现方式中的界面显示方法。
附图说明
图1是本申请实施例提供的一种电子设备100的硬件结构示意图;
图2是本申请实施例提供的一种电子设备100的软件结构示意图;
图3A~图3F是本申请实施例提供的一组折叠屏的用户界面示意图;
图4是本申请实施例提供的一种界面显示的方法流程示意图;
图5是本申请实施例提供一种图层绘制与合成的示意图;
图6是本申请实施例提供另一种电子设备100的软件结构示意图;
图7是本申请实施例提供另一种界面显示的方法流程示意图;
图8是本申请实施例提供的一种图像绘制模块的交互示意图;
图9是本申请实施例提供的一种图形预处理的方法流程示意图;
图10A和图10B是本申请实施例提供的一组界面显示流程效果示意图。
具体实施方式
在本申请的实施例中,采用了“第一”、“第二”等字样对功能和作用基本相同的相同项或相似项进行区分。例如,第一芯片和第二芯片仅仅是为了区分不同的芯片,并不对其先后顺序进行限定。本领域技术人员可以理解“第一”、“第二”等字样并不对数量和执行次序进行限定,并且“第一”、“第二”等字样也并不限定一定不同。
需要说明的是,本申请实施例中,“示例性的”或者“例如”等词用于表示例子、例证或说明。本申请中被描述为“示例性的”或者“例如”的任何实施例或设计方案不应被解释为比其它实施例或设计方案更优选或更具优势。确切而言,使用“示例性的”或者“例如”等词旨在以具体方式呈现相关概念。
本申请实施例中,“至少一个”是指一个或者多个,“多个”是指两个或两个以上。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B的情况,其中A,B可以是单数或者复数。字符“/”一般表示前后关联对象是一种“或”的关系。“以下至少一项(个)”或其类似表达,是指的这些项中的任意组合,包括单项(个)或复数项(个)的任意组合。例如,a,b,或c中的至少一项(个),可以表示:a,b,c,a-b,a--c,b-c,或a-b-c,其中a,b,c可以是单个,也可以是多个。
下面以电子设备100为例对实施例进行具体说明。应该理解的是,图1所示电子设备100仅是一个范例,并且电子设备100可以具有比图1中所示的更多的或者更少的部件,可以组合两个或多个的部件,或者可以具有不同的部件配置。图中所示出的各种部件可以在包括一个或多个信号处理和/或专用集成电路在内的硬件、软件、或硬件和软件的组合中实现。
电子设备100可以包括:处理器110,外部存储器接口120,内部存储器121,通用串行总线(universal serial bus,USB)接口130,充电管理模块140,电源管理模块141,电池142,天线1,天线2,移动通信模块150,无线通信模块160,音频模块170,扬声器170A,受话器170B,麦克风170C,耳机接口170D,传感器模块180,按键190,马达191,指示器192,摄像头193,显示屏194,以及用户标识模块(subscriber identification module,SIM)卡接口195等。其中传感器模块180可以包括压力传感器180A,陀螺仪传感器180B,气压传感器180C,磁传感器180D,加速度传感器180E,距离传感器180F,接近光传感器180G,指纹传感器180H,温度传感器180J,触摸传感器180K,环境光传感器180L,骨传导传感器180M等。
可以理解的是,本发明实施例示意的结构并不构成对电子设备100的具体限定。在本申请另一些实施例中,电子设备100可以包括比图示更多或更少的部件,或者组合某些部件,或者拆分某些部件,或者不同的部件布置。图示的部件可以以硬件,软件或软件和硬件的组合实现。
处理器110可以包括一个或多个处理单元,例如:处理器110可以包括应用处理器(application processor,AP),调制解调处理器,图形处理器(graphics processingunit,GPU),图像信号处理器(image signal processor,ISP),控制器,存储器,视频编解码器,数字信号处理器(digital signal processor,DSP),基带处理器,和/或神经网络处理器(neural-network processing unit,NPU)等。其中,不同的处理单元可以是独立的器件,也可以集成在一个或多个处理器中。
其中,控制器可以是电子设备100的神经中枢和指挥中心。控制器可以根据指令操作码和时序信号,产生操作控制信号,完成取指令和执行指令的控制。
处理器110中还可以设置存储器,用于存储指令和数据。在一些实施例中,处理器110中的存储器为高速缓冲存储器。该存储器可以保存处理器110刚用过或循环使用的指令或数据。如果处理器110需要再次使用该指令或数据,可从所述存储器中直接调用。避免了重复存取,减少了处理器110的等待时间,因而提高了***的效率。
在一些实施例中,处理器110可以包括一个或多个接口。接口可以包括集成电路(inter-integrated circuit,I2C)接口,集成电路内置音频(inter-integrated circuitsound,I2S)接口,脉冲编码调制(pulse code modulation,PCM)接口,通用异步收发传输器(universal asynchronous receiver/transmitter,UART)接口,移动产业处理器接口(mobile industry processor interface,MIPI),通用输入输出(general-purposeinput/output,GPIO)接口,用户标识模块(subscriber identity module,SIM)接口,和/或通用串行总线(universal serial bus,USB)接口等。
I2C接口是一种双向同步串行总线,包括一根串行数据线(serial data line,SDA)和一根串行时钟线(derail clock line,SCL)。在一些实施例中,处理器110可以包含多组I2C总线。处理器110可以通过不同的I2C总线接口分别耦合触摸传感器180K,充电器,闪光灯,摄像头193等。例如:处理器110可以通过I2C接口耦合触摸传感器180K,使处理器110与触摸传感器180K通过I2C总线接口通信,实现电子设备100的触摸功能。
I2S接口可以用于音频通信。在一些实施例中,处理器110可以包含多组I2S总线。处理器110可以通过I2S总线与音频模块170耦合,实现处理器110与音频模块170之间的通信。在一些实施例中,音频模块170可以通过I2S接口向无线通信模块160传递音频信号,实现通过蓝牙耳机接听电话的功能。
PCM接口也可以用于音频通信,将模拟信号抽样,量化和编码。在一些实施例中,音频模块170与无线通信模块160可以通过PCM总线接口耦合。在一些实施例中,音频模块170也可以通过PCM接口向无线通信模块160传递音频信号,实现通过蓝牙耳机接听电话的功能。所述I2S接口和所述PCM接口都可以用于音频通信。
UART接口是一种通用串行数据总线,用于异步通信。该总线可以为双向通信总线。它将要传输的数据在串行通信与并行通信之间转换。在一些实施例中,UART接口通常被用于连接处理器110与无线通信模块160。例如:处理器110通过UART接口与无线通信模块160中的蓝牙模块通信,实现蓝牙功能。在一些实施例中,音频模块170可以通过UART接口向无线通信模块160传递音频信号,实现通过蓝牙耳机播放音乐的功能。
MIPI接口可以被用于连接处理器110与显示屏194,摄像头193等***器件。MIPI接口包括摄像头串行接口(camera serial interface,CSI),显示屏串行接口(displayserial interface,DSI)等。在一些实施例中,处理器110和摄像头193通过CSI接口通信,实现电子设备100的拍摄功能。处理器110和显示屏194通过DSI接口通信,实现电子设备100的显示功能。
GPIO接口可以通过软件配置。GPIO接口可以被配置为控制信号,也可被配置为数据信号。在一些实施例中,GPIO接口可以用于连接处理器110与摄像头193,显示屏194,无线通信模块160,音频模块170,传感器模块180等。GPIO接口还可以被配置为I2C接口,I2S接口,UART接口,MIPI接口等。
USB接口130是符合USB标准规范的接口,具体可以是Mini USB接口,Micro USB接口,USB Type C接口等。USB接口130可以用于连接充电器为电子设备100充电,也可以用于电子设备100与***设备之间传输数据。也可以用于连接耳机,通过耳机播放音频。该接口还可以用于连接其它电子设备,例如AR设备等。
可以理解的是,本发明实施例示意的各模块间的接口连接关系,只是示意性说明,并不构成对电子设备100的结构限定。在本申请另一些实施例中,电子设备100也可以采用上述实施例中不同的接口连接方式,或多种接口连接方式的组合。
充电管理模块140用于从充电器接收充电输入。其中,充电器可以是无线充电器,也可以是有线充电器。在一些有线充电的实施例中,充电管理模块140可以通过USB接口130接收有线充电器的充电输入。在一些无线充电的实施例中,充电管理模块140可以通过电子设备100的无线充电线圈接收无线充电输入。充电管理模块140为电池142充电的同时,还可以通过电源管理模块141为电子设备供电。
电源管理模块141用于连接电池142,充电管理模块140与处理器110。电源管理模块141接收电池142和/或充电管理模块140的输入,为处理器110,内部存储器121,外部存储器,显示屏194,摄像头193,和无线通信模块160等供电。电源管理模块141还可以用于监测电池容量,电池循环次数,电池健康状态(漏电,阻抗)等参数。在其它一些实施例中,电源管理模块141也可以设置于处理器110中。在另一些实施例中,电源管理模块141和充电管理模块140也可以设置于同一个器件中。
电子设备100的无线通信功能可以通过天线1,天线2,移动通信模块150,无线通信模块160,调制解调处理器以及基带处理器等实现。
天线1和天线2用于发射和接收电磁波信号。电子设备100中的每个天线可用于覆盖单个或多个通信频带。不同的天线还可以复用,以提高天线的利用率。例如:可以将天线1复用为无线局域网的分集天线。在另外一些实施例中,天线可以和调谐开关结合使用。
移动通信模块150可以提供应用在电子设备100上的包括2G/3G/4G/5G等无线通信的解决方案。移动通信模块150可以包括至少一个滤波器,开关,功率放大器,低噪声放大器(low noise amplifier,LNA)等。移动通信模块150可以由天线1接收电磁波,并对接收的电磁波进行滤波,放大等处理,传送至调制解调处理器进行解调。移动通信模块150还可以对经调制解调处理器调制后的信号放大,经天线1转为电磁波辐射出去。在一些实施例中,移动通信模块150的至少部分功能模块可以被设置于处理器110中。在一些实施例中,移动通信模块150的至少部分功能模块可以与处理器110的至少部分模块被设置在同一个器件中。
调制解调处理器可以包括调制器和解调器。其中,调制器用于将待发送的低频基带信号调制成中高频信号。解调器用于将接收的电磁波信号解调为低频基带信号。随后解调器将解调得到的低频基带信号传送至基带处理器处理。低频基带信号经基带处理器处理后,被传递给应用处理器。应用处理器通过音频设备(不限于扬声器170A,受话器170B等)输出声音信号,或通过显示屏194显示图像或视频。在一些实施例中,调制解调处理器可以是独立的器件。在另一些实施例中,调制解调处理器可以独立于处理器110,与移动通信模块150或其它功能模块设置在同一个器件中。
无线通信模块160可以提供应用在电子设备100上的包括无线局域网(wirelesslocal area networks,WLAN)(如无线保真(wireless fidelity,Wi-Fi)网络),蓝牙(bluetooth,BT),全球导航卫星***(global navigation satellite system,GNSS),调频(frequency modulation,FM),近距离无线通信技术(near field communication,NFC),红外技术(infrared,IR)等无线通信的解决方案。无线通信模块160可以是集成至少一个通信处理模块的一个或多个器件。无线通信模块160经由天线2接收电磁波,将电磁波信号调频以及滤波处理,将处理后的信号发送到处理器110。无线通信模块160还可以从处理器110接收待发送的信号,对其进行调频,放大,经天线2转为电磁波辐射出去。
在一些实施例中,电子设备100的天线1和移动通信模块150耦合,天线2和无线通信模块160耦合,使得电子设备100可以通过无线通信技术与网络以及其它设备通信。所述无线通信技术可以包括全球移动通讯***(global system for mobile communications,GSM),通用分组无线服务(general packet radio service,GPRS),码分多址接入(codedivision multiple access,CDMA),宽带码分多址(wideband code division multipleaccess,WCDMA),时分码分多址(time-division code division multiple access,TD-SCDMA),长期演进(long term evolution,LTE),BT,GNSS,WLAN,NFC,FM,和/或IR技术等。所述GNSS可以包括全球卫星定位***(global positioning system,GPS),全球导航卫星***(global navigation satellite system,GLONASS),北斗卫星导航***(beidounavigation satellite system,BDS),准天顶卫星***(quasi-zenith satellitesystem,QZSS)和/或星基增强***(satellite based augmentation systems,SBAS)。
电子设备100通过GPU,显示屏194,以及应用处理器等实现显示功能。GPU为图像处理的微处理器,连接显示屏194和应用处理器。GPU用于执行数学和几何计算,用于图形渲染。处理器110可包括一个或多个GPU,其执行程序指令以生成或改变显示信息。
显示屏194用于显示图像,视频等。该显示屏194可以包括上述内折折叠屏。在一些实施例中,该显示屏194包括上述内折折叠屏和C屏。
显示屏194包括显示面板。显示面板可以采用液晶显示屏(liquid crystaldisplay,LCD),有机发光二极管(organic light-emitting diode,OLED),有源矩阵有机发光二极体或主动矩阵有机发光二极体(active-matrix organic light emitting diode的,AMOLED),柔性发光二极管(flex light-emitting diode,FLED),Miniled,MicroLed,Micro-oLed,量子点发光二极管(quantum dot light emitting diodes,QLED)等。在一些实施例中,电子设备100可以包括1个或N个显示屏194,N为大于1的正整数。
电子设备100可以通过ISP,摄像头193,视频编解码器,GPU,显示屏194以及应用处理器等实现拍摄功能。
ISP用于处理摄像头193反馈的数据。例如,拍照时,打开快门,光线通过镜头被传递到摄像头感光元件上,光信号转换为电信号,摄像头感光元件将所述电信号传递给ISP处理,转化为肉眼可见的图像。ISP还可以对图像的噪点,亮度,肤色进行算法优化。ISP还可以对拍摄场景的曝光,色温等参数优化。在一些实施例中,ISP可以设置在摄像头193中。
摄像头193用于捕获静态图像或视频。物体通过镜头生成光学图像投射到感光元件。感光元件可以是电荷耦合器件(charge coupled device,CCD)或互补金属氧化物半导体(complementary metal-oxide-semiconductor,CMOS)光电晶体管。感光元件把光信号转换成电信号,之后将电信号传递给ISP转换成数字图像信号。ISP将数字图像信号输出到DSP加工处理。DSP将数字图像信号转换成标准的RGB,YUV等格式的图像信号。在一些实施例中,电子设备100可以包括1个或N个摄像头193,N为大于1的正整数。
数字信号处理器用于处理数字信号,除了可以处理数字图像信号,还可以处理其它数字信号。例如,当电子设备100在频点选择时,数字信号处理器用于对频点能量进行傅里叶变换等。
视频编解码器用于对数字视频压缩或解压缩。电子设备100可以支持一种或多种视频编解码器。这样,电子设备100可以播放或录制多种编码格式的视频,例如:动态图像专家组(moving picture experts group,MPEG)1,MPEG2,MPEG3,MPEG4等。
NPU为神经网络(neural-network,NN)计算处理器,通过借鉴生物神经网络结构,例如借鉴人脑神经元之间传递模式,对输入信息快速处理,还可以不断的自学习。通过NPU可以实现电子设备100的智能认知等应用,例如:图像识别,人脸识别,语音识别,文本理解等。
外部存储器接口120可以用于连接外部存储卡,例如Micro SD卡,实现扩展电子设备100的存储能力。外部存储卡通过外部存储器接口120与处理器110通信,实现数据存储功能。例如将音乐,视频等文件保存在外部存储卡中。
内部存储器121可以用于存储计算机可执行程序代码,所述可执行程序代码包括指令。处理器110通过运行存储在内部存储器121的指令,从而执行电子设备100的各种功能应用以及数据处理。内部存储器121可以包括存储程序区和存储数据区。其中,存储程序区可存储操作***,至少一个功能所需的应用程序(比如声音播放功能,图像播放功能等)等。存储数据区可存储电子设备100使用过程中所创建的数据(比如音频数据,电话本等)等。此外,内部存储器121可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件,闪存器件,通用闪存存储器(universal flash storage,UFS)等。
电子设备100可以通过音频模块170,扬声器170A,受话器170B,麦克风170C,耳机接口170D,以及应用处理器等实现音频功能。例如音乐播放,录音等。
压力传感器180A用于感受压力信号,可以将压力信号转换成电信号。在一些实施例中,压力传感器180A可以设置于显示屏194。压力传感器180A的种类很多,如电阻式压力传感器,电感式压力传感器,电容式压力传感器等。电容式压力传感器可以是包括至少两个具有导电材料的平行板。当有力作用于压力传感器180A,电极之间的电容改变。电子设备100根据电容的变化确定压力的强度。当有触摸操作作用于显示屏194,电子设备100根据压力传感器180A检测所述触摸操作强度。电子设备100也可以根据压力传感器180A的检测信号计算触摸的位置。在一些实施例中,作用于相同触摸位置,但不同触摸操作强度的触摸操作,可以对应不同的操作指令。
陀螺仪传感器180B可以用于确定电子设备100的运动姿态。在一些实施例中,可以通过陀螺仪传感器180B确定电子设备100围绕三个轴(即,x,y和z轴)的角速度。陀螺仪传感器180B可以用于拍摄防抖。示例性的,当按下快门,陀螺仪传感器180B检测电子设备100抖动的角度,根据角度计算出镜头模组需要补偿的距离,让镜头通过反向运动抵消电子设备100的抖动,实现防抖。陀螺仪传感器180B还可以用于导航,体感游戏场景。
在本申请实施例中,电子设备100的显示屏194可以包括可折叠形成多个屏。屏幕中可设置有陀螺仪传感器180B,用于测量对应屏的朝向(即朝向的方向向量或者方向角度)。电子设备100可以根据陀螺仪传感器180B测量得到的每个屏的朝向角度变化,确定屏幕的显示方向。此外,摄像头可以采集人脸照片,基于人脸方向确定屏幕需要显示的方向。
电子设备100的软件***可以采用分层架构,事件驱动架构,微核架构,微服务架构,或云架构。本发明实施例以分层架构的Android***为例,示例性说明电子设备100的软件结构。
图2是本申请实施例提供的一种电子设备100的软件结构框图。
分层架构将软件分成若干个层,每一层都有清晰的角色和分工。层与层之间通过软件接口通信。在一些实施例中,将Android***分为四层,从上至下分别为应用程序层(应用层)、应用程序框架层(框架层)、安卓运行时(Android runtime)和***库、硬件抽象层、内核层以及硬件层。
应用程序(application,APP)层可以包括一系列应用程序包。如图2所示,应用程序包可以包括相机,图库,日历,通话,地图,导航,WLAN,蓝牙,音乐,视频,短信息等应用程序。
应用程序框架层(Framework)为应用程序层的应用程序提供应用编程接口(application programming interface,API)和编程框架。应用程序框架层包括一些预先定义的函数。如图2所示,框架层可以包括窗口管理器(window manager service,WMS)。可选的,还可以包括活动管理器(activity manager service,AMS)、内容提供器,视图***,资源管理器,通知管理器等(附图未示出)。
窗口管理器用于管理窗口程序。窗口管理器可以获取显示屏大小,判断是否有状态栏,锁定屏幕,触摸屏幕,拖拽屏幕,截取屏幕等。
在本申请实施例中,窗口管理器作为是视图(View)的管理者,在当前某一应用的画面需要在显示屏进行显示的时候,应用可以向窗口管理器下发窗口任务。WMS可以接收来自应用层这一应用的窗口任务。窗口任务可以包括显示界面的属性信息。WMS管理窗口获取显示界面各个方面的属性信息。属性信息可以包括窗口的方向,位置,尺寸等等信息。之后,WMS可以将Window的这些属性信息传递给SurfaceFlinger。其中,窗口(Window)是View的容器,每个窗口都会包含一个显示界面Surface。
此外,内容提供器用来存放和获取数据,并使这些数据可以被应用程序访问。数据可以包括视频,图像,音频,拨打和接听的电话,浏览历史和书签,电话簿等。
活动管理器用于负责管理应用的活动(activity)的启动、状态、生命周期等与activity相关的事务。其中,activity是一个应用程序组件,可以提供一个界面,以供用户通过该界面与电子设备进行交互,从而完成某项任务。
视图***包括可视控件,例如显示文字的控件,显示图片的控件等。视图***可用于构建应用程序。显示界面可以由一个或多个视图组成的。例如,包括短信通知图标的显示界面,可以包括显示文字的视图以及显示图片的视图。
资源管理器为应用程序提供各种资源,比如本地化字符串,图标,图片,布局文件,视频文件等等。
通知管理器使应用程序可以在状态栏中显示通知信息,可以用于传达告知类型的消息,可以短暂停留后自动消失,无需用户交互。比如通知管理器被用于告知下载完成,消息提醒等。通知管理器还可以是以图表或者滚动条文本形式出现在***顶部状态栏的通知,例如后台运行的应用程序的通知,还可以是以对话窗口形式出现在屏幕上的通知。例如在状态栏提示文本信息,发出提示音,电子设备振动,指示灯闪烁等。
安卓运行时(Android runtime)包括核心库和虚拟机。Android runtime负责安卓***的调度和管理。
核心库包含两部分:一部分是java语言需要调用的功能函数,另一部分是安卓的核心库。
应用程序层和应用程序框架层运行在虚拟机中。虚拟机将应用程序层和应用程序框架层的java文件执行为二进制文件。虚拟机用于执行对象生命周期的管理,堆栈管理,线程管理,安全和异常的管理,以及垃圾回收等功能。
***库可以包括多个功能模块。例如:表面管理器(surface manager),媒体库(Media Libraries),图形绘制模块(hwui)和表面混合器(SurfaceFlinger)等。
其中,图形绘制模块是图像在界面显示之前进行绘制和渲染处理的模块。图形绘制模块可以包括绘制管理模块和渲染模块。绘制管理模块可以在画布上绘制图形,即可以通过CPU绘制图形;渲染模块可以对绘制好的图像通过GPU进行渲染。
图形绘制模块可以调用三维图形处理库和二维2D图形引擎等。其中,三维图形处理库可以为开放式图形库(Open Graphics Library,OpenGL),三维图形处理库用于实现图像渲染等。二维2D图形引擎可以为SGL。2D图形引擎是2D绘图的绘图引擎。OpenGL是指定义了一个跨编程语言、跨平台的编程接口规格的专业的图形程序接口。它用于三维图像(二维的亦可),是一个功能强大,调用方便的底层图形库。OpenGL ES是OpenGL三维图形API的子集,针对手机、游戏主机等嵌入式设备而设计。
表面混合器SurfaceFlinger是一种***服务,负责将上层数据进行处理和合成,并与显示屏进行交互。即可以基于WMS提供的信息合成图像,并将合成信息提交到屏幕的缓冲区,等待显示屏将其映射到屏幕上。SurfaceFlinger使用硬件合成器(HardwareComposer,HWC)或者GPU来合成显示图层。
上述的图像绘制、渲染和合成的过程中,可以通过缓存器(Buffer)进行数据交换。示例性地,OpenGL将绘制和渲染完成数据放入缓存器队列(BufferQueue),SurfaceFlinger将从BufferQueue拿到的数据进行合成,再放入到BufferQueue中。
此外,表面管理器用于对显示子***进行管理,并且为多个应用程序提供了2D和3D图层的融合。
媒体库支持多种常用的音频,视频格式回放和录制,以及静态图像文件等。媒体库可以支持多种音视频编码格式,例如:MPEG4,H.264,MP3,AAC,AMR,JPG,PNG等。
硬件抽象层(hardware abstraction layer,HAL)中包括硬件合成器(hardwarecomposer,HWC)和图形内存分配器(Graphics memory allocator,Gralloc)(未示出)等。其中:
HWC可以与SurfaceFlinger将surface合成到屏幕。假设电子设备的屏幕方向为纵向,状态栏在顶部。HWC是显示控制器***的硬件抽象,SurfaceFlinger会委派一些合成的工作给HWC以此减轻GPU的负载。这样会比单纯通过GPU来合成消耗更少的电量。
内核层是硬件层和软件层之间的层。内核层可以包括显示驱动等。显示驱动能够显能够控制显示屏将SurfaceFlinger中合成的数据映射到屏幕上。
硬件层(Hardware)中可以包括CPU、GPU和显示屏等等。
其中,图形处理器(Graphic Processing Unit,GPU):主要用于处理图形运算,就是通常所说“显卡”的核心部件。在本申请实施例中,如果一个设备支持GPU硬件加速渲染,那么当Android应用程序调用Open GL接口来绘制UI时,Android应用程序的UI就是通过硬件加速技术使用GPU进行渲染的。
CPU可以执行窗口管理器、绘制管理模块、SurfaceFlinger的任务指令。
对于折叠屏的电子设备来说,在折叠屏展开的情况下,用户可以横向使用屏幕,也可以纵向使用屏幕。用户界面可能需要在屏幕的不同方向不同上进行显示,以下针对于相同显示界面在屏幕多个方向上进行的显示场景如下说明:
图3A~图3F是本申请实施例公开的一组折叠屏的用户界面示意图。
请参考图3A~图3C,其示出了本申请实施例提供的一种具有内折折叠屏电子设备100的产品形态示意图。其中,图3A中是内折折叠屏完全展开时的形态示意图。该内折折叠屏可沿折叠边,按照图3A所示的方向11a和11b翻折,可形成图3B所示半折叠形态的A屏和B屏。该内折折叠屏可沿折叠边,按照图3B所示的方向33a和33b继续翻折,可形成图3C所示的完全折叠形态的折叠屏。如图3C所示,电子设备100的折叠屏被完全折叠后,A屏和B屏相对,对用户不可见。
可以理解,对于具有这类内折叠屏的电子设备100而言,当折叠屏处于完全折叠形态时,可以在辅屏显示界面;当折叠屏处于半折叠形态时,可以在A屏、B屏和辅屏显示界面;当折叠屏处于展开形态,可以在A屏和B屏显示界面。
请参考图3D,其示出了本申请实施例提供的一种具有外折折叠屏电子设备100的产品形态示意图。其中,图3A中是也可以是外折折叠屏完全展开时的形态示意图。该外折折叠屏可沿折叠边,向外翻折,即按照图3A所示的方向22a和22b翻折。如图3D所示,电子设备100的折叠屏被完全折叠后,A屏和B屏处于用户可见的正反两面。
可以理解,对于具有这类外折叠屏的电子设备100而言,当折叠屏处于完全折叠形态时,可以在A屏或B屏显示界面;当折叠屏处于半折叠形态时,或者,当折叠屏处于展开形态,可以在A屏和B屏显示界面。
当折叠屏处于展开形态,电子设备屏幕的显示方向可以随着电子设备的放置方向发生变化。例如,电子设备的屏幕可以是长方形,长方形4个方向其中的3个方向均能够进行显示,或者4个方向均能够进行显示;或者横向或者纵向两个能够进行显示。在电子设备调整放置方向的时候,能够切换其显示的方向。示例性地,用户点击电子设备的图库应用,进入图库的显示界面。如图3E所示,当用户横屏持握电子设备时,电子设备的用户界面510可以通过横屏进行显示;如图3F所示,当用户纵向持握电子设备时,电子设备的用户界面520可以通过竖屏的方向进行显示。不论是从横屏切换为竖屏显示,还是从竖屏切换为横屏进行显示,或者从一个横屏切换另一个横屏方向等,电子设备的显示的方向,画面的尺寸大小和画面的位置均有可能发生变化。如图3E和图3F,两个方向的显示内容是一致的,但是由于屏幕的显示方向发生了切换,因此,画面的方向、尺寸和位置等均有要调整。
电子设备的显示方向上可以进行旋转调整的情况下,图4本申请实施例公开一种界面显示的方法流程示意图。如图4所示,该界面显示的方法可以包括但不限于以下步骤:
本申请实施例中,电子设备的应用层可以包括第一应用,框架层包括WMS、***库包括图形绘制模块和SurfaceFlinger、硬件抽象层包括硬件合成器(HWC)、内核层包括显示驱动、以及硬件层包括GPU和显示器等。具体的描述可以参考上述图2的相关描述,不赘述。
S401:第一应用获取第一窗口显示请求。
电子设备可以获取到第一窗口(window)显示请求,之后第一应用可以基于第一窗口显示请求创建窗口。窗口可以理解为一种抽象概念的容器,窗口中的view能够显示在屏幕上。具体地,第一应用接收到的第一窗口显示请求情况下,启动活动activity组件,activity组件可以创建窗口,并将view加入到window中。
本申请实施例中,第一应用可以是包括电子设备安装的应用程序,例如,相机,图库等等,不限定。
S402:第一应用向窗口管理器(WMS)发送第一窗口任务。
在第一应用创建第一窗口之后,可以向窗口管理器发送第一窗口任务。对应地,窗口管理器可以接收来自第一应用的第一窗口任务。其中,第一窗口任务是包括创建窗口的属性信息,属性信息能够描述显示窗口,例如,大小,方向、显示的层次等等。第一应用的activity创建窗口之后,可以通过会话session(第一窗口任务)来访问WMS。
在属性信息发生更新(变化)的情况下,触发第一应用向WMS发送第一窗口任务。窗口画面的生成过程中,窗口的属性信息可以是不变的,也可以是不变的。在属性信息不变的情况下,窗口管理器可以沿用上次确定的属性信息,进行显示画面的生成即可;在变化的情况下,窗口管理器更新的属性信息来生成显示画面,以确保显示画面能够适应变化和需求。
S403:窗口管理器基于第一窗口任务获取属性信息。
窗口管理器接收到第一窗口任务之后,可以基于第一窗口任务确定创建窗口的属性信息。窗口的属性信息包括旋转属性,位置属性、宽高属性等。其中,旋转属性用于表示图层(窗口)的显示方向。位置属性用于描述图层的叠加顺序。宽高属性用于图层画布的尺寸大小。
S404:窗口管理器向表面混合器(SurfaceFlinger)发送属性信息。
窗口管理器获取到属性信息之后,可以向SurfaceFlinger发送属性信息。对应地,SurfaceFlinger可以接收来自窗口管理器的属性信息。
S405:第一应用向图形绘制模块发送绘制指令。
第一应用可以向图形绘制模块发送绘制指令。对应地,图形绘制模块可以接收来自图形绘制模块的绘制指令。绘制指令指示图形绘制模块在画布(canvas)上进行绘制。
电子设备显示第一应用的窗口界面的情况下,第一应用可以按照屏幕刷新率的节奏向SurfaceFlinger发送属性信息。在电子设备的显示器显示窗口界面的时候,是按照特定的屏幕刷新率进行显示的。例如,屏幕刷新率(帧率(frames per second,FPS))为120、90和60等。基于电子设备的显示节奏,第一应用按照上述节奏周期性地发送绘制指令。
需要说明的是,上述的S402和S405的执行的顺序不加限定。
S406:图像绘制模块基于绘制指令进行绘制,得到第一图像集。
图像绘制模块接收到第二窗口任务之后,可以基于第二窗口任务生成绘制请求,得到第一图像集。其中,第一图像集是图像绘制模块绘制的N个图层的图像。N为正整数。
此外,图形绘制模块可以基于第二窗口任务创建画布。示例性地,用户正在触控屏幕的情况下,基于触发事件,计算每一帧动画的运动位置,获取以及保存每一个view和尺寸,并确定控件的显示位置,在确定控件的显示位置之后,在画布(canvas)上绘应用程序窗口中的图层,构造绘制指令。图形绘制模块的绘制管理模块可以通过基于绘制指令进行绘制。
界面绘制过程主要是对显示界面图层进行绘制,界面绘制的本质是对像素的填充。具体地,图5是本申请实施例公开的一种图层绘制与合成的示意图,如图5所示,以安卓原版的Launcher为例,界面绘制可以包括4个图层的绘制,分别为状态栏、导航栏、应用界面和启动器图标层。其中,应用界面可由某一应用服务提供,启动器图标层可由Launcher应用绘制,上述的图层可以由用户界面的systemUI(user interface,UI)线程完成。
S407:图像绘制模块向GPU发送渲染指令。
图像绘制模块绘制完成,得到第二图像集之后,可以生成渲染指令,并向GPU发送渲染指令。对应地,GPU接收来自图像绘制模块的渲染指令。S408:GPU基于渲染指令对第一图像集进行渲染,得到第二图像集。
第一图像集是绘制完成的N个图层的图像。第二图像集是渲染完成对应图层的图像,即渲染完成的N个图层的图像。
GPU接收到渲染指令之后,可以对第一图像集进行渲染处理,得到渲染后的第二图像集。
渲染处理具体可以是GPU将绘制后的图层进行如亮度、对比度、饱和度等的调整。示例性的,GPU图层进行对比度处理,GPU将对比度操作之后的第二图像集缓存到缓存器中。其中,渲染处理的过程不改变原来图层的状态。
可选地,渲染过程,图像绘制模块中的渲染模块可以调用OpenGL控制GPU进行渲染处理。
S409:GPU向SurfaceFlinger发送第二图像集。
GPU渲染图像之后,可以向SurfaceFlinger发送第二图像集。对应地,SurfaceFlinger可以接收来自GPU的第二图像集。
上述S405~S409中,电子设备绘制和渲染出第二图像集,在S410~S417中,SurfaceFlinger控制GPU或者HWC合成第三图像,并将第三图像进行缓存。
S410:SurfaceFlinger基于属性信息判断是否需要进行画面调整。在需要的情况下,执行S411;否则,执行S414。
指示硬件合成器对第二图像集进行图层合成,得到第三图像。
其中,第三图像是硬件合成器对渲染完成的多个图层(第二图像集)进行图层合成得到的图像。
图层合成过程主要是SurfaceFlinger指示硬件合成器按照恰当的重叠顺序依次叠加合并渲染后的图层(第二图像集),得到第三图像的过程。例如,将从缓存器中获取到的渲染之之后的图像集进行图层合成。图层合成后的图层数据按照属性信息中的图层顺序要求进行叠加合并,得到完整的图像帧(第三图像)。
S411:SurfaceFlinger向GPU发送第一图层合成指令。
SurfaceFlinger可以向GPU发送第一图层合成指令。对应地,GPU可以接收来自SurfaceFlinger的第一图层合成指令。第一图层合成指令,第一图成指令用于指示GPU对不同的图层进行合成。
示例性地,如图5所示,将渲染之后的图层状态栏、导航栏、应用界面和启动器图标层成按照重叠顺序记性叠加合并,得到合成的图像帧。
S412:GPU基于属性信息对第二图像集进行画面调整,并将调整后的图像集进行图层合成,得到第三图像。
S413:GPU向显示驱动发送第三图像。
GPU可以向显示驱动发送第三图像。对应地,显示驱动接收来自GPU的第三图像。
其中,S411~S413是在SurfaceFlinger需要进行画面调整的情况下执行的流程。
S414:SurfaceFlinger向HWC发送第二图层合成指令。
SurfaceFlinger可以向HWC发送第二图层合成指令。对应地,HWC可以接收来自SurfaceFlinger的第二图成指令,第二图层合成指令用于指示HWC对不同的图层进行合成。
S415:HWC对第二图像集进行图层合成处理,得到第三图像。
HWC对直接第二图像集进行图层合成处理,得到第三图像。
图像合成过程可以参照S412的描述,不赘述。
S416:硬件合成器向显示驱动发送第三图像。
硬件合成器图层合成完成之后,可以将合成的第三图像发送给显示驱动。对应地,显示驱动可以接收来自硬件合成器的第三图像。
其中,S413~S416是在SurfaceFlinger不需要进行画面调整的情况下执行的流程。
S417:显示驱动缓存第三图像。
显示驱动接收第三图像之后,可以缓存第三图像到缓存器FrameBuffer中。
S418:显示驱动控制显示屏显示第三图像。
显示驱动可以控制显示屏对缓存器中的第三图像按照顺序依次进行显示。送显的过程是指电子设备可以调用显示驱动,将合成后的图像按照规定的显示区域送往显示屏显示。
示例性地,界面绘制、界面渲染、界面合成和送显过程均可以由垂直同步(vertical synchronization,VSYNC)信号触发。VSYNC信号的触发周期即屏幕的刷新率。
因此,在电子设备的屏幕在不同方向显示的过程中,上述的图4的S410~S414中,SurfaceFlinger基于第二图像集和属性信息指示硬件合成器对第二图像集进行图层合成处理之前,需要先判断属性信息是否指示第二图像集进行旋转等处理(S410,是否需要画面调整),在需要旋转的情况下,电子设备通过GPU对第二图像集进行旋转,以及图像尺寸、图标位置等调整,之后再进行图层合成处理。
硬件合成器是专有的图层合成的处理器,硬件处理器在处理专长的任务时处理速度快、效率高;相反在处理其它任务的速度较慢,效率较低。上述的过程中,屏幕显示方向的发生了改变,图像的方向、尺寸和位置等发生了变化,SurfaceFlinger调用GPU处理方向、尺寸和位置等,并进行图层合成。一旦显示方向切换的频繁,便会将很大一部分的图层合成任务交由GPU进行处理。GPU并不擅长图层合成,图层合成的处理速度远远慢于硬件合成器导致图层合成的效率低,很可能会造成显示的图像帧卡顿。
针对上述的实施方式,本申请提出一种界面显示方法,该方法中,电子设备可以通过图像绘制模块提前确定显示的图像是否需要旋转,在需要旋转的情况下,电子设备在进行图像的绘制和渲染的过程中,提前进行对不同图层图像位置、方向和尺寸等的预处理,避免后续SurfaceFlinger还需要对电子设备进行上述的操作,让硬件合成器能处理自身专长的任务,提高处理效率,减缓显示过程中的图像帧卡顿或者抖动的问题。
结合折叠屏展开的场景,屏幕通过不同显示方向进行图像显示的时候,所显示的方向、尺寸的位置不同,因为需要图像送显之前提前进行处理。
图6是本申请实施例公开的另一种电子设备100的软件结构架构的示意图。
如图6所示,相比于上述图2所示的软件结构框架,本申请实施例中,图形绘制模块增加了图形预处理模块。在属性信息发生变化的情况下,图像预处理模块可以从窗口管理器拦截到的属性信息,基于属性信息中预设属性确定是否进行预处理,在需要进行预处理的情况下,图形预处理模块将属性信息中的预设属性调整为默认属性,并返回给窗口管理器(修改属性信息)。进一步地,图形预处理模块可以基于属性信息生成预处理指令,并基于具体的绘制情况干预绘制管理模块执行新增的预处理指令,这样,便能够对图层进行提前(预)处理。其中,预处理是指图层的方向、尺寸和位置的调整处理(与图4中的画面调整的过程相同),预设属性可以至少包括旋转属性、宽高属性和位置属性中的一种,对应的预处理指令可以至少包括旋转指令、宽高指令和位置指令中的一种。
示例性地,图像预处理模块拦截到来自WMS的第一属性信息之后,可以基于第一属性信息确定当前需要显示的图像是否需要旋转,在需要旋转的情况下,图像预处理模块可以在接收到的第一绘制指令中增加旋转指令,得到第二绘制指令。之后,绘制管理模块可以按照第二绘制指令进行绘制。这样,能够干预绘制和渲染过程,电子设备提前对各个图层进行处理。例如,旋转、尺寸调整或者位置调整等。SurfaceFlinger的进行合成的图像便是已经预处理过的图像了,不需要继续进一步处理,硬件合成器直接图层合成即可。
其中,图6中的其它部分的描述可以参考图2中的相关描述,不赘述。
电子设备处于的屏幕显示处于可变换状态的情况下,电子设备可开启图7的方法和功能,即图形预处理模块在显示状态可变换的条件下进行工作;在显示状态不可变换的条件下,不工作。显示状态可变化是指显示屏的显示可以发生变化的状态。例如,折叠屏处于展开状态,电子设备的显示方向能够的切换,也可以是其它能够开启旋转屏幕功能的电子设备,本申请不限定。
图7是本申请实施例公开的另一种界面显示的方法流程示意图。如图7所示,电子设备可以包括但不限于以下步骤:
其中,电子设备可以包括图6中的各个模块和器件。各个模块和器件的说明可以参考上述图6和图2中的相关描述,不加赘述。
S701:第一应用获取第一窗口显示请求。
其中,S701的描述具体可以参考上述的S401的相关描述,不赘述。
S702:第一应用向窗口管理器发送第一窗口任务。
其中,S702的描述具体可以参考上述的S402的相关描述。
在属性信息发生更新(变化)的情况下,触发第一应用向WMS发送第一窗口任务,第一窗口任务携带第一属性信息。窗口画面的生成过程中,窗口的属性信息可以是不变的,也可以是不变的。在属性信息不变的情况下,窗口管理器可以沿用上次确定的属性信息,进行显示画面的生成即可;在变化的情况下,窗口管理器更新的属性信息来生成显示画面,以确保显示画面能够适应显示变化和需求。
第一应用可以获取触发事件,触发事件指示所述电子设备的显示方向从第一显示方向切换为第二显示方向,即可以理解为触发事件触发显示方向进行切换。电子设备的第一应用获取到触发事件之后,可以基于触发事件生成(更新)属性信息,并基于属性信息生成第一窗口任务,之后,可以向窗口管理器下发第一窗口任务。第一应用可以基于获取到的触发时间以及触发事件与属性信息的映射关系(或者基于获取到的第二显示方向以及显示方向与属性信息之间的映射关系)确定对应的属性信息。不同的触发事件会使得属性信息中的不同属性发生变化,本申请对上述的映射关系不限定。此外,触发事件用于触发属性信息的更新。
其中,在第一应用获取到触发事件的情况下,电子设备可以基于触发事件确定当前的显示方向发生变化,其中,显示器设有不同的显示方向,不同显示方向指示屏幕的显示方向不同,不同的显示方向对应的属性信息不同,属性信息用于描述显示窗口,电子设备屏幕包括至少两种显示方向,本申请中屏幕和显示器的含义是相同的。
具体地,电子设备的第一应用判断是否获取到触发事件,第一应用获取到触发事件的情况下,可以向WMS发送第一窗口任务;否则,不发送。触发事件可以包括屏幕显示方向切换事件和分屏操作等。其中,屏幕显示方向切换事件可以包括1.所述电子设备检测到其放置方向发生变化的事件,2.所述电子设备检测到作用于切换显示方向的操作,3.所述电子设备检测到人脸相对于屏幕的方向的变化事件,其中的一种或多种,本申请实施例不限定。触发事件会导致属性信息中的至少一种属性发生变化。触发事件与变化的属性信息具有具体的映射关系,本申请不限定。
一种可能的实施方式中,屏幕显示方向切换事件触发属性信息的更新(触发事件为屏幕显示方向切换)。在折叠屏手机的屏幕处于展开的情况下,电子设备可以横向显示或者纵向显示,因此,电子设备的显示方向可以由横屏切为纵屏;也可以由纵屏切换为横屏,还可以和横向方向1切换为横向方向2,横向方向1切换为纵向方向2等。电子设备判断显示方向是否发生切换。例如,上一显示方向为横向(如图3E),用户变换了角度,竖着放置,显示方向变为纵向(如图3F)。进一步地,屏幕显示的方向会触发属性信息中的旋转属性、尺寸属性和位置属性均发生变化。
可选地,电子设备可以通过陀螺仪确定显示方向是否变化。陀螺仪确定其放置的角度(方向),从而陀螺仪驱动能够基于方式角度确定出电子设备的显示方向。将上一次的显示方向和当前角度对应的显示方向进行比较,显示方向不同则判断屏幕显示方向发生切换,即电子设备检测到屏幕显示方向切换事件。
可选地,用户触控作用于切换显示方向的控件时,响应于上述操作,电子设备能够获取到屏幕显示方向切换事件。即电子设备检测到当前用户的触控操作为改变屏幕显示放向的操作的时候,可以判断切换显示方向。
可选地,电子设备检测到人脸相对于屏幕的方向发生变化的情况下,电子设备可以判断屏幕的显示方向切换。电子设备可以通过前置摄像头采集人脸画面,在人脸画面中的人脸方向与屏幕显示方向相同的情况下,确定屏幕显示方向不切换;不同的情况下,屏幕显示方向发生切换。
另一种可能的实施方式中,分屏操作触发属性信息的更新(触发事件为屏幕分屏操作)。在折叠屏手机的屏幕处于展开的情况下,电子设备可以全屏显示或者分屏显示,因此,电子设备的可以由全屏显示切为分屏显示;也可以由分屏显示切为全屏显示。电子设备判断是否分屏。电子设备判断用户的触控操作是否为作用于分屏或者返回全屏显示的触控操作,在用户操作为分屏操作或返回全屏显示操作的情况下,确定产生触发事件。分屏操作会触发属性信息中尺寸属性发生变化。
此外,第一应用具体任务的执行过程可以是由CPU完成的。
S703:窗口管理器基于第一窗口任务获取第一属性信息。
第一属性信息可以包括旋转属性、位置属性、宽高属性中的一种或多种等等。
此外,横向显示和纵向显示相同内容的用户界面,除了电子设备需要旋转操作,界面的宽高,图层的位置等等均有可能需要调整。因此,第一属性信息中的旋转属性、宽高属性和位置属性能够指示电子设备将图层的显示方向进行旋转、图层的尺寸进行放大或缩小,图层的位置对应调整等。其中,第一属性信息还可以包括其它相关的属性信息,不限定。
此外,HWC处理任务的具体执行过程可以由CPU执行。
其中,S703的描述具体可以参考上述的S403的相关描述,不赘述。
在S704~S706中,WMS在向SurfaceFlinger下发第一属性信息之前,图形绘制模块可以拦截第一属性信息并判断是否修改其中的属性信息,需要修改时,进行修改并返回给WMS。
图8是本申请实施例公开的一种图像绘制模块的交互示意图。如图8所示,图像绘制模块可以包括图形预处理模块和绘制渲染模块,绘制渲染模块包括绘制管理模块和渲染模块。其中绘制管理模块可以在画布上绘制不同图层的图形,渲染模块可以基于渲染指令对绘制好的图像进行渲染。图形预处理模块可以包括属性管理模块和指令管理模块。其中,属性管理模块可以接收并调整窗口管理器的属性信息。
S704:窗口管理器向图形绘制模块发送第一属性信息。
窗口管理器可以向图形绘制模块发送第一属性信息。对应地,图形绘制模块可以接收来自窗口管理器的第一属性信息。
具体地,图形绘制模块可以包括图形预处理模块,电子设备可以通过图形预处理模块拦截窗口管理器的第一属性信息。
S705:图形绘制模块基于第一属性信息生成第二属性信息。
图形绘制模块的图形预处理模块可以基于第一属性信息生成第二属性信息。
图9是本申请实施例公开的一种图形预处理的方法流程示意图。结合图8和图9,图形预处理模块的属性管理模块可以包括属性识别模块和属性生成模块。在图形绘制模块基于第一属性信息生成第二属性信息的过程中,图形预处理的方法可以包括但不限于以下步骤:
S901:属性识别模块判断第一属性信息中的预设属性是否指示当前显示方向需要变更。在指示当前显示方向需要变更的情况下,执行S902和S903(以及S906和S907);在指示当前显示方向不需要变更的情况下,执行S904和S905。
图形预处理模块接收到第一属性信息之后,属性识别模块可以判断第一属性信息中的预设属性是否指示显示方向需要变更。预设属性可以包括旋转属性、宽高属性和位置属性的一种或者多种。属性识别模块可以基于第一属性信息中的旋转属性、宽高属性和位置属性是否指示显示方向需要变化。在预设属性指示显示方向变化的情况下,属性生成模块可以发送保持第一属性信息不变;在指示显示方向不需要变化的情况下,属性生成模块可以基于预设属性调整第一属性信息。
电子设备存储有默认显示方向的默认属性信息和阈值对应的默认显示方向,图形预处理模块判断第一属性信息对应的所述第二显示方向与默认显示方向是否相同,在相同的情况下,属性识别模块确定不需要更新;在不同的情况下,属性识别模块需要更新。具体地,图形预处理模块的属性识别模块基于默认显示方向判断第一属性信息中旋转属性对应的所述第二显示方向与所述默认显示方向是否不同,在第一属性信息中的预设属性是默认显示方向的情况下,可以判断预设属性是否指示当前显示方向不需要变更;在第一属性信息中的预设属性表示不是默认显示方向的情况下,可以判断预设属性是否指示当前显示方向需要变更。
示例性地,第一属性信息中的旋转属性的旋转度数不为0度(例如90度、180度,270度等),能够表示显示方向需要变更(即确定第二显示方向与默认显示方向不同);旋转属性为0度(默认显示方向),指示显示方向不需要变更(确定第二显示方向与默认显示方向相同)。旋转属性描述图层的显示角度,旋转属性的旋转角度为0度表示屏幕处于默认显示方向。其中,预设属性可以包括旋转属性、宽高属性和位置属性一种或多种指示变化,可以将旋转属性、宽高属性和位置属性全部确定为预设属性。例如,旋转属性指示旋转角度(例如,180度),宽高属性能够指示尺寸为x*y(例如对应的画布顶点的像素位置),位置属性指示图层的位置。
上述的实施方式中,旋转属性能够明确指示屏幕的显示方向,基于旋转属性判断当前绘制过程中是否需要进行预处理,是一个可靠的依据,保证方案的完整性、处理过程的高效性和判断结果的准确性。
S902:属性识别模块向属性生成模块发送第一属性信息和预设属性。
在存在预设属性的情况下,属性识别模块基于第一属性信息生成预设属性之后,可以属性生成模块发送第一属性信息和预设属性。对应地,属性生成模块可以接收来自属性识别模块的第一属性信息和预设属性。
S903:属性生成模块将第一属性信息中的预设属性调整,生成第二属性信息。
属性生成模块接收来自属性识别模块的第一属性信息和预设属性之后,可以将第一属性信息中的预设属性还原为默认属性,生成第二属性信息。默认属性表示不需要电子设备进行多余的处理。
电子设备的图形绘制模块可以存储有默认属性信息,以及默认属性信息对应的默认显示方向。在第一属性信息的对应的第二显示方向与默认显示方向不同的情况下,图形绘制模块将第二属性信息确定为默认属性信息。默认属性信息是不需要进行预处理或者显示方向调整的属性信息,即默认显示方向不需要进一步调整。
示例性地。第一属性信息包括旋转属性、宽高属性和位置属性,将第一属性信息调整为第二属性信息,第二属性信息中的旋转属性为旋转度数为0度,宽高属性和位置属性也为默认的宽高参数以及位置参数。
S904:属性识别模块向属性生成模块发送第一属性信息。
在当前显示方向不需要变更的情况下,属性识别模块可以向属性生成模块发送第一属性信息。对应地,属性生成模块可以接收来自属性识别模块的第一属性信息。
S905:属性生成模块将第一属性信息确定为第二属性信息。
属性生成模块可以将第一属性信息确定为第二属性信息。即第一属性信息保持不变。
可选地,S904和S905的执行过程可以为属性识别模块和属性生成模块不做处理,结束当前流程。
S906:属性生成模块向指令管理模块发送预设属性。
属性生成模块生成预设属性之后,可以向指令生成模块发送预设属性,对应地,指令生成模块可以接收来自属性生成模块的预设属性。由于根据第一属性信息进行绘制的过程中,电子设备判断是否预处理,在需要预处理的情况下,电子设备在绘制的过程中进行旋转、尺寸调整和位置等预处理操作。此时,SurfaceFlinger中得到的渲染的多个图层不需要再处理。因此,可以将第一属性信息中的旋转属性调整为不旋转、位置属性和宽高属性指示不变更,从而可以得到第二属性信息。
S706:图形绘制模块向窗口管理器发送第二属性信息。
图形绘制模块可以向窗口管理器发送第二属性信息。对应地,窗口管理器可以向图形绘制模块发送第二属性信息。即属性管理模块可以接收到来自窗口管理器的第一属性信息,并基于第二属性信息确定生成第二属性信息,之后,可以向窗口管理器发送第二属性信息。
上述S704~S706过程中,图形绘制模块可以拦截窗口管理器的属性信息并赋予了新的属性信息。
S707:窗口管理器向SurfaceFlinger发送第二属性信息。
窗口管理器向SurfaceFlinger发送第二属性信息。对应地,SurfaceFlinger可以接收来自窗口管理器的第二属性信息。
其中,S707的描述具体可以参考上述的S404的相关描述,不赘述。
在S708~S709中,指令管理模块可以基于调整属性信息生成预处理指令,并基于预处理指令干预绘制管理模块和渲染模块进行预处理。
S708:第一应用向图形绘制模块发送第一绘制指令。
第一应用可以向图形绘制模块发送第一绘制指令。对应地,图形绘制模块可以接收来自第一应用的第一绘制指令。
其中,第二窗口任务可以是应用进程对应的图形绘制指令,第二窗口任务可以指示图形绘制模块进行图形绘制。
其中,S708的描述具体可以参考上述的S405的相关描述,不赘述。
S709:图形绘制模块基于第一属性信息和第一绘制指令进行绘制,得到第一图像集。
图形绘制模块的图形预处理模块基于第一属性信息判断是否需要对图层进行预处理,第一属性信息存在预设属性的情况下,确定需要进行预处理;否则,不需要。
在需要预处理的情况下,图形预处理模块中的属性管理模块可以向指令管理模块发送第一属性信息中的预设属性。指令管理模块接收到预设属性的情况下,可以基于预设属性生成预处理指令。并基于预处理指令进行预处理的过程。预处理的操作在绘制管理模块进行绘制的过程中完成,得到第一图像集。
在不需要预处理的情况下,图形预处理模块的绘制管理模块直接基于第一绘制指令进行绘制,得到第一图像集。
结合图8和图9,图形预处理模块还可以包括指令管理模块可以包括画布生成模块和指令生成模块。在图形绘制模块基于第一属性信息和第一绘制指令进行绘制,得到第一图像集的过程中,图形预处理的方法可以包括但不限于以下步骤:
S907:指令管理模块基于预设属性生成预处理指令。
指令管理模块接收到来自属性生成模块的预设属性之后,可以基于预设属性生成预处理指令。
例如,预设属性包括旋转属性、宽高属性和位置属性,对应生成的预处理指令包括旋转指令、宽高指令和位置指令,其中,旋转指令包括旋转的方向和角度,宽高指令包括图层像素的宽度和高度,位置指令包括图层的位置。
上述S903、S906和S907中,图形预处理模块可以基于第一属性信息生成预处理指令。
S908:指令管理模块将预处理指令***第一绘制指令,生成第二绘制指令。
指令管理模块将第一绘制指令存储在指令缓存器中,指令生成模块可以读取到指令缓存器中的第一绘制指令之后,可以将预处理指令通过指令***模块***到第一绘制指令中,得到第二绘制指令,并通过指令录入模块将第二绘制指令录入到指令缓存器中。
在一种可能的实施方式中,在画布绘制完成的情况下,指令管理模块将预处理指令***第一绘制指令,在绘制之后进行预处理调整。
在另一种可能的实施方式中,在尚未绘制画布(图层)的时候,电子设备指令管理模块将第一绘制指令中的预设指令进行替换,生成第二绘制指令,从而可以进行预处理即可。
指令生成模块可以读取指令缓存器中的第一绘制指令,之后可以生成第二绘制指令。具体地,在第一绘制指令中存在与预处理指令中相同用途的第一指令时,将第一指令替换为预处理指令中相同用途的指令。将其余预处理指令***到第一绘制指令中即可。
示例性地,预处理指令包括旋转指令、宽高指令和位置指令的情况下,可以将旋转指令***到第一绘制指令,且将第一绘制指令中的宽高指令和位置指令替换为预处理指令中的宽高指令和位置指令。在实际实现的时候,往往是设定的一种指令执行的规则,电子设备按照特定规则执行即可。
S909:指令管理模块向绘制管理模块发送第二绘制指令。
指令管理模块可以将向绘制管理模块发送第二绘制指令,对应地,绘制管理模块发送可以接收来自指令管理模块的第二绘制指令。第二绘制指令包括上述的预处理指令,第二绘制指令指示绘制管理模块进行图像绘制和预处理(或者渲染)。
S910:绘制管理模块基于第二绘制指令进行绘制,得到第一图像集。
在画布尚未绘制的情况下,绘制管理模块可以直接基于第二绘制指令进行绘制,得到第一图像集即可,处理的过程中已经完成预处理的过程。在画布已经绘制完成的情况下,绘制管理模块可以将已经绘制的结果按照第二绘制指令中的预处理指令进行预处理,得到第一图像集。
需要说明的是,第一图像集的绘制结果是已经经过预处理的图像。
图形绘制模块通过绘制管理模块基于第二窗口任务进行绘制,得到第一图像集。第一图像集是绘制管理模块在画布(canvas)上绘制的不同图层的图形。之后,绘制管理模块可以生成第一渲染指令。具体可以参考上述的S406的相关描述。
S710:图形绘制模块向GPU发送渲染指令。
图形绘制模块可以向GPU发送渲染指令。对应地,GPU可以接收来自图形绘制模块的渲染指令。
其中,S710的描述具体可以参考上述的S407的相关描述,不赘述。
S711:GPU基于渲染指令对第一图像集进行渲染,得到第二图像集。
S712:GPU向SurfaceFlinger发送第二图像集。
S713:SurfaceFlinger基于第二图像集和第二属性信息指示硬件合成器对第一图像集进行图层合成处理,得到第三图像。
一种可能的情况下,SurfaceFlinger基于第二属性信息判断是否需要进行画面调整,在需要的情况下,SurfaceFlinger向GPU发送第一图层合成指令,指示GPU完成画面调整,并进行图层合成。在不需要的情况下,指示硬件合成器对第一图像集进行图层合成处理,得到第三图像。由于第二属性信息已经变更为默认属性信息,即对应的结果是不需要画面调整的,因此,本实施方式中,仅仅执行S414~S416的相关情况。
另一种可能的情况下,SurfaceFlinger直接向硬件合成器发送第三图层合成指令,HWC直接基于第三图层合成指令对第二图像集进行合成即可。
S714:硬件抽象层向显示驱动发送第三图像。
S715:显示驱动缓存第三图像。
S716:显示驱动控制显示屏显示第三图像。
其中,S710~S716的描述具体可以对应参考上述的S407~S418的相关描述,不赘述。
上述的实施方式中,电子设备在屏幕显示方向的切换场景中,若当前为方向1,用户切换到了方向2,则相同的内容显示在两个方向显示需要调整,例如旋转、尺寸处理以及位置处理等等。电子设备可以在渲染的过程中,便通过GPU或CPU完成旋转、尺寸处理以及位置等处理,避免渲染完成后,通过SurfaceFlinger的处理,保证硬件合成器完成其专长的图层合成的任务,GPU完成画面调整的任务,从而可以提高图像绘制、渲染和显示的效率,减少显示界面出现卡帧的概率,提高用户的体验。
为了能够清晰的说明图4和图7的方法实施例,下面就处理过程中图形的变化过程体现。图10A和图10B是本申请实施例公开的一组界面显示流程效果示意图。如图10A所示,在图4的方法流程中,图形绘制模块对经过绘制和渲染生成多个图层的图像。接着SurfaceFlinger通过GPU进行旋转处理(可能还包括尺寸和位置调整),再进行图层合成处理,输出合成的图像。如图10B所示,在图7的方法流程中,图形绘制模块对经过绘制和渲染生成多个图层的图像,之后进行旋转处理(可能还包括尺寸和位置调整)。SurfaceFlinger通过硬件合成器对进行图层合成处理,输出合成的图像。
在图4和图7的方法相比,图4中图层合成的过程由GPU完成;而图7中上述过程是由HWC完成的。由于硬件合成器是专门用于图层合成的器件,除了图层合成任务之外,其它任务处理效率更低,当硬件合成器超负荷工作的情况下,会将任务转移给GPU进行处理,因此,图4中的方法可能会导致GPU和硬件合成器均处理其不擅长的任务。而图7中的方法将图层旋转、位置和尺寸处理的过程均交由GPU提前处理,能够保证硬件合成器处理器专长的工作,而非让GPU去处理,因此图7的实施方式处理效率更高,速度更快,显示过程中出现卡帧和抖动的概率也更小。
需要说明的是,上述的实施方式,其能够使用的场景不仅仅限制于折叠屏的场景,可以适用于其它在不同方向上拥有显示的功能的电子设备。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指示。在计算机上加载和执行所述计算机程序指示时,全部或部分地产生按照本申请实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其它可编程装置。所述计算机指示可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指示可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线)或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如DVD)、或者半导体介质(例如固态硬盘)等。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,该流程可以由计算机程序来指示相关的硬件完成,该程序可存储于计算机可读取存储介质中,该程序在执行时,可包括如上述各方法实施例的流程。而前述的存储介质包括:ROM或随机存储记忆体RAM、磁碟或者光盘等各种可存储程序代码的介质。
Claims (10)
1.一种界面显示方法,其特征在于,所述方法应用于电子设备,所述电子设备包括图形预处理模块、图形绘制模块、表面混合器、硬件合成器(HWC)和显示器,所述显示器设有不同的显示方向,所述不同的显示方向对应的属性信息不同,所述属性信息用于描述显示窗口;所述方法包括:
所述电子设备获取触发事件;所述触发事件指示所述电子设备的显示方向从第一显示方向切换为第二显示方向;
所述电子设备通过所述图形预处理模块获取所述第二显示方向下的第一属性信息;
在所述第一属性信息对应的所述第二显示方向与默认显示方向不同的情况下,所述电子设备通过所述图形预处理模块基于所述第一属性信息生成预处理指令,将所述预处理指令***第一绘制指令,得到第二绘制指令,所述第一绘制指令用于指示所述图形绘制模块进行绘制;
所述电子设备通过所述图形绘制模块基于所述第二绘制指令进行绘制,得到第一图像集,所述第一图像集为针对显示方向切换而绘制的图像集;
所述电子设备通过所述图形绘制模块对所述第一图像集进行渲染,得到第二图像集;
所述电子设备通过所述表面混合器控制所述HWC对所述第二图像集进行图层合成,得到第三图像;
所述电子设备通过所述显示器显示所述第三图像。
2.根据权利要求1所述的方法,其特征在于,所述电子设备包括第一应用和窗口管理器(WMS),所述图形绘制模块包括绘制管理模块和渲染模块,所述电子设备获取触发事件之后,具体包括:
所述电子设备通过所述第一应用获取所述触发事件;
所述方法还包括:
所述电子设备通过所述第一应用基于所述触发事件获取所述第一属性信息;
所述电子设备通过所述第一应用向所述WMS发送所述第一属性信息;
所述电子设备通过所述图形预处理模块获取所述第二显示方向下的第一属性信息,具体包括:
所述电子设备通过所述WMS向所述图形预处理模块发送所述第一属性信息。
3.根据权利要求2所述的方法,其特征在于,所述在所述第一属性信息对应的所述第二显示方向与默认显示方向不同的情况下,所述方法还包括:
所述电子设备通过所述图形预处理模块向所述WMS发送第二属性信息,所述第二属性信息对应的显示方向与所述默认显示方向相同;
所述电子设备通过所述WMS向所述表面混合器发送所述第二属性信息;
所述电子设备通过所述表面混合器控制所述HWC对所述第二图像集进行图层合成,得到第三图像,具体包括:
所述电子设备通过所述表面混合器控制所述HWC基于所述第二属性信息对所述第二图像集进行图层合成,得到第三图像。
4.根据权利要求3所述的方法,其特征在于,所述电子设备通过所述表面混合器控制所述HWC基于所述第二属性信息对所述第二图像集进行图层合成,得到第三图像,具体包括:
所述电子设备通过所述表面混合器基于所述第二属性信息判断是否需要画面调整,在所述第二属性信息对应的显示方向与默认显示方向相同的情况下,所述电子设备通过所述表面混合器确定不需要画面调整;在所述第二属性信息对应的显示方向与默认显示方向不同的情况下,所述电子设备通过所述表面混合器确定需要画面调整;
在确定不需要画面调整的情况下,所述电子设备通过所述HWC对所述第二图像集进行图层合成,得到第三图像。
5.根据权利要求2所述的方法,其特征在于,所述电子设备通过所述图形预处理模块基于所述第一属性信息生成预处理指令,将所述预处理指令***第一绘制指令,得到第二绘制指令之前,所述方法还包括:
所述电子设备通过所述第一应用向所述绘制管理模块发送所述第一绘制指令,所述第一绘制指令存储在指令缓存器中;
所述电子设备通过所述图形预处理模块读取所述指令缓存器中的所述第一绘制指令;
所述电子设备通过所述图形预处理模块将所述预处理指令***第一绘制指令,得到第二绘制指令,具体包括:
所述电子设备通过所述图形预处理模块将所述预处理指令***所述第一绘制指令,得到所述第二绘制指令,并将所述第二绘制指令录入所述指令缓存器中;
所述电子设备通过所述绘制管理模块获取所述第二绘制指令,所述第二绘制指令指示所述绘制管理模块进行图像绘制和预处理。
6.根据权利要求1-5任一项所述的方法,其特征在于,所述电子设备通过所述图形预处理模块获取所述第二显示方向下的第一属性信息之后,在所述第一属性信息包括旋转属性的情况下,所述方法还包括:
所述电子设备通过所述图形预处理模块基于所述默认显示方向判断所述第一属性信息中旋转属性对应的所述第二显示方向与所述默认显示方向是否不同;
在所述旋转属性的旋转角度不为0度的情况下,所述电子设备通过所述图形预处理模块确定所述第二显示方向与所述默认显示方向不同;在所述旋转属性的旋转角度为0度的情况下,所述电子设备通过所述图形预处理模块确定所述第二显示方向与所述默认显示方向相同;
其中,所述旋转属性描述图层的显示角度,所述旋转属性的旋转角度为0度表示屏幕处于默认显示方向。
7.根据权利要求1-5任一项所述的方法,其特征在于,所述第一属性信息包括旋转属性、宽高属性和位置属性;所述旋转属性描述图层的显示角度;所述宽高属性描述图层的尺寸大小;所述位置属性描述图层的顺序。
8.根据权利要求1-5任一项所述的方法,其特征在于,所述电子设备屏幕包括至少两种显示方向,所述触发事件包括屏幕显示方向切换事件,所述屏幕显示方向切换事件包括所述电子设备检测到其放置方向发生变化的事件、所述电子设备检测到作用于切换显示方向的操作、所述电子设备检测到人脸相对于屏幕的方向的变化事件中的一种或多种。
9.一种电子设备,其特征在于,包括:图形预处理模块、图形绘制模块和表面混合器、硬件合成器(HWC)、显示器、一个或多个处理器和一个或多个存储器;所述一个或多个处理器与所述一个或多个存储器耦合,所述一个或多个存储器用于存储计算机程序代码,计算机程序代码包括计算机指令,当所述一个或多个处理器执行所述计算机指令时,使得所述电子设备执行:
获取触发事件;所述触发事件指示所述电子设备的显示方向从第一显示方向切换为第二显示方向;
通过所述图形预处理模块获取所述第二显示方向下的第一属性信息;
在所述第一属性信息对应的所述第二显示方向与默认显示方向不同的情况下,通过所述图形预处理模块基于所述第一属性信息生成预处理指令,将所述预处理指令***第一绘制指令,得到第二绘制指令,所述第一绘制指令用于指示所述图形绘制模块进行绘制;
通过所述图形绘制模块基于所述第二绘制指令进行绘制,得到第一图像集,所述第一图像集为针对显示方向切换而绘制的图像集;
通过所述图形绘制模块对所述第一图像集进行渲染,得到第二图像集;
所述HWC,用于对所述第二图像集进行图层合成,得到第三图像;
所述显示器,用于显示所述第三图像。
10.一种计算机可读存储介质,包括指令,其特征在于,当所述指令在电子设备上运行时,使得所述电子设备执行如权利要求1-8中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211145487.3A CN116700655B (zh) | 2022-09-20 | 2022-09-20 | 一种界面显示方法及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211145487.3A CN116700655B (zh) | 2022-09-20 | 2022-09-20 | 一种界面显示方法及电子设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116700655A CN116700655A (zh) | 2023-09-05 |
CN116700655B true CN116700655B (zh) | 2024-04-02 |
Family
ID=87826367
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211145487.3A Active CN116700655B (zh) | 2022-09-20 | 2022-09-20 | 一种界面显示方法及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116700655B (zh) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109871192A (zh) * | 2019-03-04 | 2019-06-11 | 京东方科技集团股份有限公司 | 一种显示方法、装置、电子设备及计算机可读存储介质 |
CN112328130A (zh) * | 2020-09-04 | 2021-02-05 | 华为技术有限公司 | 显示处理方法及电子设备 |
CN112799627A (zh) * | 2021-02-08 | 2021-05-14 | 海信视像科技股份有限公司 | 显示设备及图像显示方法 |
CN114092595A (zh) * | 2020-07-31 | 2022-02-25 | 荣耀终端有限公司 | 一种图像处理方法及电子设备 |
CN114501087A (zh) * | 2020-10-27 | 2022-05-13 | 海信视像科技股份有限公司 | 一种显示设备 |
CN114470750A (zh) * | 2021-07-06 | 2022-05-13 | 荣耀终端有限公司 | 图像帧流的显示方法、电子设备和存储介质 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102570777B1 (ko) * | 2016-08-25 | 2023-08-25 | 삼성전자 주식회사 | 복수의 터치 디스플레이들을 포함하는 전자 장치 및 이의 상태 전환 방법 |
US10459676B2 (en) * | 2016-10-16 | 2019-10-29 | Dell Products, L.P. | Dynamic user interface for multiple shared displays in an electronic collaboration setting |
CN106951055B (zh) * | 2017-03-10 | 2019-07-12 | Oppo广东移动通信有限公司 | 一种移动终端的显示控制方法、装置及移动终端 |
KR20200126232A (ko) * | 2019-04-29 | 2020-11-06 | 삼성전자주식회사 | 전자 장치 및 그 영상을 출력하는 방법 |
-
2022
- 2022-09-20 CN CN202211145487.3A patent/CN116700655B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109871192A (zh) * | 2019-03-04 | 2019-06-11 | 京东方科技集团股份有限公司 | 一种显示方法、装置、电子设备及计算机可读存储介质 |
CN114092595A (zh) * | 2020-07-31 | 2022-02-25 | 荣耀终端有限公司 | 一种图像处理方法及电子设备 |
CN112328130A (zh) * | 2020-09-04 | 2021-02-05 | 华为技术有限公司 | 显示处理方法及电子设备 |
CN113791706A (zh) * | 2020-09-04 | 2021-12-14 | 荣耀终端有限公司 | 显示处理方法及电子设备 |
CN114501087A (zh) * | 2020-10-27 | 2022-05-13 | 海信视像科技股份有限公司 | 一种显示设备 |
CN112799627A (zh) * | 2021-02-08 | 2021-05-14 | 海信视像科技股份有限公司 | 显示设备及图像显示方法 |
CN114470750A (zh) * | 2021-07-06 | 2022-05-13 | 荣耀终端有限公司 | 图像帧流的显示方法、电子设备和存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN116700655A (zh) | 2023-09-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2021027747A1 (zh) | 一种界面显示方法及设备 | |
CN112217923B (zh) | 一种柔性屏幕的显示方法及终端 | |
CN115473957B (zh) | 一种图像处理方法和电子设备 | |
US20220107821A1 (en) | User interface layout method and electronic device | |
CN114115769B (zh) | 一种显示方法及电子设备 | |
CN111882642B (zh) | 三维模型的纹理填充方法及装置 | |
CN114756184A (zh) | 协同显示方法、终端设备及计算机可读存储介质 | |
WO2023005751A1 (zh) | 渲染方法及电子设备 | |
EP4181494A1 (en) | Display method and related apparatus | |
CN116700655B (zh) | 一种界面显示方法及电子设备 | |
CN115964231A (zh) | 基于负载模型的评估方法和装置 | |
CN113495733A (zh) | 主题包安装方法、装置、电子设备及计算机可读存储介质 | |
CN116688494B (zh) | 生成游戏预测帧的方法和电子设备 | |
CN116185245B (zh) | 一种页面显示方法及电子设备 | |
CN116672707B (zh) | 生成游戏预测帧的方法和电子设备 | |
CN116055623B (zh) | 一种功耗控制方法及电子设备、存储介质 | |
CN116382825B (zh) | 界面布局方法和装置 | |
WO2024046010A1 (zh) | 一种界面显示方法、设备及*** | |
CN116991532A (zh) | 一种虚拟机窗口的显示方法、电子设备及*** | |
CN116820288A (zh) | 窗口控制方法、电子设备及计算机可读存储介质 | |
CN117806744A (zh) | 控件显示方法及电子设备 | |
CN117806745A (zh) | 界面生成方法及电子设备 | |
CN117689796A (zh) | 一种渲染处理方法及电子设备 | |
CN117130516A (zh) | 一种显示方法及电子设备 | |
CN117785343A (zh) | 界面生成方法及电子设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |