CN114595021B - 花屏修复方法、装置、电子设备、芯片及存储介质 - Google Patents

花屏修复方法、装置、电子设备、芯片及存储介质 Download PDF

Info

Publication number
CN114595021B
CN114595021B CN202210240572.1A CN202210240572A CN114595021B CN 114595021 B CN114595021 B CN 114595021B CN 202210240572 A CN202210240572 A CN 202210240572A CN 114595021 B CN114595021 B CN 114595021B
Authority
CN
China
Prior art keywords
screen
frame buffer
area
background picture
repairing
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
CN202210240572.1A
Other languages
English (en)
Other versions
CN114595021A (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.)
Guangdong Oppo Mobile Telecommunications Corp Ltd
Original Assignee
Guangdong Oppo Mobile Telecommunications Corp 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 Guangdong Oppo Mobile Telecommunications Corp Ltd filed Critical Guangdong Oppo Mobile Telecommunications Corp Ltd
Priority to CN202210240572.1A priority Critical patent/CN114595021B/zh
Publication of CN114595021A publication Critical patent/CN114595021A/zh
Application granted granted Critical
Publication of CN114595021B publication Critical patent/CN114595021B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/451Execution arrangements for user interfaces
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/50Controlling the output signals based on the game progress
    • A63F13/52Controlling the output signals based on the game progress involving aspects of the displayed game scene
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
    • A63F2300/30Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by output arrangements for receiving control signals generated by the game device
    • A63F2300/308Details of the user interface

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Multimedia (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

本申请适用于显示屏技术领域,提供了一种花屏修复方法、装置、电子设备、芯片及存储介质。所述花屏修复方法包括:在绘制预设应用程序的背景画面时,监听帧缓冲区操作,所述帧缓冲区操作是指对帧缓冲区的操作;在所述背景画面存在花屏区域的情况下,若监听到所述帧缓冲区操作,则钩住所述帧缓冲区操作;在钩住所述帧缓冲区操作的情况下,修复所述花屏区域。通过本申请可解决应用程序的界面出现背景花屏的问题。

Description

花屏修复方法、装置、电子设备、芯片及存储介质
技术领域
本申请属于显示屏技术领域,尤其涉及一种花屏修复方法、装置、电子设备、芯片及存储介质。
背景技术
随着显示屏技术的发展,出现了双面屏、瀑布屏、折叠屏等不同形态的屏幕。一些应用程序(例如游戏)难以适配市场上不同形态的屏幕的分辨率,如果游戏的分辨率不适配屏幕的分辨率,则将导致游戏界面出现背景花屏(即背景画面出现花屏现象)的问题。
发明内容
本申请实施例提供了一种花屏修改方法、装置、电子设备、芯片及存储介质,以解决应用程序的界面出现背景花屏的问题。
第一方面,本申请实施例提供了一种花屏修复方法,包括:
在绘制预设应用程序的背景画面时,监听帧缓冲区操作,所述帧缓冲区操作是指对帧缓冲区的操作;
在所述背景画面存在花屏区域的情况下,若监听到所述帧缓冲区操作,则钩住所述帧缓冲区操作;
在钩住所述帧缓冲区操作的情况下,修复所述花屏区域。
在本申请实施例中,通过在绘制预设应用程序的背景画面时监听帧缓冲区操作,可以在背景画面存在花屏区域的情况下钩住帧缓冲区操作,在钩住帧缓冲区操作的情况下修复花屏区域,可以在产生花屏现象之前对花屏区域进行修复,消除背景画面中的花屏现象,解决预设应用程序的界面出现背景花屏的问题。
第二方面,本申请实施例提供了一种花屏修复装置,包括:
操作监听模块,用于在绘制预设应用程序的背景画面时,监听帧缓冲区操作,所述帧缓冲区操作是指对帧缓冲区的操作;
操作处理模块,用于在所述背景画面存在花屏区域的情况下,若监听到所述帧缓冲区操作,则钩住所述帧缓冲区操作;
花屏修复模块,用于在钩住所述帧缓冲区操作的情况下,修复所述花屏区域。
第三方面,本申请实施例提供了一种电子设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如上述第一方面所述的花屏修复方法的步骤。
第四方面,本申请实施例提供了一种芯片,包括处理器,所述处理器用于读取并执行存储器中存储的计算机程序,以执行如上述第一方面所述的花屏修复方法的步骤。
可选地,所述存储器与所述处理器通过电路或电线连接。
第五方面,本申请实施例提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现如上述第一方面所述的花屏修复方法的步骤。
第六方面,本申请实施例提供了一种计算机程序产品,当所述计算机程序产品在电子设备上运行时,使得所述电子设备执行如上述第一方面所述的花屏修复方法的步骤。
可以理解地,上述提供的第二方面、第三方面、第四方面、第五方面和第六方面均用于执行上文所提供的对应的方法,因此,其所能达到的有益效果可以参考上文所提供的对应的方法中的有益效果,此处不再赘述。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是帧缓冲区与屏幕所显示画面的关系示例图;
图2是本申请一实施例提供的花屏修复方法的实现流程示意图;
图3是本申请另一实施例提供的花屏修复方法的实现流程示意图;
图4是本申请一实施例提供的花屏修复装置的结构示意图;
图5是本申请一实施例提供的电子设备的结构示意图。
具体实施方式
以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、技术之类的具体细节,以便透彻理解本申请实施例。然而,本领域的技术人员应当清楚,在没有这些具体细节的其它实施例中也可以实现本申请。在其它情况中,省略对众所周知的系统、装置、电路以及方法的详细说明,以免不必要的细节妨碍本申请的描述。
应当理解,当在本申请说明书和所附权利要求书中使用时,术语“包括”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。
还应当理解,在本申请说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。
如在本申请说明书和所附权利要求书中所使用的那样,术语“如果”可以依据上下文被解释为“当...时”或“一旦”或“响应于确定”或“响应于检测到”。类似地,短语“如果确定”或“如果检测到[所描述条件或事件]”可以依据上下文被解释为意指“一旦确定”或“响应于确定”或“一旦检测到[所描述条件或事件]”或“响应于检测到[所描述条件或事件]”。
另外,在本申请说明书和所附权利要求书的描述中,术语“第一”、“第二”、“第三”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
在本申请说明书中描述的参考“一个实施例”或“一些实施例”等意味着在本申请的一个或多个实施例中包括结合该实施例描述的特定特征、结构或特点。由此,在本说明书中的不同之处出现的语句“在一个实施例中”、“在一些实施例中”、“在其他一些实施例中”、“在另外一些实施例中”等不是必然都参考相同的实施例,而是意味着“一个或多个但不是所有的实施例”,除非是以其他方式另外特别强调。术语“包括”、“包含”、“具有”及它们的变形都意味着“包括但不限于”,除非是以其他方式另外特别强调。
在说明本申请方案之前,为了便于读者理解,先对本方案中所涉及的名词进行解释说明。
帧缓冲区简称帧缓存或显存,它是屏幕所显示画面的一个直接映象,又称为位映射图或光栅。帧缓冲区的每一存储单元对应屏幕上的一个像素,整个帧缓冲区对应一帧图像。如图1所示是帧缓冲区与屏幕所显示画面的关系示例图,显示控制器从帧缓冲区中读取图形数据,在屏幕上显示图形数据对应的画面。
帧缓冲区通常包括颜色缓冲区、深度缓冲区、模板缓冲区、累积缓冲区等。
颜色缓冲区用于存储屏幕上每个像素的颜色值。通过颜色缓冲区可以将渲染结果交换到屏幕上,在屏幕上显示画面。
深度缓冲区用于记录屏幕上每个像素的深度值。通过深度缓冲区可以进行深度测试,从而确定像素的遮挡关系,保证渲染正确。
模板缓冲区可以为屏幕上每个像素保存一个无符号的整数值,在渲染过程中,可以用这个值与一个预先设定的参考值相比较,根据比较结果来决定是否更新相应的像素的颜色值。
累积缓冲区允许在渲染到颜色缓冲区之后,把颜色缓冲区的值复制到累积缓冲区,这样可以把颜色缓冲区与累积缓冲区中的内容反复进行混合,用来进行模糊处理和抗锯齿。
开放图形库(Open Graphics Library,OpenGL)是用于渲染2D、3D矢量图形的跨语言、跨平台的应用程序编程接口(Application Programming Interface,API),它将计算机的资源抽象成一个个OpenGL的对象,对这些资源的操作抽象成一个个的OpenGL指令。
OpenGLES(OpenGL for Embeded System)是OpenGL的精简子集,针对手机、平板电脑和游戏主机等嵌入式设备而设计,各显卡制造商和系统制造商来实现这组API。
Vulkan是一个跨平台的用于2D和3D绘图应用程序编程接口。
DirectX(Direct eXtension,简称DX)是由微软公司创建的多媒体编程接口,是一种应用程序编程接口。DirectX可以让以Windows为平台的游戏或多媒体程序获得更高的执行效率,加强3D图形和声音效果,并提供设计人员一个共同的硬件驱动标准,让游戏开发者不必为每一品牌的硬件来写不同的驱动程序,也降低了用户安装及设置硬件的复杂度。
Metal是一种低层次的渲染应用程序编程接口,提供了软件所需的最低层,保证软件可以运行在不同的图形芯片上。相比于OpenGL,Metal能够为3D图像提高10倍的渲染性能。
Hook是Windows中提供的一种用以替换磁盘操作系统(Disk Operating System,DOS)下“中断”的系统机制,中文译为“挂钩”或“钩子”。在对特定的系统事件进行Hook后,一旦发生已Hook事件,对该事件进行Hook的程序就会收到系统的通知,这时程序就能在第一时间对该事件做出响应。
Hook实际上是一个处理消息的程序段,又称钩子函数,通过系统调用,把它挂入系统。每当特定的消息发出,在没有到达目的窗口前,钩子程序就先捕获该消息,亦即钩子函数先得到控制权。这时钩子函数可以加工处理(改变)该消息,也可以不作处理而继续传递该消息,还可以强制结束消息的传递。
Hook是使用技术手段在运行时动态地将额外代码依附现进程,从而实现替换现有处理逻辑或插入额外功能的目的。
为了方便理解,本实施例以游戏为例进行描述,但这并不构成对预设应用程序的限定。
为了解决游戏出现背景花屏的问题,在相关技术中,主要采用两种方案,第一种方案是游戏主动适配各种不同分辨率的屏幕,第二种方案是通过平台改变分配给游戏的分辨率来适配游戏。第一种方案需要在游戏中集成适配不同分辨率的屏幕的算法,会给游戏商带来极大的维护成本。第二种方案需要不同分辨率的屏幕适配游戏,会使得差异化的屏幕特性失去特点(即,会使得不同分辨率的屏幕在显示游戏界面时分辨率相同,无法体现不同分辨率的屏幕的特性)。本申请通过在绘制预设应用程序的背景画面时监听帧缓冲区操作,并在背景画面存在花屏区域的情况下钩住帧缓冲区操作,在钩住帧缓冲区操作的情况下修复花屏区域,可以在消除花屏影像的同时,减少游戏商的维护成本,并使得不同分辨率的屏幕保持差异化的屏幕特性,且本申请在实现花屏修复时,无需人工参与,能够在用户无感的情况下解决背景花屏的问题,使得同一游戏在不同形态屏幕上获得相对较好的用户体验。
本申请实施例提供的花屏修复方法可以应用于手机、平板电脑、可穿戴设备、车载设备、增强现实(augmented reality,AR)/虚拟现实(virtual reality,VR)设备、笔记本电脑、超级移动个人计算机(ultra-mobile personal computer,UMPC)、上网本、个人数字助理(personal digital assistant,PDA)等电子设备上,本申请实施例对电子设备的具体类型不作任何限制。
应理解,本实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。
为了说明本申请所述的技术方案,下面通过具体实施例来进行说明。
参见图2,是本申请一实施例提供的花屏修复方法的实现流程示意图,该花屏修复方法应用于电子设备。如图2所示,该花屏修复方法可以包括以下步骤:
步骤201,在绘制预设应用程序的背景画面时,监听帧缓冲区操作。
其中,帧缓冲区操作是指对帧缓冲区的操作,例如拉伸缩放缓冲区操作、清除缓冲区操作等,在此不做限定。帧缓冲区操作是绘制过程中的常用操作,通过这些操作可以将背景画面显示在屏幕上。
预设应用程序可以是指预先设置的可能出现背景花屏问题的应用程序(即可能与屏幕的分辨率不适配的应用程序),例如游戏,当然也可以是其他与屏幕的分辨率不适配的应用程序,在此不做限定。
在一应用场景中,用户可以从电子设备安装的应用程序中选择某个或者某些应用程序作为预设应用程序,例如电子设备显示自身所安装的应用程序的标识信息(例如图标或者名称),响应于对显示的标识信息的选择操作,将用户所选择的标识信息对应的应用程序作为预设应用程序。
在另一应用场景中,可以预先设置属于某一类型的应用程序作为预设应用程序,例如由于游戏类型的应用程序难以适配市场上不同形态的屏幕的分辨率,可以将游戏类型的应用程序作为预设应用程序。其中,可以按照应用程序的功能划分类型,例如游戏类型、购物类型、办公类型等。
在绘制预设应用程序的背景画面时,通过监听帧缓冲区操作,可以在执行帧缓冲区操作之前,完成背景画面的花屏修复,从而使得显示在屏幕上的背景画面中不存在花屏现象。
步骤202,在背景画面存在花屏区域的情况下,若监听到帧缓冲区操作,则钩住帧缓冲区操作。
在绘制预设应用程序的背景画面时,可以判断背景画面是否存在花屏区域,如果背景画面存在花屏区域且监听到帧缓冲区操作,则钩住帧缓冲区操作,以暂停帧缓冲区操作的执行,避免由于执行帧缓冲区操作导致屏幕上显示的背景画面出现花屏现象。如果背景画面不存在花屏区域,则无需继续监听帧缓冲区操作,也无需钩住帧缓冲区操作,可以执行帧缓冲区操作,以在屏幕上显示背景画面。
步骤203,在钩住帧缓冲区操作的情况下,修复花屏区域。
在钩住帧缓冲区操作的情况下修复花屏区域,可以保证在执行帧缓冲区操作之前,完成背景画面的花屏修复,从而使得显示在屏幕上的背景画面不存在花屏现象。其中,修复花屏区域可以是指消除背景画面中的花屏现象。
本申请实施例通过在绘制预设应用程序(例如游戏)的背景画面时监听帧缓冲区操作,可以在背景画面存在花屏区域的情况下钩住帧缓冲区操作,在钩住帧缓冲区操作的情况下修复花屏区域,可以在产生花屏现象之前对花屏区域进行修复,消除背景画面中的花屏现象。
参见图3,是本申请另一实施例提供的花屏修复方法的实现流程示意图,该花屏修复方法应用于电子设备。如图3所示,该花屏修复方法可以包括以下步骤:
步骤301,在绘制预设应用程序的背景画面时,监听帧缓冲区操作。
该步骤与步骤201相同,具体可参见步骤201的相关描述,在此不再赘述。
在一可选实施例中,获取绘制背景画面所需的输入信息;
判断输入信息中是否存在帧缓冲区操作对应的帧缓冲区操作指令;
在绘制预设应用程序的背景画面时,监听帧缓冲区操作,包括:
在绘制背景画面且输入信息中存在所述帧缓冲区操作指令时,监听帧缓冲区操作。
其中,输入信息是在绘制背景画面时所需要的绘制信息,例如一些绘制指令等。绘制指令也可以称之为图形API绘制指令。帧缓冲区操作指令是用于指示执行帧缓冲区操作的指令。
以游戏为例,在绘制背景画面时,中央处理器(Central Processing Unit,CPU)进行准备工作,比如哪些对象要被绘制,需要如何被绘制,将整合为各种绘制指令,并通过图形API向图形处理器(Graphics Processing Unit,GPU)发送这些绘制指令,同时将自己内存的数据拷贝给GPU控制的内存以供调用,GPU根据CPU发送的这些绘制指令和拷贝的数据完成最终的绘制。其中,上述CPU发送的这些绘制指令和拷贝的数据即为输入信息。上述图形API包括但不限于OpenGL、OpenGLES、Vulkan、DirectX、Metal等。
如果输入信息中存在帧缓冲区操作指令,则表示将会执行帧缓冲区操作,此时可以开始监听帧缓冲区操作,以使得电子设备在执行帧缓冲区操作之前完成花屏修复,避免屏幕上显示的背景画面出现花屏现象。如果输入信息中不存在帧缓冲区操作指令,则无需监听帧缓冲区操作。即本申请通过帧缓冲区操作指令判断是否进入帧缓冲区操作的监听逻辑,在输入信息中存在帧缓冲区操作指令时进入帧缓冲区操作的监听逻辑,以监听帧缓冲区操作;在输入信息中不存在帧缓冲区操作指令,则不进入帧缓冲区操作的监听逻辑。
可选地,获取绘制背景画面所需的输入信息,包括:
通过Hook方式抓取输入信息。
本申请的Hook方式相当于在CPU与GPU之间插入监听层,可以抓取CPU向GPU传递绘制背景画面所需的的输入信息,并在监听到帧缓冲区操作时,快速钩(即Hook)住帧缓冲区操作。
步骤302,判断帧缓冲区是否被背景画面填满。
不同形态的屏幕提供的分辨率不同,一些应用程序在显示界面时无法将帧缓冲区填满,未填充区域由于未指定绘制,将导致屏幕上显示的界面出现背景花屏的问题,故可以通过判断帧缓冲区是否被背景画面填满,判断背景画面在屏幕上显示时是否会出现花屏现象。
步骤303,若帧缓冲区未被背景画面填满,则确定背景画面存在花屏区域。
如果帧缓冲区被背景画面填满,则确定背景画面不存在花屏区域,后续在屏幕上显示时不会出现花屏现象,无需进行花屏修复。
步骤304,在背景画面存在花屏区域的情况下,若监听到帧缓冲区操作,则钩住帧缓冲区操作。
该步骤与步骤202相同,具体可参见步骤202的相关描述,在此不再赘述。
步骤305,在钩住帧缓冲区操作的情况下,修复花屏区域。
该步骤与步骤203相同,具体可参见步骤203的相关描述,在此不再赘述。
在一可选实施例中,修复花屏区域,包括:
对未填充区域的颜色缓冲区进行清理,未填充区域是指帧缓冲区中未填充背景画面的区域。
帧缓冲区中的未填充区域对应背景画面中的花屏区域,且花屏主要是颜色的问题,故对填充区域的颜色缓冲区进行清理可以实现对花屏区域的修复,不影响背景画面中其他区域(即背景画面中除花屏区域之外的区域)的颜色。
在另一可选实施例中,修复花屏区域,包括:
将帧缓冲区的整个颜色缓冲区进行清理。
在花屏区域存在多个且在背景画面中的布局较为分散时,为了提高花屏区域的修复效率,可以直接对整个颜色缓冲区进行清理,实现对花屏区域的修复。
其中,对颜色缓冲区进行清理可以是指将颜色缓冲区中的颜色值设置为预设值(例如0)。
需要说明的是,还可以将修复花屏区域时需清理的颜色缓冲区限定为至少包括未填充区域的颜色缓冲区,且除了采用清理颜色缓冲区的方式修复花屏区域,其他修复花屏区域的方式也在本申请的保护范围内。
在一可选实施例中,在修复花屏区域之后,还包括:
执行帧缓冲区操作。
在修复好花屏区域之后,就可以把之前钩住的帧缓冲区操作送回图形API的正常操作流程,执行帧缓冲区操作。
本申请实施例通过判断帧缓冲区是否被背景画面填满,可以判断背景画面中是否存在花屏区域,并在存在花屏区域的情况下钩住帧缓冲区操作,在钩住帧缓冲区操作的情况下修复花屏区域,可以在产生花屏现象之前对花屏区域进行修复,消除背景画面中的花屏现象。
参见图4,是本申请一实施例提供的花屏修复装置的结构示意图,为了便于说明,仅示出了与本申请实施例相关的部分。
所述花屏修复装置包括:
操作监听模块41,用于在绘制预设应用程序的背景画面时,监听帧缓冲区操作,所述帧缓冲区操作是指对帧缓冲区的操作;
操作处理模块42,用于在所述背景画面存在花屏区域的情况下,若监听到所述帧缓冲区操作,则钩住所述帧缓冲区操作;
花屏修复模块43,用于在钩住所述帧缓冲区操作的情况下,修复所述花屏区域。
可选地,所述花屏修复装置还包括:
缓冲判断模块,用于判断所述帧缓冲区是否被所述背景画面填满;
区域确定模块,用于若所述帧缓冲区未被所述背景画面填满,则确定所述背景画面存在花屏区域。
可选地,所述花屏修复模块43具体用于:
对未填充区域的颜色缓冲区进行清理,所述未填充区域是指所述帧缓冲区中未填充所述背景画面的区域。
可选地,所述花屏修复模块43具体用于:
将所述帧缓冲区的整个颜色缓冲区进行清理。
可选地,所述花屏修复装置还包括:
信息获取模块,用于获取绘制所述背景画面所需的输入信息;
指令判断模块,用于判断所述输入信息中是否存在所述帧缓冲区操作对应的帧缓冲区操作指令;
所述操作监听模块41具体用于:
在绘制所述背景画面且所述输入信息中存在所述帧缓冲区操作指令时,监听所述帧缓冲区操作。
可选地,所述信息获取模块具体用于:
通过Hook方式抓取所述输入信息。
可选地,所述花屏修复装置还包括:
操作执行模块,用于执行所述帧缓冲区操作。
本申请实施例提供的花屏修复装置可以应用在前述方法实施例中,详情参见上述方法实施例的描述,在此不再赘述。
图5是本申请一实施例提供的电子设备的结构示意图。如图5所示,该实施例的电子设备5包括:一个或多个处理器50(图中仅示出一个)、存储器51以及存储在所述存储器51中并可在所述至少一个处理器50上运行的计算机程序52。所述处理器50执行所述计算机程序52时实现上述各个花屏修复方法实施例中的步骤。
所述电子设备5可包括,但不仅限于,处理器50、存储器51。本领域技术人员可以理解,图5仅仅是电子设备5的示例,并不构成对电子设备5的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如所述电子设备还可以包括输入输出设备、网络接入设备、总线等。
所称处理器50可以是CPU、GPU,该处理器还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific IntegratedCircuit,ASIC)、现成可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
所述存储器51可以是所述电子设备5的内部存储单元,例如电子设备5的硬盘或内存。所述存储器51也可以是所述电子设备5的外部存储设备,例如所述电子设备5上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。进一步地,所述存储器51还可以既包括所述电子设备5的内部存储单元也包括外部存储设备。所述存储器51用于存储所述计算机程序以及所述电子设备所需的其他程序和数据。所述存储器51还可以用于暂时地存储已经输出或者将要输出的数据。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将所述装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。实施例中的各功能单元、模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中,上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。另外,各功能单元、模块的具体名称也只是为了便于相互区分,并不用于限制本申请的保护范围。上述装置中单元、模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
本申请实施例还提供了一种计算机可读存储介质,计算机可读存储介质存储有计算机程序,计算机程序被处理器执行时实现可实现上述各个方法实施例中的步骤。
本申请实施例还提供了一种计算机程序产品,当计算机程序产品在电子设备上运行时,使得电子设备执行时实现可实现上述各个方法实施例中的步骤。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述或记载的部分,可以参见其它实施例的相关描述。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
在本申请所提供的实施例中,应该理解到,所揭露的装置/电子设备和方法,可以通过其它的方式实现。例如,以上所描述的装置/电子设备实施例仅仅是示意性的,例如,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通讯连接可以是通过一些接口,装置或单元的间接耦合或通讯连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
所述集成的模块/单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请实现上述实施例方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(Read-Only Memory,ROM)、随机存取存储器(RandomAccess Memory,RAM)、电载波信号、电信信号以及软件分发介质等。需要说明的是,所述计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括电载波信号和电信信号。
以上所述实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围,均应包含在本申请的保护范围之内。

