CN114510207A - 图层合成方法、装置、设备、介质及程序产品 - Google Patents
图层合成方法、装置、设备、介质及程序产品 Download PDFInfo
- Publication number
- CN114510207A CN114510207A CN202210190787.7A CN202210190787A CN114510207A CN 114510207 A CN114510207 A CN 114510207A CN 202210190787 A CN202210190787 A CN 202210190787A CN 114510207 A CN114510207 A CN 114510207A
- Authority
- CN
- China
- Prior art keywords
- layers
- layer
- cache
- display system
- synthesis
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 65
- 239000000203 mixture Substances 0.000 title claims description 54
- 230000015572 biosynthetic process Effects 0.000 claims abstract description 86
- 238000003786 synthesis reaction Methods 0.000 claims abstract description 86
- 230000008569 process Effects 0.000 claims abstract description 30
- 230000008859 change Effects 0.000 claims abstract description 12
- 230000002194 synthesizing effect Effects 0.000 claims description 11
- 238000009877 rendering Methods 0.000 claims description 6
- 238000004590 computer program Methods 0.000 claims description 3
- 238000001308 synthesis method Methods 0.000 abstract description 25
- 239000002131 composite material Substances 0.000 description 14
- 238000010586 diagram Methods 0.000 description 8
- 230000000694 effects Effects 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 230000006978 adaptation Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
Images
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/1407—General aspects irrespective of display type, e.g. determination of decimal point position, display with fixed or driving decimal point, suppression of non-significant zeros
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- G06F1/3234—Power saving characterised by the action undertaken
- G06F1/325—Power saving in peripheral device
- G06F1/3265—Power saving in display device
-
- 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)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Human Computer Interaction (AREA)
- Controls And Circuits For Display Device (AREA)
Abstract
本申请提供一种图层合成方法、装置、设备、介质及程序产品,首先启动图层合成进程,然后判断当前帧的图层状态是否符合预设合成场景,预设合成场景是指显示***具有第一数量个图层,且第一数量个图层中具有第二数量个图层未被其它图层覆盖并在连续帧中变化的场景,若符合,并确定显示***处于缓存叠加模式时,将第二数量个图层与缓存图层进行叠加得到合成图层,缓存图层上合成有第一数量个图层中未变化的图层,实现当前合成场景中的图层合成,完成显示画面的更新。本申请提供的图层合成方法可以极大减少图层合成时的图层数量,减少了合成开销,提高了合成效率,进而可以提高显示***的电池续航,避免用户界面卡顿情况的发生。
Description
技术领域
本申请涉及图像显示技术领域,尤其涉及一种图层合成方法、装置、设备、介质及程序产品。
背景技术
Surface Flinger是Android***的显示核心,负责将应用界面、状态栏、导航***状态等用户可见图层进行统一合成和显示,其合成效率将直接决定***流畅程度。
当前显示***,例如Android显示***,采用Z-order的图层栈(layerStack)记录***所有需要显示的图层,一次图像合成就是将所有图层进行叠加的过程,图层越多合成开销越大,耗费时间也越长。即使对于导航、阅读、音视频播放等仅有一两个图层变化的场景,***也都需要重新合成所有图层,这必然是导致Surface Flinger负载高、合成效率低的根本原因,甚至会导致复杂显示场景下用户界面出现卡顿问题。
可见,亟需一种图层合成的解决方案以克服当前图层合成所存在的缺陷。
发明内容
本申请提供一种图层合成方法、装置、设备、介质及程序产品,用于解决现有的图层合成都是将所有图层进行叠加以重新合成所有图层导致合成开销大、合成效率低的技术问题。
第一方面,本申请提供一种图层合成方法,包括:
启动图层合成进程;
判断当前帧的图层状态是否符合预设合成场景,所述预设合成场景是指显示***具有第一数量个图层,且所述第一数量个图层中具有第二数量个图层未被其它图层覆盖并在连续帧中变化的场景;
若是,在确定所述显示***处于缓存叠加模式时,将所述第二数量个图层与缓存图层进行叠加得到合成图层,所述缓存图层上合成有所述第一数量个图层中未变化的图层。
在一种可能的设计中,在所述显示***首次处于所述缓存叠加模式之前,还包括:
将所述第一数量个图层中未变化的图层渲染至所述缓存图层上,所述缓存图层由所述图层合成进程在所述显示***初始化时生成;
备份所述显示***的主图层栈,并设置所述显示***处于所述缓存叠加模式,所述主图层栈包括所述第一数量个图层。
在一种可能的设计中,若确定所述当前帧的图层状态不符合所述预设合成场景,还包括:
判断所述显示***是否处于缓存叠加模式;
若是,清除所述缓存图层,恢复所述主图层栈并设置所述显示***退出所述缓存叠加模式,以采用原生模式得到所述合成图层;
若否,采用原生模式得到所述合成图层。
在一种可能的设计中,所述判断当前帧的图层状态是否符合预设合成场景,包括:
判断所述第一数量是否大于第一预设数量,且所述第一数量个图层的属性是否未变化;
判断所述第二数量是否小于第二预设数量,且所述第二数量个图层上是否未被所述其它图层覆盖;
判断所述当前帧与上一帧的第二数量个图层是否为相同图层;
若各判断结果均为是,则确定所述当前帧的图层状态符合所述预设合成场景。
在一种可能的设计中,在所述得到合成图层之后,还包括:
发送所述合成图层至显示设备,完成所述当前帧的画面更新。
在一种可能的设计中,所述显示***包括车载显示***或手机显示***。
第二方面,本申请提供一种图层合成装置,包括:
启动模块,用于启动图层合成进程;
判断模块,用于判断当前帧的图层状态是否符合预设合成场景,所述预设合成场景是指显示***具有第一数量个图层,且所述第一数量个图层中具有第二数量个图层未被其它图层覆盖并在连续帧中变化的场景;
处理模块,用于若确定所述当前帧的图层状态符合所述预设合成场景,且在确定所述显示***处于缓存叠加模式时,将所述第二数量个图层与缓存图层进行叠加得到合成图层,所述缓存图层上合成有所述第一数量个图层中未变化的图层。
在一种可能的设计中,所述图层合成装置,还包括:缓存模式初始化模块;所述缓存模式初始化模块,用于:
将所述第一数量个图层中未变化的图层渲染至所述缓存图层上,所述缓存图层由所述图层合成进程在所述显示***初始化时生成;
备份所述显示***的主图层栈,并设置所述显示***处于所述缓存叠加模式,所述主图层栈包括所述第一数量个图层。
在一种可能的设计中,若确定所述当前帧的图层状态不符合所述预设合成场景,所述处理模块,还用于:
判断所述显示***是否处于缓存叠加模式;
若是,清除所述缓存图层,恢复所述主图层栈并设置所述显示***退出所述缓存叠加模式,以采用原生模式得到所述合成图层;
若否,采用原生模式得到所述合成图层。
在一种可能的设计中,所述判断模块,具体用于:
判断所述第一数量是否大于第一预设数量,且所述第一数量个图层的属性是否未变化;
判断所述第二数量是否小于第二预设数量,且所述第二数量个图层上是否未被所述其它图层覆盖;
判断所述当前帧与上一帧的第二数量个图层是否为相同图层;
若各判断结果均为是,则确定所述当前帧的图层状态符合所述预设合成场景。
在一种可能的设计中,所述图层合成装置,还包括:发送模块;所述发送模块,用于:
发送所述合成图层至显示设备,完成所述当前帧的画面更新。
在一种可能的设计中,所述显示***包括车载显示***或手机显示***。
第三方面,本申请提供一种电子设备,包括:处理器,以及与所述处理器通信连接的存储器;
所述存储器存储计算机执行指令;
所述处理器执行所述存储器存储的计算机执行指令,以实现如第一方面所提供的任意一种可能的图层合成方法。
第四方面、本申请提供一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机执行指令,所述计算机执行指令被处理器执行时用于实现如第一方面所提供的任意一种可能的图层合成方法。
第五方面、本申请提供一种计算机程序产品,包括计算机执行指令,该计算机执行指令被处理器执行时用于实现第一方面所提供的任意一种可能的图层合成方法。
本申请提供一种图层合成方法、装置、设备、介质及程序产品,首先启动图层合成进程,然后判断当前帧的图层状态是否符合预设合成场景,预设合成场景是指显示***具有第一数量个图层,且第一数量个图层中具有第二数量个图层未被其它图层覆盖并在连续帧中变化的场景,若符合,并在确定显示***处于缓存叠加模式时,将第二数量个图层与缓存图层进行叠加得到合成图层,实现当前合成场景中的图层合成,完成显示画面的更新。本申请提供的图层合成方法可以极大减少图层合成时的图层数量,减少了合成开销,提高了合成效率,进而可以提高显示***的电池续航,避免用户界面卡顿情况的发生。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例提供的一种应用场景示意图;
图2为本申请实施例提供的一种图层合成方法的流程示意图;
图3为本申请实施例提供的另一种图层合成方法的流程示意图;
图4为本申请实施例提供的再一种图层合成方法的流程示意图;
图5为本申请实施例提供的一种图层合成过程示意图;
图6为本申请实施例提供的一种图层合成装置的结构示意图;
图7为本申请实施例提供的另一种图层合成装置的结构示意图;
图8为本申请实施例提供的一种电子设备的结构示意图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的方法和装置的例子。
本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例例如能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、***、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
当前显示***,例如Android显示***,采用Z-order的图层栈(layerStack)记录***所有需要显示的图层,一次图像合成就是将所有图层进行叠加的过程,图层越多合成开销越大,耗费时间也越长。即使对于导航、阅读、音视频播放等仅有一两个图层变化的场景,***也都需要重新合成所有图层,这必然是导致Surface Flinger负载高、合成效率低的根本原因,甚至会导致复杂显示场景下用户界面出现卡顿问题。
针对现有技术中存在的上述问题,本申请提供一种图层合成方法、装置、设备、介质及程序产品。本申请提供的图层合成方法的发明构思在于:对导航、阅读、音视频播放等***图层组成固定,内容更新图层少且不被其它图层遮挡的场景进行判断,若当前帧的图层状态符合该场景,在显示***需要合成图层进行显示时,直接通过缓存图层和变化图层做一次合成即可完成显示画面的更新。其中,缓存图层可以是在符合场景时创建,其上渲染有显示***的不变化图层,使得显示***的不变图层和变化图层得以分割。使用该种图层合成方法进行图层合成无需每次合成所有图层,从而极大地减少了***合成时的图层数量,提高了合成效率,进而可以提高显示***的电池续航,减少用户界面卡顿情况的发生。
以下,对本申请实施例的示例性应用场景进行介绍。
图1为本申请实施例提供的一种应用场景示意图,如图1所示,车辆100配置车载显示***101,例如Android显示***,用于为车辆提供信息娱乐功能,例如提供导航、阅读、音视频播放等功能。其中,SurfaceFlinger是车载显示***101的显示核心,负责将应用界面、状态栏、导航***状态等用户可见图层进行统一合成、显示。本申请实施例提供的图层合成方法,在利用车载显示***101中运行的SurfaceFlinger进行图层合成时能够执行本申请实施例提供的图层合成方法。
电子设备102可以被配置为能够执行本申请实施例提供的图层合成方法的相应硬件设备。电子设备102可以为计算机、TCU(Transmission Control Unit)控制单元等等,本申请实施例对于电子设备102的类型不作限定,图1中的电子设备102以计算机为例示出。
需要说明的是,上述应用场景仅仅是以车载显示***为进行图层合成的***为例示意性示出,本申请实施例提供的图层合成方法还可以为手机显示***等其他显示***进行图层合成。本申请实施例提供的图层合成方法、装置、设备、介质及程序产品包括但不仅限于上述应用场景。
图2为本申请实施例提供的一种图层合成方法的流程示意图。如图2所示,本申请实施例提供的图层合成方法,包括:
S101:启动图层合成进程。
本步骤为显示***进行图层合成的入口。例如在SurfaceFlinger收到垂直同步信号(Vsync)的刷新消息后,开始为显示设备合成新的显示画面,换言之,例如可以响应于垂直同步信号启动图层合成进程,图层合成进程即为SurfaceFlinger。
S102:判断当前帧的图层状态是否符合预设合成场景。
其中,预设合成场景是指显示***具有第一数量个图层,且第一数量个图层中具有第二数量个图层未被其它图层覆盖并在连续帧中变化的场景。
判断当前帧的图层状态是否符合预设合成场景。预设合成场景是指显示***具有大量图层但其中仅有少量图层未被其它图层覆盖并在连续帧中变化的场景,其中的大量图层通过第一数量个图层表征,第一数量个图层中未被其它图层覆盖且在连续帧中变化的少量图层通过第二数量个图层表征,显然,第二数量小于第一数量。第一数量和第二数量的具体取值有实际显示界面决定,显示界面用于显示导航、阅读、音视频播放等状态。
当前帧的图层状态用于表征当前帧需要更新的画面所对应图层的状态。本申请实施例对于需要更新的画面对应图层的具体内容不做限定,具体由显示画面的内容决定。
S103:若是,在确定显示***处于缓存叠加模式时,将第二数量个图层与缓存图层进行叠加得到合成图层。
其中,缓存图层上合成有第一数量个图层中未变化的图层。
经过判断确定当前帧的图层状态符合预设合成场景,即判断结果为是,则进一步在确定显示***处于缓存叠加模式时,将第二数量个图层即第一数量个图层中未被其它图层覆盖且在连续帧中变化的该少量图层与缓存图层进行叠加得到合成图层,进行一次合成即可完成显示画面的更新,无需如同现有技术中对于仅有少量图层发生变化的场景也需重新合成所有图层。
其中,缓存图层上合成有第一数量个图层中未变化的图层,未变化的图层则指相对于第二数量个图层而言当前帧不需要变化的图层。
本申请实施例提供的图层合成方法,首先启动图层合成进程,然后判断当前帧的图层状态是否符合预设合成场景,若符合,并在确定显示***处于缓存叠加模式时,将第二数量个图层与缓存图层进行叠加得到合成图层,其中,缓存图层上合成有第一数量个图层中未变化的图层,实现当前合成场景中的图层合成,完成显示画面的更新。本申请实施例提供的图层合成方法可以极大减少图层合成时的图层数量,减少了合成开销,提高了合成效率,进而可以提高显示***的电池续航,避免用户界面卡顿情况的发生。
图3为本申请实施例提供的另一种图层合成方法的流程示意图。如图3所示,本申请实施例提供的图层合成方法,包括:
S201:启动图层合成进程。
步骤S201的实现方式、原理及技术效果与步骤S101相类似,详细内容可参考前述具体描述,在此不再赘述。
S202:判断当前帧的图层状态是否符合预设合成场景。
对当前帧的图层状态进行场景识别,以判断其是否符合预设合成场景。
在一种可能的设计中,本步骤S202可能的实现方式包括:
判断第一数量是否大于第一预设数量,且第一数量个图层的属性是否未变化;
判断第二数量是否小于第二预设数量,且第二数量个图层上是否未被其它图层覆盖;
判断当前帧与上一帧的第二数量个图层是否为相同图层。
具体地,判断显示***具有的第一数量个图层的数量即第一数量是否大于第一预设数量,以确定显示***是否具有大量图层,第一预设数量的取值由实际情况决定。并且该第一数量个图层的属性是否未变化。其中的属性可以理解为图层所表达的显示画面的属性。
判断显示***具有的第一数量个图层中的第二数量个图层是否小于第二预设数量,以确定显示***是否有少量图层在发生变化,第二预设数量的取值由实际情况决定。并且该第二数量个图层上是否未被其它图层覆盖。
判断变化图层是否在连续帧中发生变化,也即当前帧发生变化的图层与上一帧发生变化的图层是否为相同图层。
经过判断,若上述步骤的各判断结果均为是,则表明当前帧的图层状态符合预设合成场景,即执行步骤S203。反之,若上述步骤的判断结果中至少有一个为否,则表明当前帧的图层状态不符合预设合成场景,即执行步骤S204。
S203:若是,确定当前帧的图层状态符合预设合成场景。
S204:若否,确定当前帧的图层状态不符合预设合成场景。
在确定当前帧的图层状态符合预设合成场景时,即执行步骤S203后,进一步执行步骤S205。
S205:确定显示***是否处于缓存叠加模式。
S206:若是,将第二数量个图层与缓存图层进行叠加得到合成图层。
S207:若否,设置显示***处于缓存叠加模式。
步骤S205中确定显示***是否处于缓存叠加模式,若是,则直接进行图层叠加以得到合成图层,也就是将第二数量个图层与缓存图层进行叠加得到合成图层,即执行步骤S206。
若步骤S205中确定显示***未处于缓存叠加模式,这种情况通常发生在显示***首次处于缓存叠加模式之前,则需要设置显示***的状态使其处于缓存叠加模式,即执行步骤S207使得显示***处于缓存叠加模式,再执行步骤S206中的叠加步骤,将第二数量个图层与缓存图层进行叠加得到合成图层。
其中,设置显示***处于缓存叠加模式的过程中,将未变化的图层渲染至缓存图层上,进而可以将第二数量个图层与缓存图层进行叠加即可得到合成图层。
在确定当前帧的图层状态不符合预设合成场景时,即执行步骤S204后,进一步执行步骤S208。
S208:确定显示***是否处于缓存叠加模式。
S209:若否,采用原生模式得到合成图层。
S2010:若是,清除缓存图层,恢复主图层栈并设置显示***退出缓存叠加模式。
步骤S208中确定显示***是否处于缓存叠加模式,若否,即显示***未处于缓存叠加模式,则采用原生模式得到合成图层,也就是执行步骤S209。其中,原生模式可以为缓存叠加模式之外的其他合成模式,例如现有技术中需合成所有图层的相应方式等。
反之,若步骤S208中确定显示***未处于缓存叠加模式,即判断结果为是,但由于当前帧的图层状态不符合预设合成场景,则需清除缓存叠加模式中所维护的缓存图层,并恢复主图层栈以及设置显示***退出缓存叠加模式,即执行步骤S2010,之后,再进一步可以执行步骤S209中采用原生模式得到合成图层。
其中,主图层栈包括显示***具有的第一数量个图层,主图层栈是在设置显示***处于缓存叠加模式的过程中备份的。
S2011:发送合成图层至显示设备,完成当前帧的画面更新。
在上述步骤S206或步骤S209中得到合成图层之后,则将合成图层发送至显示设备,使得显示设备进行画面显示,完成当前帧的画面更新。
本申请实施例提供的图层合成方法,在启动图层合成进程后,判断当前帧的图层状态是否符合预设合成场景。若符合,则进一步判断显示***是否处于缓存叠加模式,若处于缓存叠加模式,则将第二数量个图层与缓存图层进行叠加得到合成图层,缓存图层上合成有第一数量个图层中未变化的图层。而若不处于缓存叠加模式,则设置显示***处于缓存叠加模式,然后再将第二数量个图层与缓存图层进行叠加得到合成图层。但若当前帧的图层状态不符合预设合成场景,则采用原生模式得到合成图层,若此时显示***处于缓存叠加模式,则还需清除缓存图层、恢复主图层栈以及设置显示***退出缓存叠加模式。在得到合成图层后,发送合成图层至显示设备,完成当前帧的画面更新。本申请实施例提供的图层合成方法,通过判断当前帧的图层状态是否处于预设合成场景,以当其符合时采用缓存叠加模式直接将第二数量个图层与缓存图层进行叠加得到合成图层,极大地减少了图层合成时的图层数量,减少了合成开销,提高了合成效率,进而可以提高***的电池续航,避免用户界面卡顿情况的发生。
在上述实施例的基础上,在显示***首次处于缓存叠加模式之前,本申请实施例提供的图层合成方法还包括如图4所示步骤。图4为本申请实施例提供的再一种图层合成方法的流程示意图。如图4所示,本申请实施例提供的图层合成方法,包括:
S301:将第一数量个图层中未变化的图层渲染至缓存图层上。
其中,缓存图层由图层合成进程在显示***初始化时生成。
缓存图层由图层合成进程在显示***初始化时生成,例如可以创建一个显示屏大小的缓存图层。然后将第一数量个图层中未变化的图层渲染至缓存图层上,使得缓存图层上合成有第一数量个图层中未变化的图层,例如该一个显示屏大小的区域则为显示***中未变化的图层所在区域,从而可以将显示***未变化的图层和变化的图层得以分割。
S302:备份显示***的主图层栈,并设置显示***处于缓存叠加模式。
其中,主图层栈包括第一数量个图层。
对显示***所具有的第一数量个图层进行备份,第一数量个图层的集合可以看作主图层栈,即备份显示***的主图层栈。然后设置显示***使其处于缓存叠加模式,以当当前帧的图层状态符合预设合成场景时,直接采用第二数量个图层和缓存图层进行叠加,一次合成所需图层,完成显示画面更新。
本申请实施例提供的图层合成方法,在显示***首次处于缓存叠加模式之前,将第一数量个图层中未变化的图层渲染至缓存图层上,以对缓存图层更新,并备份显示***的主图层栈以及设置显示***处于缓存叠加模式,以当当前帧的图层状态符合预设合成场景时,可以使得第二数量个图层与缓存图层进行叠加以一次合成得到合成图层,无需现有技术中需合成所有图层,极大减少图层合成时的图层数量。并且,本申请实施例提供的图层合成方法的唯一开销仅在于产生缓存图层以及更新缓存图层,可见与现有技术相比明显减少合成开销,进而则可以提高合成效率。
图5为本申请实施例提供的一种图层合成过程示意图,如图5所示,图5的(a)中示出了现有技术的合成过程,图5的(b)中示出了采用本申请实施例提供的图层合成方法的合成过程,其中两者均为只有“歌词”(即图5中的LRC)发生变化时的合成过程。采用现有技术进行合成,则所有图层都参与合成。而若采用本申请实施例提供的图层合成方法,则若“歌词”发生,则表示图层1和图层3发生变化,只需将图层1和图层3与其余不变的图层2、4、5、6进行叠加即可,实际参与合成的图层仅有图层1和3。两者相比明显减少了合成图层数量,缩短了合成图层耗时,提高了合成效率。图5中实际参与合成的图层采用斜线柱表示。
图6为本申请实施例提供的一种图层合成装置的结构示意图。如图6所示,本申请实施例提供的图层合成装置400,包括:
启动模块401,用于启动图层合成进程;
判断模块402,用于判断当前帧的图层状态是否符合预设合成场景,预设合成场景是指显示***具有第一数量个图层,且第一数量个图层中具有第二数量个图层未被其它图层覆盖并在连续帧中变化的场景;
处理模块403,用于若确定当前帧的图层状态符合预设合成场景,且在确定显示***处于缓存叠加模式时,将第二数量个图层与缓存图层进行叠加得到合成图层,缓存图层上合成有第一数量个图层中未变化的图层。
在图6基础上,图7为本申请实施例提供的另一种图层合成装置的结构示意图。如图7所示,本申请实施例提供的图层合成装置400,还包括:缓存模式初始化模块404。该缓存模式初始化模块404,用于:
将第一数量个图层中未变化的图层渲染至缓存图层上,缓存图层由图层合成进程在显示***初始化时生成;
备份显示***的主图层栈,并设置显示***处于缓存叠加模式,主图层栈包括第一数量个图层。
在一种可能的设计中,若确定当前帧的图层状态不符合预设合成场景,处理模块403,还用于:
判断显示***是否处于缓存叠加模式;
若是,清除缓存图层,恢复主图层栈并设置显示***退出缓存叠加模式,以采用原生模式得到合成图层;
若否,采用原生模式得到合成图层。
在一种可能的设计中,判断模块402,具体用于:
判断第一数量是否大于第一预设数量,且第一数量个图层的属性是否未变化;
判断第二数量是否小于第二预设数量,且第二数量个图层上是否未被其它图层覆盖;
判断当前帧与上一帧的第二数量个图层是否为相同图层;
若各判断结果均为是,则确定当前帧的图层状态符合预设合成场景。
在一种可能的设计中,图层合成装置,还包括:发送模块。该发送模块,用于:
发送合成图层至显示设备,完成当前帧的画面更新。
在一种可能的设计中,显示***包括车载显示***或手机显示***。
本申请实施例提供的图层合成装置,可以执行上述方法实施例中的图层合成方法的相应步骤,其实现原理和技术效果类似,在此不再赘述。
图8为本申请实施例提供的一种电子设备的结构示意图。如图8所示,该电子设备500可以包括:处理器501,以及与处理器501通信连接的存储器502。
存储器502,用于存放程序。具体地,程序可以包括程序代码,程序代码包括计算机执行指令。
存储器502可能包含高速RAM存储器,也可能还包括非易失性存储器(MoM-volatile memory),例如至少一个磁盘存储器。
处理器501用于执行存储器502存储的计算机执行指令,以实现图层合成方法。
其中,处理器501可能是一个中央处理器(CeMtral ProcessiMg UMit,简称为CPU),或者是特定集成电路(ApplicatioM Specific IMtegrated Circuit,简称为ASIC),或者是被配置成实施本申请实施例的一个或多个集成电路。
可选地,存储器502既可以是独立的,也可以跟处理器501集成在一起。当存储器502是独立于处理器501之外的器件时,电子设备500,还可以包括:
总线503,用于连接处理器501以及存储器502。总线可以是工业标准体系结构(industry standard architecture,简称为ISA)总线、外部设备互连(peripheralcomponent,PCI)总线或扩展工业标准体系结构(extended industry standardarchitecture,EISA)总线等。总线可以分为地址总线、数据总线、控制总线等,但并不表示仅有一根总线或一种类型的总线。
可选的,在具体实现上,如果存储器502和处理器501集成在一块芯片上实现,则存储器502和处理器501可以通过内部接口完成通信。
本申请还提供了一种计算机可读存储介质,该计算机可读存储介质可以包括:U盘、移动硬盘、只读存储器(ROM,Read-OMly Memory)、随机存取存储器(RAM,RaMdomAccessMemory)、磁盘或者光盘等各种可以存储程序代码的介质,具体的,该计算机可读存储介质中存储有计算机执行指令,计算机执行指令用于上述实施例中的图层合成方法。
本申请还提供了一种计算机程序产品,包括计算机指令,该计算机指令被处理器执行时实现上述实施例中的图层合成方法。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本申请的其它实施方案。本申请旨在涵盖本申请的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本申请的一般性原理并包括本申请未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本申请的真正范围和精神由权利要求书指出。
应当理解的是,本申请并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本申请的范围仅由所附的权利要求书来限制。
Claims (10)
1.一种图层合成方法,其特征在于,包括:
启动图层合成进程;
判断当前帧的图层状态是否符合预设合成场景,所述预设合成场景是指显示***具有属性固定的第一数量个图层,且所述第一数量个图层中具有第二数量个图层未被其它图层覆盖并在连续帧中变化的场景;
若是,在确定所述显示***处于缓存叠加模式时,将所述第二数量个图层与缓存图层进行叠加得到合成图层,所述缓存图层上合成有所述第一数量个图层中未变化的图层。
2.根据权利要求1所述的图层合成方法,其特征在于,在所述显示***首次处于所述缓存叠加模式之前,还包括:
将所述第一数量个图层中未变化的图层渲染至所述缓存图层上,所述缓存图层由所述图层合成进程在所述显示***初始化时生成;
备份所述显示***的主图层栈,并设置所述显示***处于所述缓存叠加模式,所述主图层栈包括所述第一数量个图层。
3.根据权利要求2所述的图层合成方法,其特征在于,若确定所述当前帧的图层状态不符合所述预设合成场景,还包括:
判断所述显示***是否处于缓存叠加模式;
若是,清除所述缓存图层,恢复所述主图层栈并设置所述显示***退出所述缓存叠加模式,以采用原生模式得到所述合成图层;
若否,采用原生模式得到所述合成图层。
4.根据权利要求1-3任一项所述的图层合成方法,其特征在于,所述判断当前帧的图层状态是否符合预设合成场景,包括:
判断所述第一数量是否大于第一预设数量,且所述第一数量个图层的属性是否未变化;
判断所述第二数量是否小于第二预设数量,且所述第二数量个图层上是否未被所述其它图层覆盖;
判断所述当前帧与上一帧的第二数量个图层是否为相同图层;
若各判断结果均为是,则确定所述当前帧的图层状态符合所述预设合成场景。
5.根据权利要求4所述的图层合成方法,其特征在于,在所述得到合成图层之后,还包括:
发送所述合成图层至显示设备,完成所述当前帧的画面更新。
6.根据权利要求5所述的图层合成方法,其特征在于,所述显示***包括车载显示***或手机显示***。
7.一种图层合成装置,其特征在于,包括:
启动模块,用于启动图层合成进程;
判断模块,用于判断当前帧的图层状态是否符合预设合成场景,所述预设合成场景是指显示***具有属性固定的第一数量个图层,且所述第一数量个图层中具有第二数量个图层未被其它图层覆盖并在连续帧中变化的场景;
处理模块,用于若确定所述当前帧的图层状态符合所述预设合成场景,且在确定所述显示***处于缓存叠加模式时,将所述第二数量个图层与缓存图层进行叠加得到合成图层,所述缓存图层上合成有所述第一数量个图层中未变化的图层。
8.一种电子设备,其特征在于,包括:处理器,以及与所述处理器通信连接的存储器;
所述存储器存储计算机执行指令;
所述处理器执行所述存储器存储的计算机执行指令,以实现如权利要求1至6任一项所述的图层合成方法。
9.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机执行指令,所述计算机执行指令被处理器执行时用于实现如权利要求1至6任一项所述的图层合成方法。
10.一种计算机程序产品,包括计算机执行指令,该计算机执行指令被处理器执行时用于实现权利要求1至6任一项所述的图层合成方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210190787.7A CN114510207A (zh) | 2022-02-28 | 2022-02-28 | 图层合成方法、装置、设备、介质及程序产品 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210190787.7A CN114510207A (zh) | 2022-02-28 | 2022-02-28 | 图层合成方法、装置、设备、介质及程序产品 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114510207A true CN114510207A (zh) | 2022-05-17 |
Family
ID=81552924
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210190787.7A Pending CN114510207A (zh) | 2022-02-28 | 2022-02-28 | 图层合成方法、装置、设备、介质及程序产品 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114510207A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2024114322A1 (zh) * | 2022-11-30 | 2024-06-06 | 腾讯科技(深圳)有限公司 | 画面渲染方法、装置、设备、存储介质及程序产品 |
CN118227069A (zh) * | 2024-05-23 | 2024-06-21 | 鼎道智芯(上海)半导体有限公司 | 显示控制方法和电子设备 |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106055294A (zh) * | 2016-05-23 | 2016-10-26 | 福州瑞芯微电子股份有限公司 | 一种图层合成优化方法和装置 |
CN106874017A (zh) * | 2017-03-10 | 2017-06-20 | 广东欧珀移动通信有限公司 | 一种移动终端的显示场景识别方法、装置及移动终端 |
CN108153505A (zh) * | 2017-12-26 | 2018-06-12 | 掌阅科技股份有限公司 | 手写输入内容的显示方法、电子设备及计算机存储介质 |
CN110018759A (zh) * | 2019-04-10 | 2019-07-16 | Oppo广东移动通信有限公司 | 界面显示方法、装置、终端及存储介质 |
CN110363831A (zh) * | 2019-07-17 | 2019-10-22 | Oppo广东移动通信有限公司 | 图层合成方法、装置、电子设备及存储介质 |
CN110377264A (zh) * | 2019-07-17 | 2019-10-25 | Oppo广东移动通信有限公司 | 图层合成方法、装置、电子设备及存储介质 |
CN112767231A (zh) * | 2021-04-02 | 2021-05-07 | 荣耀终端有限公司 | 图层合成方法和设备 |
CN113625983A (zh) * | 2021-08-10 | 2021-11-09 | Oppo广东移动通信有限公司 | 图像显示方法、装置、计算机设备及存储介质 |
CN113986162A (zh) * | 2021-09-22 | 2022-01-28 | 荣耀终端有限公司 | 图层合成方法、设备及计算机可读存储介质 |
-
2022
- 2022-02-28 CN CN202210190787.7A patent/CN114510207A/zh active Pending
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106055294A (zh) * | 2016-05-23 | 2016-10-26 | 福州瑞芯微电子股份有限公司 | 一种图层合成优化方法和装置 |
CN106874017A (zh) * | 2017-03-10 | 2017-06-20 | 广东欧珀移动通信有限公司 | 一种移动终端的显示场景识别方法、装置及移动终端 |
CN108153505A (zh) * | 2017-12-26 | 2018-06-12 | 掌阅科技股份有限公司 | 手写输入内容的显示方法、电子设备及计算机存储介质 |
CN110018759A (zh) * | 2019-04-10 | 2019-07-16 | Oppo广东移动通信有限公司 | 界面显示方法、装置、终端及存储介质 |
CN110363831A (zh) * | 2019-07-17 | 2019-10-22 | Oppo广东移动通信有限公司 | 图层合成方法、装置、电子设备及存储介质 |
CN110377264A (zh) * | 2019-07-17 | 2019-10-25 | Oppo广东移动通信有限公司 | 图层合成方法、装置、电子设备及存储介质 |
CN112767231A (zh) * | 2021-04-02 | 2021-05-07 | 荣耀终端有限公司 | 图层合成方法和设备 |
CN113625983A (zh) * | 2021-08-10 | 2021-11-09 | Oppo广东移动通信有限公司 | 图像显示方法、装置、计算机设备及存储介质 |
CN113986162A (zh) * | 2021-09-22 | 2022-01-28 | 荣耀终端有限公司 | 图层合成方法、设备及计算机可读存储介质 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2024114322A1 (zh) * | 2022-11-30 | 2024-06-06 | 腾讯科技(深圳)有限公司 | 画面渲染方法、装置、设备、存储介质及程序产品 |
CN118227069A (zh) * | 2024-05-23 | 2024-06-21 | 鼎道智芯(上海)半导体有限公司 | 显示控制方法和电子设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN114510207A (zh) | 图层合成方法、装置、设备、介质及程序产品 | |
CN108984137B (zh) | 双屏显示方法及其***、计算机可读存储介质 | |
CN110641382B (zh) | 一种车载界面的显示方法、装置、电子设备和存储介质 | |
US11934733B2 (en) | Vehicle control device, vehicle display system, and vehicle display control method | |
JP2003233809A (ja) | 画像合成装置および画像合成方法 | |
CN111882480B (zh) | 分块数据处理方法、装置、***及存储介质 | |
CN109889877A (zh) | 客车多屏显示控制方法及装置 | |
JP2007170834A (ja) | ナビゲーション装置及びナビゲーション装置の画像表示方法 | |
CN111260746A (zh) | 一种倒车影像处理方法、电子设备及存储介质 | |
CN107908455B (zh) | 一种浏览器页面的切换方法和切换*** | |
CN116527978A (zh) | 一种多屏互动的控制方法及装置 | |
CN112988357B (zh) | 全景影像显示方法、计算机存储介质及电子设备 | |
CN111785229B (zh) | 一种显示方法、装置及*** | |
CN113348436B (zh) | 显示控制***及方法、显示装置及方法、移动体、记录介质 | |
CN115766969A (zh) | 一种车载图像处理方法、装置、介质及计算设备 | |
JP2012134775A (ja) | 画像処理装置、撮像装置、および画像処理プログラム | |
JP2005115107A (ja) | 表示処理装置、ナビゲーション装置、プログラム、及び表示処理方法 | |
JP2016187079A (ja) | 半導体装置、表示システムおよび表示方法 | |
CN117153118B (zh) | 墨水屏的画面更新方法、装置、设备以及存储介质 | |
CN114816306A (zh) | 一种屏幕共享的控制方法、装置、电子设备及存储介质 | |
CN108377352A (zh) | 视频处理方法及装置、计算机装置及存储介质 | |
CN116416359A (zh) | 多路影像并行渲染方法、装置、计算机设备及存储介质 | |
CN116414478A (zh) | 图像合成方法、装置及电子设备 | |
CN115827073A (zh) | 独立显卡和集显同时显示的处理方法、设备、存储介质 | |
CN118069275A (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 |