CN116594543B - 显示方法、设备及可读存储介质 - Google Patents

显示方法、设备及可读存储介质 Download PDF

Info

Publication number
CN116594543B
CN116594543B CN202310880429.3A CN202310880429A CN116594543B CN 116594543 B CN116594543 B CN 116594543B CN 202310880429 A CN202310880429 A CN 202310880429A CN 116594543 B CN116594543 B CN 116594543B
Authority
CN
China
Prior art keywords
image
sliding
module
state
drawn
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
Application number
CN202310880429.3A
Other languages
English (en)
Other versions
CN116594543A (zh
Inventor
鲍志学
孙文涌
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Honor Device Co Ltd
Original Assignee
Honor Device Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Honor Device Co Ltd filed Critical Honor Device Co Ltd
Priority to CN202310880429.3A priority Critical patent/CN116594543B/zh
Publication of CN116594543A publication Critical patent/CN116594543A/zh
Application granted granted Critical
Publication of CN116594543B publication Critical patent/CN116594543B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0484Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
    • G06F3/04845Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range for image manipulation, e.g. dragging, rotation, expansion or change of colour
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0484Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
    • G06F3/04847Interaction techniques to control parameter settings, e.g. interaction with sliders or dials
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0487Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser
    • G06F3/0488Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures
    • G06F3/04883Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures for inputting data by handwriting, e.g. gesture or text
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/14Digital output to display device ; Cooperation and interconnection of the display device with other functional units
    • G06F3/1407General aspects irrespective of display type, e.g. determination of decimal point position, display with fixed or driving decimal point, suppression of non-significant zeros
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/005General purpose rendering architectures
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Computer Graphics (AREA)
  • Controls And Circuits For Display Device (AREA)

Abstract

本申请涉及图像处理技术领域,公开了一种显示方法、设备及可读存储介质。该方法应用于电子设备,且该电子设备的显示屏中包含第一图像和第二图像,该方法包括:若检测到第二图像处于滑动停止状态,会停止对第二图像所对应的待绘制图层继续进行提前绘制操作,并确定第一图像是否处于滑动状态,若是,则对第一图像所对应的待绘制图层继续进行提前绘制操作。如此,可以提升显示屏中的图像在滑动状态下显示的连贯性,避免显示屏中图像的卡顿。

Description

显示方法、设备及可读存储介质
技术领域
本申请涉及图像处理技术领域,特别涉及一种显示方法、设备及可读存储介质。
背景技术
随着终端技术的不断发展,手机、电脑等电子设备的性能得到了大幅提升,用户对电子设备的性能的要求也越来越高。其中,用户对电子设备的显示屏中所显示的图像进行上下滑动操作时,显示屏中的图像在滑动状态下的显示连贯性便是电子设备的性能之一。因此,如何确保显示屏中的图像在滑动状态下显示的连贯性,即避免显示屏中图像的卡顿是需要解决的技术问题。
发明内容
本申请实施例提供了一种显示方法、设备及可读存储介质。该方法在第二图像停止滑动之后,还会确定第一图像是否处于滑动状态,若是,则对第一图像对应的待绘制图层继续进行提前绘制操作,可以提升电子设备的图像显示的连贯性。
第一方面,本申请提供了一种显示方法,该方法包括:显示第一界面,第一界面包括第一图像和第二图像;检测到第一图像和第二图像同时处于滑动状态,采用第一绘制方式绘制第一图像的待绘制图层和第二图像的待绘制图层;检测到第一图像处于滑动状态并且第二图像处于滑动停止状态,继续采用第一绘制方式绘制第一图像对应的待绘制图层,并停止对第二图像的待绘制图层的绘制操作;基于绘制完成的待绘制图层得到待显示图像帧,并在第一界面中显示待显示图像帧。
示例性地,电子设备可以为折叠屏设备,此种情况下,第一界面可以包括折叠屏设备的两部分不同的显示屏的显示界面,例如后文中提到的显示屏101和显示屏102。那么,第一图像便可以为显示屏101中的显示图像103,第二图像便可以为显示屏102中的显示图像104,且第一图像和第二图像可以分别进行控制。因此,此种情况下,第一图像和第二图像便可以同时处于滑动状态,也可以第二图像先停止滑动,第一图像后停止滑动等。
示例性地,除了上述提及的折叠屏设备,电子设备也可以为单屏设备,只要该单屏设备显示的图像由两个滑动模块所监控即可。此种情况下,第一界面的示意图可如后文图4所示,也即第一界面为图4中的文章推荐页面401,第一图像为文章推荐页面401的上部分区域402,第二图像为文章推荐页401的下部分区域403。
可以理解,对待绘制图层采用的第一绘制方式即为后文说明书中涉及的提前绘制。其中,第一绘制方式包括:接收到第一同步消息,绘制第一待绘制图层,并且在绘制完第一待绘制图层且未接收到第二同步消息的情况下,开始绘制第二待绘制图层。
可以理解,第一同步消息和第二同步消息的发送间隔基于电子设备的显示屏的帧率确定。示例性地,若电子设备的显示屏的帧率为60赫兹,那么,第一同步消息和第二同步消息的发送间隔则为16.6毫秒。此外,第一同步消息和第二同步消息可以为后文中涉及的VSync_APP信号,且第一同步消息为当前时刻对应的VSync_APP信号,第二同步消息为当前时刻的下一时刻对应的VSync_APP信号。
本申请提供的显示方法中,电子设备检测到第二图像停止滑动,但第一图像仍然处于滑动状态时,依旧会对第一图像对应的待绘制图层进行提前绘制操作,可以提升第一图像在滑动状态下显示的连贯性。
在上述第一方面的一种可能的实现中,方法还包括:检测到第一图像和第二图像均处于滑动停止状态,停止基于第一绘制方式对第一图像和第二图像分别对应的待绘制图层的绘制操作。
可以理解,若第一图像和第二图像均处于滑动停止状态,也即第一图像和第二图像并未滑动,便无需基于第一绘制方式对第一图像和第二图像分别对应的待绘制图层进行绘制操作。
在上述第一方面的一种可能的实现中,电子设备包括第一滑动模块和第二滑动模块,检测到第一图像和第二图像同时处于滑动状态,包括:若第一滑动模块的状态为滑动状态,且第二滑动模块的状态为滑动状态,确定第一图像和第二图像同时处于滑动状态;若第一滑动模块的状态为滑动状态,且第二滑动模块的状态为滑动停止状态,确定第一图像处于滑动状态并且第二图像处于滑动停止状态。
可以理解,若电子设备具有两个显示屏,且可以分别对两个显示屏进行触摸滑动操作,以使两个显示屏中分别包含的第一图像和第二图像处于滚动显示状态,那么通常此种情况下,一个图像对应一个滑动模块。示例性地,第一图像对应第一滑动模块,第二图像对应第二滑动模块。也可以理解为,第一滑动模块的状态用于反映第一图像的滑动状态,第二滑动模块的状态用于反映第二图像的滑动状态。
因此,若检测到第一滑动模块和第二滑动模块的状态均为滑动状态,便可以确定第一图像和第二图像均处于滑动状态;同理,若检测到第一滑动模块的状态为滑动状态,但是第二滑动模块的状态为滑动停止状态,便可以确定第一图像处于滑动状态,第二图像处于滑动停止状态。
在上述第一方面的一种可能的实现中,方法还包括:若第一滑动模块和第二滑动模块的状态均为滑动状态,将第一滑动模块和第二滑动模块的标识均设置为第一标识;基于第一滑动模块和第二滑动模块的标识均为第一标识,将第一滑动模块和第二滑动模块加入至待分析模块组,采用第一绘制方式绘制待分析模块组中包含的滑动模块分别对应的图像的待绘制图层;若第一滑动模块的状态为滑动状态并且第二滑动模块的状态为滑动停止状态,将第二滑动模块的标识设置为第二标识;基于第二滑动模块的标识为第二标识,从待分析模块组中删除第二滑动模块,继续采用第一绘制方式绘制第一图像对应的待绘制图层,并停止基于第一绘制方式对第二图像的待绘制图层的绘制操作。
可以理解,第一标识用于表示滑动模块的滑动状态,示例性地,第一标识可以为True;第二标识用于表示滑动模块的滑动结束状态,示例性地,第二标识可以为False。第一标识用于将第一标识对应的滑动模块加入待分析模块组,以采用第一绘制方式绘制待分析模块组中包含的滑动模块分别对应的图像的待绘制图层。第二标识用于将第二标识对应的滑动模块从待分析模块组中删除,便不再基于第一绘制方式对删除的滑动模块对应的图像的待绘制图层进行绘制操作。
在上述第一方面的一种可能的实现中,方法还包括:若第一滑动模块的状态为滑动停止状态,将第一滑动模块的标识设置为第二标识;基于第一滑动模块的标识为第二标识,从待分析模块组中删除第一滑动模块,并停止基于第一绘制方式对第一图像的待绘制图层的绘制操作。
可以理解,在第二滑动模块从待分析模块组中删除之后,待分析模块组中便只包含第一滑动模块,且该第一滑动模块的状态为滑动状态。若检测到第一滑动模块的状态为滑动停止状态,则第一滑动模块的标识便会被设置为第二标识,然后基于该第二标识将第一滑动模块从待分析模块组中删除,以不再基于第一绘制方式对第一图像的待绘制图层进行绘制操作。
在上述第一方面的一种可能的实现中,方法还包括:若待分析模块组中不存在滑动模块,则停止基于第一绘制方式对第一图像和第二图像分别对应的待绘制图层的绘制操作。
若待分析模块组中不存在滑动模块,则说明第一图像和第二图像均处于滑动停止状态,此时便无需基于第一绘制方式对第一图像和第二图像分别对应的待绘制图层的绘制操作。
在上述第一方面的一种可能的实现中,电子设备还包括编舞者和动态缓冲区,检测到第一图像和第二图像同时处于滑动状态,采用第一绘制方式绘制第一图像的待绘制图层和第二图像的待绘制图层,包括:动态缓冲区根据第一滑动模块的状态检测到第一图像处于滑动状态,且根据第二滑动模块的状态检测到第二图像处于滑动状态之后,将进行第一绘制方式的指令发送至编舞者;编舞者根据第一绘制方式的指令采用第一绘制方式绘制第一图像的待绘制图层和第二图像的待绘制图层。
可以理解,此种实现方式介绍了显示方法包含的各模块的交互流程。示例性地,滑动模块检测到滑动模块对应的图像的状态之后,将该状态发送至动态缓冲区,动态缓冲区对状态进行分析,若状态是滑动(中)状态,动态缓冲区便会对编舞者下发进行第一绘制方式的指令,编舞者接收到该指令之后,便会基于第一绘制方式对图像对应的待绘制图层进行绘制操作。
在上述第一方面的一种可能的实现中,电子设备包括渲染线程、显示合并模块和硬件显示模块;基于绘制完成的待绘制图层得到待显示图像帧,并在第一界面中显示待显示图像帧,包括:将采用第一绘制方式绘制完成的待绘制图层发送至渲染线程进行渲染操作,得到渲染后的待合并图层;渲染线程将渲染后的待合并图层发送至显示合并模块进行合并操作,得到待显示图像帧;显示合并模块将待显示图像帧发送至硬件显示模块;硬件显示模块通过电子设备的显示屏在第一界面中显示待显示图像帧。
根据上述内容,可以理解,渲染线程用于对绘制完成的待绘制图层进行渲染操作;显示合并模块用于对渲染完成的图层进行合并操作,得到待显示图像帧;硬件显示模块用于基于第一界面显示待显示图像帧。
第二方面,本申请提供一种电子设备,包括:一个或多个处理器;一个或多个存储器;一个或多个存储器存储有一个或多个程序,当一个或者多个程序被一个或多个处理器执行时,使得电子设备执行第一方面及第一方面任一种可能的显示方法。
第三方面,本申请提供一种计算机可读存储介质,其上存储有指令,该指令在计算机上执行时使计算机执行第一方面及第一方面任一种可能的显示方法。
第四方面,本申请还提供一种计算机程序产品,包括:执行指令,执行指令存储在可读存储介质中,电子设备的至少一个处理器可以从可读存储介质读取执行指令,至少一个处理器执行执行指令使得电子设备实现第一方面及第一方面任一种可能的显示方法。
附图说明
图1根据本申请的一些实施例,示出了一种用户通过折叠屏手机在分屏场景下的两部分显示屏对显示的图像进行滑动操作的场景示意图;
图2根据本申请的一些实施例,示出了第一种在垂直同步信号的作用下进行图像显示的时序示意图;
图3根据本申请的一些实施例,示出了第二种在垂直同步信号的作用下进行图像显示的时序示意图;
图4根据本申请的一些实施例,示出了一种在新闻类应用程序A中文章推荐页面的示意图;
图5A根据本申请的一些实施例,示出了一种显示方法的流程示意图;
图5B根据本申请的一些实施例,示出了第一种电子设备的结构示意图;
图6根据本申请的一些实施例,示出了一种显示方法中各模块的交互过程的示意图;
图7A根据本申请的一些实施例,示出了一种双滑动模块情况下提前绘制的生效时间的示意图;
图7B根据本申请的一些实施例,示出了一种本申请和相关技术中提前绘制生效的时机的示意图;
图8根据本申请的一些实施例,示出了第二种电子设备的结构示意图。
实施方式
本申请的说明性实施例包括但不限于显示方法、设备及可读存储介质。
下面首先对本申请实施例中涉及的专有名词进行解释说明。
用户界面(User Interface,UI)线程:在图像处理领域中也可以称为主线程(MainThread)。UI线程通常利用CPU(Central Processing Unit,中央处理器)处理用户界面相关的逻辑,在本申请实施例中,UI线程可用来对图像的待绘制图层进行绘制操作。
渲染线程(Render Thread):在图像处理领域中,渲染线程通常利用GPU(GraphicsProcessing Unit,图形处理器)对UI线程绘制完成的图层进行渲染操作。在对于某一帧图像的处理中,通常需要先利用UI线程进行绘制操作,然后利用渲染线程进行渲染操作,便可以对渲染得到的图像在电子设备的显示屏中进行显示。
垂直同步(Vertical Synchronization,VSync)信号:也可以理解为定时中断信号,为周期性信号,且该信号的信号周期基于电子设备的显示屏的帧率确定。垂直同步信号(VSync信号)通常可分为三类:垂直同步-应用(VSync_APP)信号、垂直同步-显示合成(VSync_Surface Flinger,也即VSync_SF)信号和硬件-垂直同步(HW_VSync)信号。
其中,VSync_APP信号可用于触发一个或多个图层的绘制操作,并对绘制得到的图层进行渲染操作。也可以理解为,该VSync_APP信号可用于触发UI线程绘制一个或多个图层,并触发Render线程对UI线程绘制得到的一个或多个图层进行渲染操作。VSync_SF信号可用于触发对渲染的一个或多个图层进行图层合成,得到图像帧的操作。HW_VSync信号是电子设备的液晶显示屏驱动触发的一个硬件信号。该信号的信号周期可以基于电子设备的显示屏的帧率确定,示例性地,信号周期可以是显示屏的帧率的倒数。例如,若电子设备的显示屏的帧率是60Hz,那么,HW_VSync信号的信号周期即为16.6毫秒(ms),也即每隔16.6ms发送一次HW_VSync信号。
可以理解,VSync_APP信号、VSync_SF信号和HW_VSync信号均为周期性信号,也即VSync_APP信号、VSync_SF信号和HW_VSync信号分别按照各自的信号周期周期性地发送信号。且VSync_APP信号和VSync_SF信号基于HW_VSync信号产生,即HW_VSync信号是VSync_APP信号和VSync_SF信号的信号源,也可以理解为,VSync_APP信号和VSync_SF信号和HW_VSync信号同步,即三种信号之间的信号周期相同。根据前文,若HW_VSync信号的信号周期即为16.6ms,那么,VSync_APP信号和VSync_SF信号的信号周期也均是16.6ms。
帧率(Frame Rate):是以帧称为单位的位图图像连续出现在显示器上的频率(速率),也可以称为帧频率,并以赫兹(Hz)表示。以电子设备为手机为例,通常情况下,手机的显示屏的帧率可以为60Hz、70Hz等,以手机的显示屏的帧率为60Hz为例,也就是每秒钟刷新60次图像,也即每16.6毫秒(ms)对手机显示屏中的图像刷新一次。
下面首先对本申请提供的显示方法的应用场景进行举例说明。
当前,随着电子设备的普及,越来越多的用户会通过电子设备浏览新闻类、娱乐类以及科普类信息等。以电子设备为手机为例,目前不仅存在单屏手机,也存在折叠屏手机,本申请实施例不对折叠屏手机的折叠方式进行限定,示例性地,折叠屏手机可以两部分显示屏进行左右方向折叠,也可以上下方向进行折叠。无论折叠屏手机的折叠方式为上述哪一种,用户均可以通过将折叠屏手机的两部分显示屏进行展开以浏览相关信息。
以电子设备为手机为例,图1示出了用户通过折叠屏手机在分屏场景下的两部分显示屏对显示的图像进行滑动操作的场景示意图。其中,分屏可以为同一应用之间分屏显示,也可以为不同应用分屏显示。如图1所示,该折叠屏手机100可以进行左右方向的折叠,且在图1中的状态为展开状态,也即该折叠屏手机100包括显示屏101和显示屏102。此外,显示屏101和显示屏102中分别包括第一应用中的显示图像103和第二应用中的显示图像104。示例性地,用户可以对显示屏101的对应区域进行滑动操作,显示屏101中便会滚动显示显示图像103;用户可以对显示屏102的对应区域进行滑动操作,显示屏102中便会滚动显示显示图像104。在本申请实施例中,需通过分别滑动显示屏101和显示屏102实现显示图像103和显示图像104的滚动显示状态。
因此,在一些场景中,无论用户对显示屏101和显示屏102进行触摸滑动还是离手滑动,显示图像103和显示图像104都可以进行滚动显示,且显示图像103和显示图像104可以同时处于滚动显示状态,也可以先后处于滚动显示状态,本申请实施例对此不进行限定。
对于图1所示的折叠屏手机而言,手机的两部分显示屏中的图像可以分别控制,所以此时手机中通常会有两个滑动模块,即一个滑动模块对应一部分显示屏中的图像。
以图1为例,图1中涉及的显示图像103和显示图像104便可以分别对应一个滑动模块。示例性地,显示图像103可以对应第一滑动模块,也即第一滑动模块可以确定显示图像103的滑动状态;显示图像104可以对应第二滑动模块,也即第二滑动模块可以确定显示图像104的滑动状态。
基于上述应用场景,下面对电子设备显示屏中的图像显示的原理进行说明。
以电子设备为手机,用户对手机的显示屏进行滑动操作为例,用户进行滑动操作时,手机的用户界面(User Interface,UI)框架便会获取到用户对手机的滑动操作。其中,UI框架中包含UI线程和渲染(Render)线程。然后,UI框架中的UI线程首先绘制当前t1时刻对应的图层,Render线程随后对绘制完成的图层进行渲染,并将渲染后的图层发送至显示(Display)框架。Display框架利用内部的Surface Flinger模块对得到的渲染后的图层进行图层合成操作,得到图像帧,并将图像帧发送至硬件显示模块中的液晶显示面板(LiquidCrystal Display,LCD)驱动,LCD驱动接收到图像帧之后,便可以通过LCD显示该图像帧。
示例性地,UI线程绘制图层的时机可以为,响应于UI框架在当前t1时刻接收到VSync_APP信号,调用UI线程绘制当前t1时刻对应的图层,然后调用Render线程对绘制完成的图层进行渲染操作;然后,响应于Display框架接收到VSync_SF信号,开始利用Display框架内部的Surface Flinger模块对图层进行合成操作,得到图像帧;响应于硬件显示模块接收到HW_VSync信号,通过模块内部的LCD显示该图像帧。
可以理解,当前t1时刻的下一时刻(即t2时刻)的图像帧的绘制和显示过程与上述过程同理。因此,由上述内容可知,LCD基于HW_VSync信号的信号周期周期性地显示获取到的图像帧,使得不同时刻对应的不同图像帧按照时间顺序先后显示于电子设备的显示屏中,便呈现出用户在视觉上可以观察到的显示屏中的内容的滑动显示的状态。
图2示出了在垂直同步信号的作用下进行图像显示的时序示意图。如图2所示,VSync_APP信号分别在t1时刻、t2时刻、t3时刻和t4时刻到来;VSync_SF信号分别在t1时刻、t2时刻、t3时刻和t4时刻到来;HW_VSync信号分别在t1时刻、t2时刻、t3时刻和t4时刻到来。t1时刻和t2时刻之间的时间间隔与t2时刻和t3时刻之间的时间间隔、t3时刻和t4时刻之间的时间间隔相同,且该时间间隔也即前文所述的信号周期。以信号周期为16.6ms为例,图1中的相邻时刻之间的时间间隔也为16.6ms。
当VSync_APP信号在t1时刻到来时,开始对t1时刻对应的第一图层分别进行第一绘制和第一渲染操作,当VSync_SF信号在t2时刻到来时,便可以对渲染后的第一图层进行第一合成操作,得到第一图像帧。当HW_VSync信号在t3时刻到来时,便可以对第一图像帧进行显示,用户便可以在手机的显示屏中看到显示的第一图像帧。
依旧如图2可知,当VSync_APP信号在t2时刻到来时,开始对t2时刻对应的第二图层分别进行第二绘制和第二渲染操作,当VSync_SF信号在t3时刻到来时,便可以对第二渲染后的第二图层进行合成操作,得到第二图像帧。当HW_VSync信号在t4时刻到来时,便可以对第二图像帧进行显示,用户便可以在手机的显示屏中看到显示的第二图像帧。不同时刻对应的图层的处理方法均与上述描述的原理相同,此处不再赘述。
但是,如图3所示,若在VSync_APP信号在t2时刻到来时开始对t2时刻对应的第二图层进行第二绘制操作,但是在t3时刻到来之前,还没有完成对第二图层的第二绘制操作,便会导致对第二图层的第二渲染操作在t3时刻与t4时刻之间完成。进而,在VSync_SF信号在t4时刻到来时开始对经过第二渲染操作后的第二图层进行第二合成操作,得到第二图像帧,在HW_VSync信号在t5时刻到来时,才可以对第二图像帧进行显示。
这便会导致t1时刻对应的第一图层的第一图像帧在t3-t4时刻显示,但是t2时刻对应的第二图层的第二图像帧在t5-t6时刻显示,也即t4-t5时刻没有可以显示的图像帧。此种情况即表现为显示屏中的图像在t4-t5时刻出现卡顿现象或者空白现象,也即出现了丢帧现象。此种情况会影响显示屏中的图像显示的流畅度,进而影响用户的使用体验。
因此,为解决上述技术问题,本申请实施例提供了一种显示方法,该方法包括,在电子设备中的各滑动模块的对应的状态均为滑动状态时,则对各滑动模块分别对应的图像的待绘制图层进行提前绘制。当检测到电子设备中的一个滑动模块的状态变为滑动结束状态时,对该滑动模块对应的显示屏中的图像的待绘制图层停止提前绘制操作后,会再次确定是否还有其他滑动模块的状态为滑动中状态,若有,则对该其他滑动模块对应的显示屏中的图像的待绘制图层依旧进行提前绘制操作,直至该其他滑动模块的状态变为滑动停止状态,则停止提前绘制操作。此种方式根据各个滑动模块的滑动状态确定对滑动模块分别对应的图像的待绘制图层是否进行提前绘制。也即,该方法可以在一个滑动模块处于滑动结束状态,但另一个滑动模块依旧处于滑动中状态时,对仍处于滑动中状态的滑动模块对应的图像的待绘制图层采用提前绘制操作,保证了图像的滑动流畅度,可以提升用户的使用体验。
可以理解,提前绘制操作是指无需等到下一个信号周期VSync_APP信号到来时才开始对图像的待绘制图层进行绘制操作,当前时刻对应的图像的待绘制图层绘制完成后,即可开始进行下一时刻对应的图像的待绘制图层的绘制操作。绘制完成后,依旧按照前述方式,对绘制完成的图层进行渲染、利用SF模块进行图层合成,以及发送至LCD驱动利用LCD进行显示即可。
可以理解,本申请实施例提供的显示方法,适用于任意具有通信功能的电子设备,包括但不限于手机、平板电脑、可穿戴设备、增强现实(Augmented Reality,AR)设备等任意电子设备,本申请实施例不对电子设备的类型和形态加以限定。
可以理解,本申请实施例中的显示方法可以应用于任意具有多个滑动模块的场景,例如上述提及的折叠手机的分屏场景,或者单屏手机的分屏场景,或者任意电子设备的具有多个滑动模块设置的应用中,例如,对于一些应用,或者一些应用的部分界面在不存在分屏,即单屏显示的时候滑动状态也是由两个滑动模块所监控的,此时,在这些应用界面进行滑动时,仍然可以采用上述显示方法。
例如,图4示出了在新闻类应用程序A中文章推荐页面401的示意图,其中,该页面的滑动状态也可以由两个模块监控。例如在文章推荐页面401的上部分区域402的滑动状态由第一滑动模块监控,下部分区域403的滑动状态由第二滑动模块监控。因此,也可以基于本申请实施例中的显示方法进行图像帧的绘制和显示,也能同样保证图像的显示流畅度,避免卡顿问题的发生。可以理解,上述滑动模块对显示界面的滑动状态的监控方式只是举例说明,滑动模块对显示界面的滑动状态的监控方式可以根据实际需求设置,本申请不做限定。
下面对本申请实施例中提供的显示方法进行详细介绍,该方法可以由电子设备执行。如图5A所示,该方法可以包括如下步骤:
501:显示第一界面,第一界面包括第一图像和第二图像。
在本申请实施例中,第一界面为电子设备的显示屏对应的界面。示例性地,电子设备可以为折叠屏设备,此种情况下,第一界面可以包括折叠屏设备的两部分不同的显示屏的显示界面,例如前文中提到的显示屏101和显示屏102。那么,第一图像便可以为显示屏101中的显示图像103,第二图像便可以为显示屏102中的显示图像104,且第一图像和第二图像可以分别进行控制。因此,此种情况下,第一图像和第二图像便可以同时处于滑动状态,也可以第二图像先停止滑动,第一图像后停止滑动等。
示例性地,除了上述提及的折叠屏设备,电子设备也可以为单屏设备,只要该单屏设备显示的图像由两个滑动模块所监控即可。此种情况下,第一界面的示意图可如前文图4所示,也即第一界面为图4中的文章推荐页面401,第一图像为文章推荐页面401的上部分区域402,第二图像为文章推荐页401的下部分区域403。
此外,在本申请实施例中,第一图像和第二图像的状态可以分别由不同的滑动模块监控,例如,电子设备可以包含第一滑动模块和第二滑动模块,且第一滑动模块可用于确定第一图像的滑动状态,第二滑动模块可用于确定第二图像的滑动状态。
502:检测到第一图像和第二图像同时处于滑动状态,采用第一绘制方式绘制第一图像的待绘制图层和第二图像的待绘制图层。
根据前文步骤501可知,第一图像和第二图像可以分别进行控制,也即,第一图像和第二图像可能同时处于滑动状态。对于此种情况,则电子设备可以采用第一绘制方式绘制第一图像和第二图像分别对应的待绘制图层。其中,第一绘制方式包括:接收到第一同步消息,绘制第一待绘制图层,并且在绘制完第一待绘制图层且未接收到第二同步消息的情况下,开始绘制第二待绘制图层。也可以理解为,第一绘制方式为提前绘制,也即,在第一待绘制图层绘制完毕之后,无须等到第二同步消息的到来,而是可以立即开始绘制第二待绘制图层。
其中,第一同步消息和第二同步消息可以为垂直同步-应用(VSync_APP)信号,且第一同步消息和第二同步消息的发送间隔为VSync_APP信号的一个信号周期。该信号周期基于电子设备的显示屏的帧率确定。示例性地,若电子设备的显示屏的帧率为60赫兹,那么,第一同步消息和第二同步消息的发送间隔则为16.6毫秒。
示例性地,若第一滑动模块和第二滑动模块的状态均为滑动状态,则可以确定第一图像和第二图像同时处于滑动状态,并采用第一绘制方式(提前绘制的方式)绘制第一图像的待绘制图层和第二图像的待绘制图层。
503:检测到第一图像处于滑动状态并且第二图像处于滑动停止状态,继续采用第一绘制方式绘制第一图像对应的待绘制图层,并停止对第二图像的待绘制图层的绘制操作。
若第一滑动模块的状态为滑动状态,第二滑动模块的状态为滑动结束状态,则可以确定第一图像处于滑动状态并且第二图像处于滑动停止状态(滑动结束状态),则说明需要继续对第一图像对应的待绘制图层进行绘制操作,而无需再对第二图像对应的待绘制图层进行绘制操作。
504:基于绘制完成的待绘制图层得到待显示图像帧,并在第一界面中显示待显示图像帧。
本申请实施例中,可以将绘制完成的待绘制图层发送至渲染线程进行渲染操作,得到渲染之后的待合并图层;然后对待合并图层进行合并操作,得到待显示图像帧,再在第一界面中显示该待显示图像帧。
本申请提供的显示方法中,电子设备检测到第二滑动模块的状态为滑动停止状态,但第一滑动模块的状态仍然为滑动状态时,依旧会对第一滑动模块对应的第一图像的待绘制图层进行提前绘制操作,此种方式可以提升第一图像在滑动状态下显示的连贯性,避免第一图像的卡顿现象。
图5B示出了本申请实施例提供的方法所应用于的电子设备的结构示意图。如图5B所示,本申请实施例提供的显示方法主要在应用(APP)端和显示合成(Surface Flinger,SF)端完成。其中,APP端主要包括编舞者(Choreographer)、动态缓冲区(DynBuf)、滑动(Over Scroller)模块和缓冲区队列(Buffer Queue);SF端包括SF模块。Buffer Queue用于App端和SF端的SF模块之间的图像传递。缓冲区队列具有缓冲区队列核心(Buffer QueueCore),缓冲区队列核心定义了Buffer Queue的一些基本属性。
其中,编舞者(Choreographer)的主要用途是接收显示合成(Surface Flinger,SF)模块发送的垂直同步(Vertical Synchronization,VSync)信号,统一管理应用(App)的输入(Input)、动画(Animation)和布局(Layout)等任务的执行时机。也可以理解为,Choreographer基于接收到的VSync信号控制对每一帧图层的绘制时机。此外,可以理解,Choreographer被配置在前文涉及的UI线程中。
动态缓冲区(Dynamic Buffer,DynBuf)可以根据当前缓冲区的一些参数,例如淘汰率、空闲度等参数来计算缓冲区压力,若达到系统设定的阀值,立即进行缓冲区扩展,将缓冲区压力控制在可接受范围内,满足应用需求。在本申请中,DynBuf还可以根据滑动模块在当前时刻的状态确定是否可以对图层进行提前绘制,并维护时间戳,计算滑动曲线。
滑动(Over Scroller)模块:可以确定显示屏中的图像在当前时刻是否处于滑动状态,并将获取到的图像的滑动状态发送至DynBuf,帮助DynBuf判断当前时刻是否需要进行提前绘制。此外,滑动模块也可以根据DynBuf返回的时间戳和滑动曲线计算显示屏中的各组件在当前时刻的位置,便于后续依据此位置信息对各组件进行绘制、渲染等操作。
显示合成(Surface Flinger,SF)模块:在本申请实施例中,该模块用于向Choreographer发送VSync信号,以使得Choreographer基于接收到的VSync信号开始执行对当前帧图像的绘制等操作。此外,该模块也可以接收已经绘制、渲染完毕的数据缓冲区(Buffer),对这些数据缓冲区进行合成,然后发送到硬件显示模块进行显示。
图5B中,SF模块向Choreographer发送onVSync信号,该onVSync信号可以为VSync_APP信号,可以用于指示Choreographer开始对当前时刻对应的图像的待绘制图层进行绘制操作。Choreographer接收到SF模块发送的onVSync信号之后,开始处理当前时刻对应的图像的待绘制图层的绘制操作。其中,绘制操作可以包含处理待绘制图层的动画事件、遍历事件以及布局事件等。也可以理解为,Choreographer按照顺序处理完上述动画事件之后,便可以完成对待绘制图层的绘制操作。
示例性地,Choreographer处理待绘制图层的动画事件可以为,Choreographer控制滑动模块更新当前时刻显示屏中的图像的滑动(fling)状态,也即,Choreographer控制滑动模块更新滑动模块的滑动状态。例如,滑动状态包括但不限于滑动开始状态、滑动结束状态以及处于滑动中状态。
然后,滑动模块将更新的滑动状态发送至DynBuf。DynBuf根据接收到的滑动状态确定是否需要进行提前绘制操作,若是,则DynBuf向Choreographer发送提前绘制的指令,以当Choreographer完成对当前时刻对应的图像的待绘制图层的绘制操作之后,可以直接开始绘制下一时刻对应的图像待绘制图层,而无需等到下一个信号周期的VSync_APP信号到来时才开始绘制。
DynBuf除了向Choreographer发送提前绘制的指令,还会向滑动模块返回一个时间戳和滑动位置曲线。其中,返回的时间戳的作用是,滑动模块根据时间戳和滑动位置曲线确定显示屏中的图像包含的各组件在当前时刻的位置。本申请实施例不对时间戳的表现形式加以限定,示例性地,时间戳可以以时间的形式表示当前时刻,也即时间戳的单位为毫秒等,此外,时间戳也可以以信号周期的数量表示当前时刻,例如时间戳为2个信号周期,且一个信号周期是16.6ms,则表示当前时刻为第二个信号周期到来的时刻,也即33.2ms时。
示例性地,滑动位置曲线的确定方式可以为,DynBuf通过整合当前时刻之前的时间戳以及不同时间戳对应的各组件的滑动位置信息计算出滑动曲线。也可以理解为,该滑动曲线可以反映在不同时间戳下各组件的滑动位置。滑动模块基于DynBuf发送的时间戳查找曲线,确定该时间戳对应的位置信息即可。
滑动模块确定各组件在当前时刻的位置信息之后,将位置信息发送至Choreographer,Choreographer基于各组件的位置执行其他回调(callback)函数,以处理遍历(traversal)事件、布局(layout)事件等,完成对当前时刻对应的图像的待绘制图层的绘制操作。
待绘制图层绘制完成后,还需要利用渲染线程(Render Thread)对绘制完成的图层进行渲染操作,渲染操作完成后,将渲染完成的图层缓存储在缓冲区(Buffer),然后将Buffer放入缓冲区队列(Buffer Queue)。随后,SF模块消耗缓冲区(Buffer),也即SF模块对渲染完成的图层进行合并操作,得到图像帧,然后将图像帧发送至液晶显示面板(LCD)进行显示。
需要说明的是,若DynBuf向Choreographer发送了提前绘制的指令,在Choreographer完成对当前时刻对应的图像的待绘制图层的绘制操作,将绘制完成的图层发送至渲染线程进行渲染之后,可以立即开始绘制下一时刻对应的图像的待绘制图层,然后再次将绘制完成的下一时刻对应的图像的待绘制图层发送至渲染线程进行渲染、合成图层得到图像帧,以及发送至LCD驱动利用LCD进行显示。可以理解,下一时刻对应的图像的处理操作与上述当前时刻对应的图像的处理操作原理相似,此处不再赘述。
为便于描述,本申请均以电子设备为手机为例进行后续介绍。下面基于上述电子设备中的部分结构对本申请实施例涉及的显示方法进行详细介绍。
以电子设备包括第一滑动模块和第二滑动模块为例,图6示出了本申请实施例提供的显示方法中各模块的交互过程的示意图。如图6所示,该方法包括如下步骤:
601:SF模块向Choreographer发送VSync_APP信号。
可以理解,SF模块根据电子设备的显示屏的帧率确定VSync_APP信号的信号周期,然后根据该信号周期周期性地向Choreographer发送VSync_APP信号。示例性地,根据前文内容,若电子设备的显示屏的帧率为60Hz,那么信号周期则为16.6ms。也即,SF模块每隔16.6ms向Choreographer发送一次VSync_APP信号。
602:Choreographer处理当前时刻对应的目标图像的待绘制图层的动画(animation)事件,得到目标图像的待绘制图层中的各组件的位置信息,并将处理动画事件过程中得到的目标滑动模块的状态发送至DynBuf。
示例性地,Choreographer接收到VSync_APP信号之前,可以处于睡眠(sleep)状态,当接收到SF模块发送的VSync_APP信号之后,Choreographer便可以开始处理目标图像的待绘制图层的动画事件。在示例性实施例中,Choreographer处理目标图像的待绘制图层的动画事件也可以理解为Choreographer通过执行animation回调函数处理动画事件,具体地,Choreographer可以通过执行animation回调函数计算电子设备的显示屏中目标图像的待绘制图层包括的各组件在当前时刻的位置。其中,一个组件对应待绘制图层的一个部分。例如,待绘制图层中的一个图画对应一个组件,一个文字对应一个组件等。基于各组件在当前时刻的位置,Choreographer便可以按照各组件的位置在显示屏中进行绘制操作。
可以理解,在本申请实施例中,电子设备包括第一滑动模块和第二滑动模块,第一滑动模块可以对应显示屏中的第一图像,第二滑动模块可以对应显示屏中的第二图像,因此,Choreographer接收到SF模块发送的VSync_APP信号之后,若第一图像和第二图像均处于滑动中状态,则Choreographer需要分别对第一图像的待绘制图层和第二图像的待绘制图层处理动画事件。同理,若第一图像处于滑动中状态,但是第二图像未处于滑动中状态,则Choreographer只需要对第一图像的待绘制图层处理动画事件。由此可知,目标图像可以为第一图像,也可以为第二图像,还可以为第一图像和第二图像。
具体地,Choreographer处理当前时刻对应的目标图像的待绘制图层的动画(animation)事件可以包括如下步骤(图中未示出):
6021:Choreographer控制目标滑动模块更新目标图像的滑动状态。
可以理解,当前时刻显示屏中的目标图像的滑动状态包括但不限于滑动开始状态、滑动结束状态以及处于滑动中状态。此外,根据前文内容可知,若目标图像为第一图像,则目标滑动模块为第一滑动模块;若目标图像为第二图像,则目标滑动模块为第二为滑动模块;若目标图像为第一图像和第二图像,则目标滑动模块为第一滑动模块和第二滑动模块。
6022:Choreographer控制目标滑动模块将更新的滑动状态发送至DynBuf。
其中,DynBuf接收到更新的滑动状态之后,可以根据该滑动状态确定是否需要提前绘制。若滑动模块的状态为滑动开始状态或者滑动中状态,DynBuf则会向Choreographer下发提前绘制指令,表示当前时刻可以进行提前绘制;若滑动模块的状态为滑动结束状态,则DynBuf则会停止向Choreographer下发提前绘制指令,表示不再需要提前绘制。
6023:DynBuf将更新后的时间戳和计算的滑动位置曲线发送至目标滑动模块。
其中,更新后的时间戳用于表征当前时刻。也可以理解为,Choreographer接收到VSync_APP信号时,并不知道当前时刻的具体时间,又因为后续需要根据当前时刻确定当前时刻显示屏中各组件的位置信息,以完成对当前时刻的目标图像的绘制,因此,当前时刻(也即更新后的时间戳)由DynBuf发送至滑动模块。此外,DynBuf还可以计算显示屏中各组件的滑动位置曲线。示例性地,DynBuf可以基于整合当前时刻之前的时间戳以及不同时间戳对应的各组件的滑动位置信息计算出滑动位置曲线。也可以理解为,该滑动曲线可以反映在不同时间戳下各组件的滑动的位置信息。
6024:目标滑动模块根据时间戳和滑动位置曲线计算当前时刻显示屏中各组件的位置。
目标滑动模块获取到当前的时间戳和滑动位置曲线之后,基于该时间戳就可以在滑动位置曲线中找到该时间戳对应的滑动位置,便可以确定出目标图像的待绘制图层中各组件在当前时刻在显示屏中所处的位置。
603:Choreographer基于各组件的位置执行遍历(traversal)事件、布局(layout)事件等,完成对当前时刻对应的目标图像的待绘制图层的绘制操作。
Choreographer通过目标滑动模块得到各组件在当前时刻的位置之后,便可以执行原生操作,例如遍历事件和布局事件等。其中,遍历事件是指沿着某条搜索路线,依次对每个结点均做一次且仅做一次访问。布局事件为根据各组件在当前时刻的位置重新绘制显示屏中的待绘制图层的事件。在本申请实施例中,遍历时间和布局事件共同作用,可以通过遍历各组件对应的位置信息绘制当前时刻对应的目标图像的待绘制图层。
可以理解,Choreographer处理完当前时刻的布局事件之后,便完成了对当前时刻对应的目标图像的待绘制图层的绘制操作。
604:Choreographer向Render线程发送绘制完成的目标图像的待绘制图层。
其中,Choreographer向Render线程发送绘制完成的目标图像的待绘制图层的过程也可以理解为Choreographer与Render线程同步绘制完毕的图像的待绘制图层。
605:Render线程对绘制完成的目标图像的待绘制图层进行渲染操作,将渲染后的目标图像的待绘制图层存储于缓冲区(Buffer),将Buffer放入缓冲区队列(BufferQueue)。
可以理解,在对目标图像的待绘制图层进行绘制和渲染的过程中,通常需要将绘制或渲染的图像的待绘制图层缓存在对应的缓冲区中。在正常绘制过程中,DynBuf模块通常会提供四个缓冲区(Buffer),以供不同时刻对应的不同图像的待绘制图层进行绘制、渲染操作等。
606:SF模块获取并消耗缓冲区队列中的缓冲区,对渲染得到的目标图像的待绘制图层进行合并操作,得到目标图像帧。
因为Buffer Queue用于App端和SF端的SF模块之间的图像传递,所以SF模块可以获取App端缓冲区队列中的包含目标图像的待绘制图层的缓冲区,然后对缓冲区中的目标图像的待绘制图层进行合并操作,得到目标图像帧。
607:SF模块将目标图像帧发送至LCD驱动。
其中,LCD驱动是为了调整在液晶显示器电极上施加的电位信号的相位、峰值、频率等,建立驱动电场,实现液晶显示器的显示效果的芯片装置。可以理解,LCD驱动可以控制液晶显示面板显示图像帧。
608:LCD驱动通过液晶显示面板(LCD)显示目标图像帧。
609:DynBuf分析Choreographer发送的目标滑动模块的状态是否为滑动状态,若是,DynBuf向Choreographer发送提前绘制的指令。
在本申请实施例中,提前绘制的指令的下发是由DynBuf根据目标滑动模块检测到的滑动状态确定的。由前文所述内容可知,目标滑动可以为第一滑动模块,也可以为第二滑动模块,还可以为第一滑动模块和第二滑动模块。因此,若目标滑动模块为第一滑动模块,则该步骤中,DynBuf根据第一滑动模块的状态确定是否下发提前绘制的指令。若目标滑动模块为第二滑动模块,则该步骤中,DynBuf根据第二滑动模块的状态确定是否下发提前绘制的指令。若目标滑动模块为第一滑动模块和第二滑动模块,则若两个滑动模块中至少一个滑动模块处于滑动状态时,DynBuf便会下发提前绘制指令。
示例性地,目标滑动模块可以确定显示屏中的目标图像在当前时刻的滑动状态,然后将该状态发送至DynBuf。其中,目标滑动模块检测到的滑动状态也可以简称为目标滑动模块的状态。目标滑动模块的状态包括但不限于滑动开始状态、滑动中状态和滑动结束状态。
示例性地,若目标滑动模块的滑动状态为滑动中状态,则DynBuf可以向Choreographer发送提前绘制的指令,表示当前时刻可以进行提前绘制;若目标滑动模块的滑动状态为滑动结束状态,则DynBuf不会向Choreographer发送提前绘制的指令,也即不需要Choreographer进行提前绘制操作。示例性地,DynBuf获取滑动模块的状态的方式可以为,Choreographer控制目标滑动模块获取到当前时刻对应的目标图像的滑动状态之后,将滑动状态发送至DynBuf模块。
由上述内容可知,若当前时刻对应的目标图像的状态为滑动中状态时,DynBuf向Choreographer发送提前绘制的指令,该指令用于指示在当前时刻对应的目标图像的待绘制图层的绘制操作完成之后,可以立即开始下一时刻对应的图像的待绘制图层的绘制操作。示例性地,若t1时刻对应的目标图像的待绘制图层的绘制操作在tm时刻绘制完成,且此时VSync_APP信号还未在t2时刻到来,也即tm<t2,此时便可以直接开始绘制tm时刻对应的图像的待绘制图层,无需等到t2时刻的VSync_APP信号到来再进行绘制操作。
此外,因为本申请实施例中的电子设备包含第一滑动模块和第二滑动模块,因此,本申请实施例增加了分别判断两个滑动模块的状态的方式,该方式对应的判断逻辑可如下。
首先,若滑动模块的状态为滑动中状态,那么,滑动模块的状态mIsFling将会被设置为True。然后将处于滑动中状态的滑动模块加入待分析模块组mOverScrollers中。若第一滑动模块和第二滑动模块的状态均为滑动中状态时,此时待分析模块组mOverScrollers中便同时存在第一滑动模块和第二滑动模块。示例性地,对应的逻辑表示可以为mOverScrollers = {overscroller_1, overscroller_2, ...},其中,overscroller_1代表第一滑动模块,overscroller_2代表第二滑动模块。
以待分析模块组mOverScrollers中便同时存在第一滑动模块和第二滑动模块为例,DynBuf向Choreographer发送提前绘制的指令,用于指示Choreographer对第一滑动模块和第二滑动模块分别对应的显示屏中的第一图像的待绘制图层和第二图像的待绘制图层进行提前绘制操作。
若第一滑动模块的状态变为滑动结束状态,那么,滑动模块的状态mIsFling将会被设置为False,就将该第一滑动模块从待分析模块组中删除,也即,不再对第一滑动模块对应的第一图像的待绘制图层进行提前绘制操作。删除第一滑动模块之后,判断待分析模块组中是否还有其他滑动模块,如果待分析模块组中没有其他滑动模块,则结束判断操作,DynBuf也不向再Choreographer发送提前绘制的指令;如果待分析模块组中存在其他滑动模块,便确定该其他滑动模块(第二滑动模块)的状态是否是滑动中状态。若是,则DynBuf继续向Choreographer发送提前绘制的指令,指示Choreographer继续对第二滑动模块对应的显示屏中的第二图像的待绘制图层进行提前绘制操作。若否,则DynBuf不向Choreographer发送提前绘制的指令,表示不再需要对第二滑动模块对应的第二图像的待绘制图层进行提前绘制操作,然后将第二滑动模块从待分析滑动模块组中删除。
610:Choreographer对当前时刻的下一时刻对应的第三图像的待绘制图层进行绘制操作。
611:Choreographer向Render线程发送绘制完成的第三图像的待绘制图层。
612:Render线程对绘制完成的第三图像的待绘制图层进行渲染操作,将渲染后的第三图像的待绘制图层存储于缓冲区(Buffer),将Buffer放入缓冲区队列(BufferQueue)。
但若需要进行提前绘制,原本提供的四个缓冲区可以支撑完成绘制的时间间隔变短,导致缓冲区数量不足以支持图像的待绘制图层的提前绘制操作,依旧会导致显示屏中图像显示卡顿等现象。因此,此种情况下,可以增加DynBuf模块中的缓冲区的数量,提升图像显示的流畅度。
613:SF模块获取并消耗缓冲区队列中的缓冲区,对渲染得到的第三图像的待绘制图层进行合并操作,得到第三图像帧。
614:SF模块将第三图像帧发送至LCD驱动。
615:LCD驱动通过液晶显示面板(LCD)显示第三图像帧。
其中,上述步骤610至步骤615与前文步骤603至步骤608的内容原理相似,此处不再赘述。
下面对一些实施例中的显示方法的原理进行说明。
一些实施例在对图像的显示过程中采用的提前绘制操作,在图1所示的场景下,只要检测到双滑动模块中任一个滑动模块的滑动结束状态,便会结束所有滑动模块对应的显示屏中图像的待绘制图层的提前绘制操作。若此时还有其他滑动模块的状态为滑动中状态,那么,处于滑动中状态的滑动模块对应的图像的待绘制图层便无法进行提前绘制操作。
具体地,可参见图7A,图7A示出了双滑动模块情况下提前绘制的生效时间的示意图。图7A中包括第一滑动模块和第二滑动模块,且第一滑动模块和第二滑动模块分别对应一个具有阴影的矩形,第一滑动模块对应的矩形最左端的边001对应的时刻表示滑动开始的时刻,矩形最右端的边002表示滑动结束的时刻。由图7A可知,第二滑动模块与第一滑动模块的滑动开始的时刻相同,但是一些情况中第二滑动模块比第一滑动模块提前结束滑动。此种情况下,将不再进行提前绘制操作,因此,此种情况下,该方法中的提前绘制的生效时间如图7A中的虚线框003所示。但是此时,第一滑动模块还处于滑动中的状态,若此时对第一滑动模块对应的显示屏中的图像结束提前绘制操作,也即图7A中的004对应的时间段内的图像处理不采用提前绘制的方式,此种方式依旧可能使得该图像的滑动过程出现卡顿现象。
由上述内容可知,对于电子设备具备双滑动模块,且双滑动模块的滑动结束状态的时间不同的情况,上述引入提前绘制的方法在一个滑动模块处于滑动结束状态,但另一个滑动模块依旧处于滑动中状态时,无法对仍处于滑动中状态的滑动模块对应的图像采用提前绘制操作,可能会导致图像的滑动过程中的卡顿现象,降低用户的使用体验。
图7B示出了本申请和相关技术中提前绘制生效的时机的示意图。具体地,如图7B所示,图7B中的A1图中包括第一滑动模块和第二滑动模块。第一滑动模块对应的填充部分代表图像处于滑动状态。根据A1图可知,第一滑动模块和第二滑动模块的开始滑动时间和结束滑动时间相同,此种情况下的相关技术中提前绘制的生效时间也相同(如A1图中的虚线框701所示)。对于A1图中的第一滑动模块和第二滑动模块的开始滑动时间和结束滑动时间相同的情况,如A2图所示,本申请提供的方法中提前绘制的生效时间与相关技术中提前绘制的生效时间相同(如A2图中的虚线框702所示)。
根据B1图可知,第一滑动模块先开始滑动,然后结束滑动,第二滑动模块在第一滑动模块结束滑动之后开始滑动,然后结束滑动,此种情况下的相关技术中第一滑动模块对应的图像的提前绘制生效时间如B1图中的703所示,第二滑动模块对应的图像的提前绘制生效时间如B1图中的704所示。对于B1图中的第一滑动模块结束滑动之后,第二滑动模块开始滑动的情况,如B2图所示,本申请提供的方法中,第一滑动模块和第二滑动模块的提前绘制的生效时间与相关技术中提前绘制的生效时间相同(如B2图中的虚线框705和706所示)。
根据C1图可知,第一滑动模块和第二滑动模块的开始滑动时间相同,但是第一滑动模块比第二滑动模块的结束滑动时间稍晚,此种情况下的相关技术中提前绘制的生效时间可如C1图中的虚线框707所示,也即提前绘制并没有在第一滑动模块对应的708部分的滑动中状态下生效。对于C1图中的第一滑动模块和第二滑动模块的开始滑动时间相同,但是第一滑动模块比第二滑动模块的结束滑动时间稍晚的情况,如C2图所示,本申请提供的方法中提前绘制的生效时间可如C2图中的虚线框709所示,也即提前绘制在第一滑动模块和第二滑动模块为滑动中状态下均生效。
根据D1图可知,第一滑动模块先开始滑动,然后第二滑动模块再开始滑动,且第一滑动模块先结束滑动,第二滑动模块随后结束滑动,此种情况下的相关技术中提前绘制的生效时间可如D1图中的虚线框710所示,也即提前绘制并没有在第二滑动模块对应的711部分的滑动中状态下生效。对于D1图中的第一滑动模块和第二滑动模块的滑动情况,如D2图所示,本申请提供的方法中提前绘制的生效时间可如D2图中的虚线框712所示,也即提前绘制在第一滑动模块和第二滑动模块为滑动中状态下均生效。
因此,由上述内容可知,相比于相关技术中,一个滑动模块滑动结束之后,无论其他滑动模块是否处于滑动中,均不会进行提前绘制的方法,本申请实施例提供的技术方案,在两个滑动模块分别对应不同的图像情况下,若一个滑动模块结束滑动,还会判断另一个滑动模块的状态,若该另一个滑动模块的状态是滑动中状态,则继续对该另一个滑动模块对应的显示屏中的图像的待绘制图层进行提前绘制操作,避免了双滑动模块情况下图像滑动状态下的卡顿现象。
图8示出了电子设备800的结构示意图。电子设备800可以包括处理器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,以及用户标识模块(subscriberidentification module,SIM)卡接口195等。其中传感器模块180可以包括压力传感器180A,陀螺仪传感器180B,气压传感器180C,磁传感器180D,加速度传感器180E,距离传感器180F,接近光传感器180G,指纹传感器180H,温度传感器180J,触摸传感器180K,环境光传感器180L等。
可以理解的是,本发明实施例示意的结构并不构成对电子设备800的具体限定。在本申请另一些实施例中,电子设备800可以包括比图示更多或更少的部件,或者组合某些部件,或者拆分某些部件,或者不同的部件布置。图示的部件可以以硬件,软件或软件和硬件的组合实现。
处理器110可以包括一个或多个处理单元,例如:处理器110可以包括应用处理器(application processor,AP),调制解调处理器,图形处理器(graphics processingunit,GPU),图像信号处理器(image signal processor,ISP),控制器,视频编解码器,数字信号处理器(digital signal processor,DSP),基带处理器,和/或神经网络处理器(neural-network processing unit,NPU)等。其中,不同的处理单元可以是独立的器件,也可以集成在一个或多个处理器中。
控制器可以根据指令操作码和时序信号,产生操作控制信号,完成取指令和执行指令的控制。
处理器110中还可以设置存储器,用于存储指令和数据。在一些实施例中,处理器110中的存储器为高速缓冲存储器。该存储器可以保存处理器110刚用过或循环使用的指令或数据。如果处理器110需要再次使用该指令或数据,可从上述存储器中直接调用。避免了重复存取,减少了处理器110的等待时间,因而提高了系统的效率。处理器可以用于执行本申请提及的显示方法。
电子设备800的无线通信功能可以通过天线1,天线2,移动通信模块150,无线通信模块160,调制解调处理器以及基带处理器等实现。
天线1和天线2用于发射和接收电磁波信号。电子设备800中的每个天线可用于覆盖单个或多个通信频带。不同的天线还可以复用,以提高天线的利用率。例如:可以将天线1复用为无线局域网的分集天线。在另外一些实施例中,天线可以和调谐开关结合使用。
移动通信模块150可以提供应用在电子设备800上的包括2G/3G/4G/5G等无线通信的解决方案。
调制解调处理器可以包括调制器和解调器。其中,调制器用于将待发送的低频基带信号调制成中高频信号。解调器用于将接收的电磁波信号解调为低频基带信号。随后解调器将解调得到的低频基带信号传送至基带处理器处理。低频基带信号经基带处理器处理后,被传递给应用处理器。应用处理器通过音频设备(不限于扬声器170A,受话器170B等)输出声音信号,或通过显示屏194显示图像或视频。在一些实施例中,调制解调处理器可以是独立的器件。在另一些实施例中,调制解调处理器可以独立于处理器110,与移动通信模块150或其他功能模块设置在同一个器件中。
无线通信模块160可以提供应用在电子设备800上的包括无线局域网(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转为电磁波辐射出去。
在一些实施例中,电子设备800的天线1和移动通信模块150耦合,天线2和无线通信模块160耦合,使得电子设备800可以通过无线通信技术与网络以及其他设备通信。电子设备800通过GPU,显示屏194,以及应用处理器等实现显示功能。GPU为图像处理的微处理器,连接显示屏194和应用处理器。GPU用于执行数学和几何计算,用于图形渲染。处理器110可包括一个或多个GPU,其执行程序指令以生成或改变显示信息。
外部存储器接口120可以用于连接外部存储卡,例如Micro SD卡,实现扩展电子设备800的存储能力。外部存储卡通过外部存储器接口120与处理器110通信,实现数据存储功能。例如将音乐,视频等文件保存在外部存储卡中。
内部存储器121可以用于存储计算机可执行程序代码,该可执行程序代码包括指令。内部存储器121可以包括存储程序区和存储数据区。其中,存储程序区可存储操作系统,至少一个功能所需的应用程序(比如声音播放功能,图像播放功能等)等。存储数据区可存储电子设备800使用过程中所创建的数据(比如音频数据,电话本等)等。此外,内部存储器121可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件,闪存器件,通用闪存存储器(universal flash storage,UFS)等。处理器110通过运行存储在内部存储器121的指令,和/或存储在设置于处理器中的存储器的指令,执行电子设备800的各种功能应用以及数据处理。
SIM卡接口195用于连接SIM卡。
可以理解,如本文所使用的,术语“模块”可以指代或者包括专用集成电路(ASIC)、电子电路、执行一个或多个软件或固件程序的处理器(共享、专用、或群组)和/或存储器、组合逻辑电路、和/或提供所描述的功能的其他适当硬件组件,或者可以作为这些硬件组件的一部分。
可以理解,在本申请各实施例中,处理器可以是微处理器、数字信号处理器、微控制器等,和/或其任何组合。根据另一个方面,所述
处理器可以是单核处理器,多核处理器等,和/或其任何组合。
本申请公开的各实施例可以被实现在硬件、软件、固件或这些实现方法的组合中。本申请的实施例可实现为在可编程系统上执行的计算机程序或程序代码,该可编程系统包括至少一个处理器、存储系统(包括易失性和非易失性存储器和/或存储元件)、至少一个输入设备以及至少一个输出设备。
可将程序代码应用于输入指令,以执行本申请描述的各功能并生成输出信息。可以按已知方式将输出信息应用于一个或多个输出设备。为了本申请的目的,处理系统包括具有诸如例如数字信号处理器(DSP)、微控制器、专用集成电路(ASIC)或微处理器之类的处理器的任何系统。
程序代码可以用高级程序化语言或面向对象的编程语言来实现,以便与处理系统通信。在需要时,也可用汇编语言或机器语言来实现程序代码。事实上,本申请中描述的机制不限于任何特定编程语言的范围。在任一情形下,该语言可以是编译语言或解释语言。
在一些情况下,所公开的实施例可以以硬件、固件、软件或其任何组合来实现。所公开的实施例还可以被实现为由一个或多个暂时或非暂时性机器可读(例如,计算机可读)存储介质承载或存储在其上的指令,其可以由一个或多个处理器读取和执行。例如,指令可以通过网络或通过其他计算机可读介质分发。因此,机器可读介质可以包括用于以机器(例如,计算机)可读的形式存储或传输信息的任何机制,包括但不限于,软盘、光盘、光碟、只读存储器(CD-ROMs)、磁光盘、只读存储器(ROM)、随机存取存储器(RAM)、可擦除可编程只读存储器(EPROM)、电可擦除可编程只读存储器(EEPROM)、磁卡或光卡、闪存、或用于利用因特网以电、光、声或其他形式的传播信号来传输信息(例如,载波、红外信号数字信号等)的有形的机器可读存储器。因此,机器可读介质包括适合于以机器(例如,计算机)可读的形式存储或传输电子指令或信息的任何类型的机器可读介质。
在附图中,可以以特定布置和/或顺序示出一些结构或方法特征。然而,应该理解,可能不需要这样的特定布置和/或排序。而是,在一些实施例中,这些特征可以以不同于说明性附图中所示的方式和/或顺序来布置。另外,在特定图中包括结构或方法特征并不意味着暗示在所有实施例中都需要这样的特征,并且在一些实施例中,可以不包括这些特征或者可以与其他特征组合。
需要说明的是,本申请各设备实施例中提到的各单元/模块都是逻辑单元/模块,在物理上,一个逻辑单元/模块可以是一个物理单元/模块,也可以是一个物理单元/模块的一部分,还可以以多个物理单元/模块的组合实现,这些逻辑单元/模块本身的物理实现方式并不是最重要的,这些逻辑单元/模块所实现的功能的组合才是解决本申请所提出的技术问题的关键。此外,为了突出本申请的创新部分,本申请上述各设备实施例并没有将与解决本申请所提出的技术问题关系不太密切的单元/模块引入,这并不表明上述设备实施例并不存在其它的单元/模块。
需要说明的是,在本专利的示例和说明书中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
虽然通过参照本申请的某些优选实施例,已经对本申请进行了图示和描述,但本领域的普通技术人员应该明白,可以在形式上和细节上对其作各种改变,而不偏离本申请的范围。

Claims (10)

1.一种显示方法,应用于电子设备,其特征在于,包括:
显示第一界面,所述第一界面包括第一图像和第二图像,所述第一图像和所述第二图像的状态分别由所述电子设备中的不同的滑动模块监控,所述第一界面通过不同显示屏分别显示所述第一图像和所述第二图像,或者,所述第一界面通过一个显示屏中的不同区域显示所述第一图像和所述第二图像;
检测到所述第一图像和所述第二图像同时处于滑动状态,采用第一绘制方式绘制所述第一图像的待绘制图层和所述第二图像的待绘制图层;
检测到所述第一图像处于滑动状态并且所述第二图像处于滑动停止状态,继续采用所述第一绘制方式绘制所述第一图像对应的待绘制图层,并停止对所述第二图像的待绘制图层的绘制操作;
基于绘制完成的待绘制图层得到待显示图像帧,并在所述第一界面中显示所述待显示图像帧;
其中,所述第一绘制方式包括:接收到第一同步消息,绘制第一待绘制图层,并且在绘制完所述第一待绘制图层且未接收到第二同步消息的情况下,开始绘制第二待绘制图层。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
检测到所述第一图像和所述第二图像均处于滑动停止状态,停止基于所述第一绘制方式对所述第一图像和所述第二图像分别对应的待绘制图层的绘制操作。
3.根据权利要求1所述的方法,其特征在于,所述电子设备包括第一滑动模块和第二滑动模块,所述检测到所述第一图像和所述第二图像同时处于滑动状态,包括:
若所述第一滑动模块的状态为滑动状态,且所述第二滑动模块的状态为滑动状态,确定所述第一图像和所述第二图像同时处于滑动状态;
若所述第一滑动模块的状态为滑动状态,且所述第二滑动模块的状态为滑动停止状态,确定所述第一图像处于滑动状态并且所述第二图像处于滑动停止状态;
其中,所述第一滑动模块的状态用于反映所述第一图像的滑动状态,所述第二滑动模块的状态用于反映所述第二图像的滑动状态。
4.根据权利要求3所述的方法,其特征在于,所述方法还包括:
若所述第一滑动模块和所述第二滑动模块的状态均为滑动状态,将所述第一滑动模块和所述第二滑动模块的标识均设置为第一标识;
基于所述第一滑动模块和所述第二滑动模块的标识均为所述第一标识,将所述第一滑动模块和所述第二滑动模块加入至待分析模块组,采用所述第一绘制方式绘制所述待分析模块组中包含的滑动模块分别对应的图像的待绘制图层;
若所述第一滑动模块的状态为滑动状态并且所述第二滑动模块的状态为滑动停止状态,将所述第二滑动模块的标识设置为第二标识;
基于所述第二滑动模块的标识为所述第二标识,从所述待分析模块组中删除所述第二滑动模块,继续采用所述第一绘制方式绘制所述第一图像对应的待绘制图层,并停止基于所述第一绘制方式对所述第二图像的待绘制图层的绘制操作。
5.根据权利要求4所述的方法,其特征在于,所述方法还包括:
若所述第一滑动模块的状态为滑动停止状态,将所述第一滑动模块的标识设置为所述第二标识;
基于所述第一滑动模块的标识为所述第二标识,从所述待分析模块组中删除所述第一滑动模块,并停止基于所述第一绘制方式对所述第一图像的待绘制图层的绘制操作。
6.根据权利要求5所述的方法,其特征在于,所述方法还包括:
若所述待分析模块组中不存在滑动模块,则停止基于所述第一绘制方式对所述第一图像和所述第二图像分别对应的待绘制图层的绘制操作。
7.根据权利要求3所述的方法,其特征在于,所述电子设备还包括编舞者模块和动态缓冲区,所述检测到所述第一图像和所述第二图像同时处于滑动状态,采用第一绘制方式绘制所述第一图像的待绘制图层和所述第二图像的待绘制图层,包括:
所述动态缓冲区根据所述第一滑动模块的状态检测到所述第一图像处于滑动状态,且根据所述第二滑动模块的状态检测到所述第二图像处于滑动状态之后,将进行所述第一绘制方式的指令发送至所述编舞者模块;
所述编舞者模块根据所述第一绘制方式的指令采用所述第一绘制方式绘制所述第一图像的待绘制图层和所述第二图像的待绘制图层。
8.根据权利要求1-7任一所述的方法,其特征在于,所述电子设备包括渲染线程、显示合并模块和硬件显示模块;所述基于绘制完成的待绘制图层得到待显示图像帧,并在所述第一界面中显示所述待显示图像帧,包括:
将采用所述第一绘制方式绘制完成的待绘制图层发送至所述渲染线程进行渲染操作,得到渲染后的待合并图层;
所述渲染线程将所述渲染后的待合并图层发送至所述显示合并模块进行合并操作,得到待显示图像帧;
所述显示合并模块将所述待显示图像帧发送至所述硬件显示模块;
所述硬件显示模块通过所述电子设备的显示屏在所述第一界面中显示所述待显示图像帧。
9.一种电子设备,其特征在于,包括:一个或多个处理器;一个或多个存储器;所述一个或多个存储器存储有一个或多个程序,当所述一个或者多个程序被所述一个或多个处理器执行时,使得所述电子设备执行权利要求1至8中任一项所述的显示方法。
10.一种计算机可读存储介质,其特征在于,所述可读存储介质上存储有指令,所述指令在计算机上执行时使所述计算机执行权利要求1至8中任一项所述的显示方法。
CN202310880429.3A 2023-07-18 2023-07-18 显示方法、设备及可读存储介质 Active CN116594543B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310880429.3A CN116594543B (zh) 2023-07-18 2023-07-18 显示方法、设备及可读存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310880429.3A CN116594543B (zh) 2023-07-18 2023-07-18 显示方法、设备及可读存储介质

Publications (2)

Publication Number Publication Date
CN116594543A CN116594543A (zh) 2023-08-15
CN116594543B true CN116594543B (zh) 2024-03-26

Family

ID=87606660

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310880429.3A Active CN116594543B (zh) 2023-07-18 2023-07-18 显示方法、设备及可读存储介质

Country Status (1)

Country Link
CN (1) CN116594543B (zh)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110503708A (zh) * 2019-07-03 2019-11-26 华为技术有限公司 一种基于垂直同步信号的图像处理方法及电子设备
CN113553130A (zh) * 2021-03-24 2021-10-26 华为技术有限公司 应用执行绘制操作的方法及电子设备
WO2022021895A1 (zh) * 2020-07-31 2022-02-03 荣耀终端有限公司 一种图像处理方法及电子设备

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110503708A (zh) * 2019-07-03 2019-11-26 华为技术有限公司 一种基于垂直同步信号的图像处理方法及电子设备
WO2022021895A1 (zh) * 2020-07-31 2022-02-03 荣耀终端有限公司 一种图像处理方法及电子设备
CN114092595A (zh) * 2020-07-31 2022-02-25 荣耀终端有限公司 一种图像处理方法及电子设备
CN115631258A (zh) * 2020-07-31 2023-01-20 荣耀终端有限公司 一种图像处理方法及电子设备
CN113553130A (zh) * 2021-03-24 2021-10-26 华为技术有限公司 应用执行绘制操作的方法及电子设备

Also Published As

Publication number Publication date
CN116594543A (zh) 2023-08-15

Similar Documents

Publication Publication Date Title
CN113553014B (zh) 多窗口投屏场景下的应用界面显示方法及电子设备
CN114003324A (zh) 多个应用组合且同时启动多个应用的方法及电子设备
CN113761427A (zh) 自适应生成卡片的方法、终端设备和服务器
US11107423B2 (en) Method and device for controlling backlight, and display device
CN112527222A (zh) 一种信息处理方法及电子设备
CN114764357B (zh) 界面显示过程中的插帧方法及终端设备
CN116052618B (zh) 一种屏幕刷新率切换方法及电子设备
CN116450251A (zh) 一种适配多设备的页面布局的方法及电子设备
JP2023551670A (ja) ページ切替表示方法、装置、記憶媒体及び電子機器
CN114489529A (zh) 电子设备的投屏方法及其介质和电子设备
WO2022156721A1 (zh) 一种拍摄方法及电子设备
CN114827696B (zh) 一种跨设备的音视频数据同步播放的方法和电子设备
CN112905280B (zh) 页面显示方法、装置、设备及存储介质
CN114245090A (zh) 图像投影方法、激光投影设备及计算机可读存储介质
CN116166256A (zh) 界面生成方法及电子设备
CN116594543B (zh) 显示方法、设备及可读存储介质
CN114915745A (zh) 多景录像方法、装置及电子设备
CN112260845B (zh) 进行数据传输加速的方法和装置
CN116578375B (zh) 卡片显示方法及终端设备
CN116700655B (zh) 一种界面显示方法及电子设备
WO2022160999A1 (zh) 显示方法和电子设备
CN117689774A (zh) 一种动画跳帧方法及相关装置
WO2022083571A1 (zh) 电子设备及其功能设置的提示方法、提示文件的播放方法
WO2023185590A1 (zh) 媒体信息的获取方法及电子设备
CN116719587A (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