Claims (11)

1.一种花屏修复方法,其特征在于,包括:
在绘制预设应用程序的背景画面时,监听帧缓冲区操作,所述帧缓冲区操作是指对帧缓冲区的操作;
在所述背景画面存在花屏区域的情况下,若监听到所述帧缓冲区操作,则钩住所述帧缓冲区操作;
在钩住所述帧缓冲区操作的情况下,修复所述花屏区域。
2.根据权利要求1所述的花屏修复方法,其特征在于,还包括:
判断所述帧缓冲区是否被所述背景画面填满;
若所述帧缓冲区未被所述背景画面填满,则确定所述背景画面存在花屏区域。
3.根据权利要求2所述的花屏修复方法,其特征在于,所述修复所述花屏区域,包括:
对未填充区域的颜色缓冲区进行清理,所述未填充区域是指所述帧缓冲区中未填充所述背景画面的区域。
4.根据权利要求1所述的花屏修复方法,其特征在于,所述修复所述花屏区域,包括:
将所述帧缓冲区的整个颜色缓冲区进行清理。
5.根据权利要求1所述的花屏修复方法,其特征在于,还包括:
获取绘制所述背景画面所需的输入信息;
判断所述输入信息中是否存在所述帧缓冲区操作对应的帧缓冲区操作指令;
所述在绘制预设应用程序的背景画面时,监听帧缓冲区操作,包括:
在绘制所述背景画面且所述输入信息中存在所述帧缓冲区操作指令时,监听所述帧缓冲区操作。
6.根据权利要求5所述的花屏修复方法,其特征在于,所述获取绘制所述背景画面所需的输入信息,包括:
通过Hook方式抓取所述输入信息。
7.根据权利要求1至6任一项所述的花屏修复方法,其特征在于,在修复所述花屏区域之后,还包括:
执行所述帧缓冲区操作。
8.一种花屏修复装置,其特征在于,包括:
操作监听模块,用于在绘制预设应用程序的背景画面时,监听帧缓冲区操作,所述帧缓冲区操作是指对帧缓冲区的操作;
操作处理模块,用于在所述背景画面存在花屏区域的情况下,若监听到所述帧缓冲区操作,则钩住所述帧缓冲区操作;
花屏修复模块,用于在钩住所述帧缓冲区操作的情况下,修复所述花屏区域。
9.一种电子设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至7任一项所述的花屏修复方法的步骤。
10.一种芯片,包括处理器,其特征在于,所述处理器用于读取并执行存储器中存储的计算机程序,以执行如权利要求1至7任一项所述的花屏修复方法的步骤。
11.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至7任一项所述的花屏修复方法的步骤。
CN202210240572.1A 2022-03-10 2022-03-10 花屏修复方法、装置、电子设备、芯片及存储介质 Active CN114595021B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210240572.1A CN114595021B (zh) 2022-03-10 2022-03-10 花屏修复方法、装置、电子设备、芯片及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210240572.1A CN114595021B (zh) 2022-03-10 2022-03-10 花屏修复方法、装置、电子设备、芯片及存储介质

Publications (2)

Publication Number Publication Date
CN114595021A CN114595021A (zh) 2022-06-07
CN114595021B true CN114595021B (zh) 2023-12-12

Family

ID=81817433

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210240572.1A Active CN114595021B (zh) 2022-03-10 2022-03-10 花屏修复方法、装置、电子设备、芯片及存储介质

Country Status (1)

Country Link
CN (1) CN114595021B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117076035B (zh) * 2023-10-13 2023-12-26 麒麟软件有限公司 一种x窗口系统下花屏的优化方法

Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007328488A (ja) * 2006-06-07 2007-12-20 Sony Ericsson Mobilecommunications Japan Inc 表示装置および表示処理方法
JP2009020723A (ja) * 2007-07-12 2009-01-29 Casio Comput Co Ltd サーバ装置およびプログラム
CN105069831A (zh) * 2015-07-28 2015-11-18 广州爱拍网络科技有限公司 一种基于Hook技术获取OpenGL渲染画面的方法和系统
CN107229475A (zh) * 2017-06-05 2017-10-03 掌阅科技股份有限公司 页面显示方法、电子设备及计算机存储介质
CN107678874A (zh) * 2017-09-27 2018-02-09 珠海研果科技有限公司 一种基于linux系统防止minigui花屏的方法
CN108519899A (zh) * 2018-03-23 2018-09-11 深信服科技股份有限公司 一种虚拟桌面防截屏方法、系统及相关装置
CN109218802A (zh) * 2018-08-23 2019-01-15 Oppo广东移动通信有限公司 视频处理方法、装置、电子设备及计算机可读介质
CN111508055A (zh) * 2019-01-30 2020-08-07 华为技术有限公司 渲染方法及装置
CN112272311A (zh) * 2020-10-21 2021-01-26 腾讯科技(北京)有限公司 花屏修复方法、装置、终端、服务器及介质
CN112717389A (zh) * 2020-12-31 2021-04-30 贵阳动视云科技有限公司 一种云游戏图像花屏修复方法及装置
CN114092359A (zh) * 2021-11-29 2022-02-25 咪咕互动娱乐有限公司 花屏处理方法、装置和电子设备

Patent Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007328488A (ja) * 2006-06-07 2007-12-20 Sony Ericsson Mobilecommunications Japan Inc 表示装置および表示処理方法
JP2009020723A (ja) * 2007-07-12 2009-01-29 Casio Comput Co Ltd サーバ装置およびプログラム
CN105069831A (zh) * 2015-07-28 2015-11-18 广州爱拍网络科技有限公司 一种基于Hook技术获取OpenGL渲染画面的方法和系统
CN107229475A (zh) * 2017-06-05 2017-10-03 掌阅科技股份有限公司 页面显示方法、电子设备及计算机存储介质
CN107678874A (zh) * 2017-09-27 2018-02-09 珠海研果科技有限公司 一种基于linux系统防止minigui花屏的方法
CN108519899A (zh) * 2018-03-23 2018-09-11 深信服科技股份有限公司 一种虚拟桌面防截屏方法、系统及相关装置
CN109218802A (zh) * 2018-08-23 2019-01-15 Oppo广东移动通信有限公司 视频处理方法、装置、电子设备及计算机可读介质
CN111508055A (zh) * 2019-01-30 2020-08-07 华为技术有限公司 渲染方法及装置
CN112272311A (zh) * 2020-10-21 2021-01-26 腾讯科技(北京)有限公司 花屏修复方法、装置、终端、服务器及介质
CN112717389A (zh) * 2020-12-31 2021-04-30 贵阳动视云科技有限公司 一种云游戏图像花屏修复方法及装置
CN114092359A (zh) * 2021-11-29 2022-02-25 咪咕互动娱乐有限公司 花屏处理方法、装置和电子设备

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
基于HLS自适应定位播放技术的研究与实现;徐煜烨等;《计算机与数字工程》;第47卷(第05期);第1212-1216页 *

Also Published As

Publication number Publication date
CN114595021A (zh) 2022-06-07

Similar Documents

Publication Publication Date Title
US5909219A (en) Embedding a transparency enable bit as part of a resizing bit block transfer operation
US7307628B1 (en) Diamond culling of small primitives
KR102475212B1 (ko) 타일식 아키텍처들에서의 포비티드 렌더링
US6457034B1 (en) Method and apparatus for accumulation buffering in the video graphics system
US6833835B1 (en) Method and apparatus for antialiased imaging of graphical objects
US6762761B2 (en) Method and system for graphics rendering using hardware-event-triggered execution of captured graphics hardware instructions
JP5875751B2 (ja) グラフィック分析技術
US20160148338A1 (en) Optimized multi-pass rendering on tiled base architectures
US6166743A (en) Method and system for improved z-test during image rendering
US5793386A (en) Register set reordering for a graphics processor based upon the type of primitive to be rendered
US20070268289A1 (en) Graphics system with dynamic reposition of depth engine
CN108846791B (zh) 物理模型的渲染方法、装置及电子设备
US20190325562A1 (en) Window rendering method and terminal
CN114595021B (zh) 花屏修复方法、装置、电子设备、芯片及存储介质
US5973701A (en) Dynamic switching of texture mip-maps based on pixel depth value
JP2007517330A (ja) 3次元グラフィック・サブシステムにおけるテクスチャマップデータのプログラム可能なフィルタ処理方法及び装置
US6727899B2 (en) System and method for occlusion culling graphical data
US11783527B2 (en) Apparatus and method for generating a light intensity image
KR20040011525A (ko) 드로잉 방법
US9412194B2 (en) Method for sub-pixel texture mapping and filtering
CN116883228A (zh) 一种gpu像素填充率测量方法
US20040179009A1 (en) Graphic processing apparatus, graphic processing method, graphic processing program, and program storage medium
US20230377265A1 (en) Systems for Efficiently Rendering Vector Objects
CN111986144B (zh) 一种图像模糊判断方法、装置、终端设备及介质
CN112330563B (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