CN113378096B - 一种显示设备及浏览器残留帧清除方法 - Google Patents
一种显示设备及浏览器残留帧清除方法 Download PDFInfo
- Publication number
- CN113378096B CN113378096B CN202110766125.5A CN202110766125A CN113378096B CN 113378096 B CN113378096 B CN 113378096B CN 202110766125 A CN202110766125 A CN 202110766125A CN 113378096 B CN113378096 B CN 113378096B
- Authority
- CN
- China
- Prior art keywords
- browser
- frame
- residual
- starting
- display device
- 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 54
- 239000000872 buffer Substances 0.000 claims abstract description 140
- 230000008569 process Effects 0.000 claims abstract description 23
- 238000009877 rendering Methods 0.000 claims description 17
- 238000001514 detection method Methods 0.000 claims description 13
- 238000004140 cleaning Methods 0.000 claims description 10
- 230000003993 interaction Effects 0.000 claims description 9
- 230000004044 response Effects 0.000 claims description 9
- 238000012544 monitoring process Methods 0.000 claims description 4
- 230000001960 triggered effect Effects 0.000 claims description 3
- 230000000977 initiatory effect Effects 0.000 claims 2
- 230000006870 function Effects 0.000 description 29
- 238000004891 communication Methods 0.000 description 16
- 238000010586 diagram Methods 0.000 description 7
- 230000000694 effects Effects 0.000 description 6
- 238000012545 processing Methods 0.000 description 6
- 230000002452 interceptive effect Effects 0.000 description 5
- 239000002131 composite material Substances 0.000 description 2
- 230000006378 damage Effects 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 238000003825 pressing Methods 0.000 description 2
- 238000010926 purge Methods 0.000 description 2
- VYZAMTAEIAYCRO-UHFFFAOYSA-N Chromium Chemical compound [Cr] VYZAMTAEIAYCRO-UHFFFAOYSA-N 0.000 description 1
- 101100384355 Mus musculus Ctnnbip1 gene Proteins 0.000 description 1
- 230000009471 action Effects 0.000 description 1
- 238000013473 artificial intelligence Methods 0.000 description 1
- 230000002457 bidirectional effect Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000012790 confirmation Methods 0.000 description 1
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 230000005611 electricity Effects 0.000 description 1
- 230000008030 elimination Effects 0.000 description 1
- 238000003379 elimination reaction Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000010422 painting 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
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/958—Organisation or management of web site content, e.g. publishing, maintaining pages or automatic linking
- G06F16/972—Access to data in other repository systems, e.g. legacy data or dynamic Web page generation
-
- 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)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Human Computer Interaction (AREA)
- User Interface Of Digital Computer (AREA)
Abstract
本申请提供的显示设备及浏览器残留帧清除方法,所述方法可以在用户退出浏览器时,对浏览器配置的启动参数进行检测。其中,启动参数在启动浏览器时配置,用于指示浏览器使用的帧缓冲器数量。通过检测启动参数,可以确定浏览器使用的帧缓冲器数量,再根据帧缓冲器数量逐一清除帧缓冲层中的残留帧。所述方法可以基于浏览器对帧缓冲层中的残留帧进行自动清除,使显示设备在退出浏览器时不会出现残留帧,缓解残留帧对用户观看过程造成的影响。
Description
技术领域
本申请涉及显示设备技术领域,尤其涉及一种显示设备及浏览器残留帧清除方法。
背景技术
显示设备是指能够输出具体显示画面的终端设备,可以是智能电视、移动终端、智能广告屏、投影仪等终端设备。以智能电视为例,智能电视是基于Internet应用技术,具备开放式操作系统与芯片,拥有开放式应用平台,可实现双向人机交互功能,集影音、娱乐、数据等多种功能于一体的电视产品,用于满足用户多样化和个性化需求。
显示设备可以作为一种嵌入式设备,使用浏览器实现一些显示功能,如浏览网页、媒资播放等。显示设备可以基于浏览器实现网页内容显示和用户交互。以Odin浏览器为例,Odin浏览器采用多进程架构,在启动后会启动浏览(browser)进程,并且会在适时启动图形处理器(Graphics Process ing Unit,GPU)进程。在打开网页时,浏览器的browser进程会创建本地窗口(nat ive window),同时调用窗口界面创建接口(egl Create WindowSurface)为本地窗口创建窗口界面(window surface)。窗口界面会关联帧缓冲层(fb0)中的3个帧缓冲器(framebuffer),实现对显示网页的实时渲染。
当用户按退出(exit)键退出Odin浏览器时,本地窗口会被销毁。而在本地窗口被销毁之前,其会调用界面销毁接口(egl Destroy Surface)销毁与之关联的窗口界面,使窗口界面与3个帧缓冲器断开,使浏览器无法继续在帧缓冲层进行绘制。但是,在异步操作接口时,会由于多线程操作导致部分帧无法被清除,出现残留帧现象。例如,浏览器中存在两个线程,即线程1和线程2。当线程1调用清除(glclear)接口清除帧缓冲层区域时,如果线程2此时又操作帧缓冲层的局部区域,由于中间接口图形库对这种场景下的处理方式是局部更新,则会导致帧缓冲层无法被整个清除,进而出现残留帧,影响用户的观看体验。
发明内容
本申请提供了一种显示设备及浏览器残留帧清除方法,以解决传统显示设备在退出浏览器时出现残留帧的问题。
一方面,本申请提供一种显示设备,包括显示器和控制器,其中所述显示器被配置为显示用户界面,所述用户界面包括基于浏览器呈现的网页画面;所述控制器被配置为执行以下程序步骤:
获取用户输入的用于退出浏览器的控制指令;
响应于所述控制指令,检测所述浏览器被配置的启动参数,所述启动参数用于指示所述浏览器使用的帧缓冲器数量;
根据所述启动参数中指示的帧缓冲器数量,清除帧缓冲层中的残留帧。
另一方面,本申请还提供一种浏览器残留帧清除方法,其特征在于,应用于显示设备,所述显示设备包括显示器和控制器,所述显示器用于显示包括基于浏览器网页画面的用户界面,所述浏览器残留帧清除方法包括:
获取用户输入的用于退出浏览器的控制指令;
响应于所述控制指令,检测所述浏览器被配置的启动参数,所述启动参数用于指示所述浏览器使用的帧缓冲器数量;
根据所述启动参数中指示的帧缓冲器数量,清除帧缓冲层中的残留帧。
由以上技术方案可知,本申请提供的显示设备及浏览器残留帧清除方法可以在用户退出浏览器时,对浏览器配置的启动参数进行检测。其中,启动参数在启动浏览器时配置,用于指示浏览器使用的帧缓冲器数量。通过检测启动参数,可以确定浏览器使用的帧缓冲器数量,再根据帧缓冲器数量逐一清除帧缓冲层中的残留帧。所述方法可以基于浏览器对帧缓冲层中的残留帧进行自动清除,使显示设备在退出浏览器时不会出现残留帧,缓解残留帧对用户观看过程造成的影响。
附图说明
为了更清楚地说明本申请的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例中显示设备的使用场景;
图2为本申请实施例中控制装置的硬件配置框图;
图3为本申请实施例中显示设备的硬件配置图;
图4为本申请实施例中显示设备的软件配置图;
图5为本申请实施例中浏览器使用多个帧缓冲器进行渲染的流程示意图;
图6为本申请实施例中退出浏览器时残留帧效果图;
图7为本申请实施例中浏览器残留帧清除方法的流程示意图;
图8为本申请实施例中为浏览器配置启动参数的流程示意图;
图9为本申请实施例中根据帧缓冲器的需求数量生成启动参数的流程示意图;
图10为本申请实施例中根据启动参数清楚残留帧的流程示意图;
图11为本申请实施例中清画模块工作模式示意图;
图12为本申请实施例中根据应用程序信息选择残留帧清除方式的流程示意图;
图13为本申请实施例中监听残留帧清除进程的流程示意图。
具体实施方式
下面将详细地对实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下实施例中描述的实施方式并不代表与本申请相一致的所有实施方式。仅是与权利要求书中所详述的、本申请的一些方面相一致的系统和方法的示例。
需要说明的是,本申请中对于术语的简要说明,仅是为了方便理解接下来描述的实施方式,而不是意图限定本申请的实施方式。除非另有说明,这些术语应当按照其普通和通常的含义理解。
本申请中说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”等是用于区别类似或同类的对象或实体,而不必然意味着限定特定的顺序或先后次序,除非另外注明。应该理解这样使用的用语在适当情况下可以互换。
术语“包括”和“具有”以及他们的任何变形,意图在于覆盖但不排他的包含,例如,包含了一系列组件的产品或设备不必限于清楚地列出的所有组件,而是可包括没有清楚地列出的或对于这些产品或设备固有的其它组件。
术语“模块”是指任何已知或后来开发的硬件、软件、固件、人工智能、模糊逻辑或硬件或/和软件代码的组合,能够执行与该元件相关的功能。
图1为根据实施例中显示设备的使用场景的示意图。如图1所示,显示设备200还与服务器400进行数据通信,用户可通过智能设备300或控制装置100操作显示设备200。
在一些实施例中,控制装置100可以是遥控器,遥控器和显示设备的通信包括红外协议通信或蓝牙协议通信,及其他短距离通信方式中的至少一种,通过无线或有线方式来控制显示设备200。用户可以通过遥控器上按键、语音输入、控制面板输入等至少一种输入用户指令,来控制显示设备200。
在一些实施例中,显示设备200还与服务器400进行数据通信。可允许显示设备200通过局域网(LAN)、无线局域网(WLAN)和其他网络进行通信连接。服务器400可以向显示设备200提供各种内容和互动。服务器400可以是一个集群,也可以是多个集群,可以包括一类或多类服务器。
在一些实施例中,一个步骤执行主体执行的软件步骤可以随需求迁移到与之进行数据通信的另一步骤执行主体上进行执行。示例性的,服务器执行的软件步骤可以随需求迁移到与之数据通信的显示设备上执行,反之亦然。
图2示例性示出了根据示例性实施例中控制装置100的配置框图。如图2所示,控制装置100包括控制器110、通信接口130、用户输入/输出接口140、存储器、供电电源。控制装置100可接收用户的输入操作指令,且将操作指令转换为显示设备200可识别和响应的指令,起用用户与显示设备200之间交互中介作用。
图3示出了根据示例性实施例中显示设备200的硬件配置框图。
在一些实施例中,显示设备200包括调谐解调器210、通信器220、检测器230、外部装置接口240、控制器250、显示器260、音频输出接口270、存储器、供电电源、用户接口中的至少一种。
在一些实施例中,通信器220是用于根据各种通信协议类型与外部设备或服务器进行通信的组件。例如:通信器可以包括Wifi模块,蓝牙模块,有线以太网模块等其他网络通信协议芯片或近场通信协议芯片,以及红外接收器中的至少一种。显示设备200可以通过通信器220与控制装置100或服务器400建立控制信号和数据信号的发送和接收。
在一些实施例中,外部装置接口240可以包括但不限于如下:高清多媒体接口接口(HDMI)、模拟或数据高清分量输入接口(分量)、复合视频输入接口(CVBS)、USB输入接口(USB)、RGB端口等任一个或多个接口。也可以是上述多个接口形成的复合性的输入/输出接口。
在一些实施例中,控制器250和调谐解调器210可以位于不同的分体设备中,即调谐解调器210也可在控制器250所在的主体设备的外置设备中,如外置机顶盒等。
在一些实施例中,控制器250,通过存储在存储器上中各种软件控制程序,来控制显示设备的工作和响应用户的操作。控制器250控制显示设备200的整体操作。例如:响应于接收到用于选择在显示器260上显示UI对象的用户命令,控制器250便可以执行与由用户命令选择的对象有关的操作。
在一些实施例中,用户可在显示器260上显示的图形用户界面(GUI)输入用户命令,则用户输入接口通过图形用户界面(GUI)接收用户输入命令。或者,用户可通过输入特定的声音或手势进行输入用户命令,则用户输入接口通过传感器识别出声音或手势,来接收用户输入命令。
在一些实施例中,“用户界面”,是应用程序或操作系统与用户之间进行交互和信息交换的介质接口,它实现信息的内部形式与用户可以接受形式之间的转换。用户界面常用的表现形式是图形用户界面(Graphic User Interface,GUI),是指采用图形方式显示的与计算机操作相关的用户界面。它可以是在电子设备的显示屏中显示的一个图标、窗口、控件等界面元素,其中控件可以包括图标、按钮、菜单、选项卡、文本框、对话框、状态栏、导航栏、Widget等可视的界面元素中的至少一种。
参见图4,在一些实施例中,将系统分为四层,从上至下分别为应用程序(Applications)层(简称“应用层”),应用程序框架(Appl icat ion Framework)层(简称“框架层”),安卓运行时(Android runtime)和系统库层(简称“系统运行库层”),以及内核层。
在一些实施例中,应用程序层中运行有至少一个应用程序,这些应用程序可以是操作系统自带的窗口(Window)程序、系统设置程序或时钟程序等;也可以是第三方开发者所开发的应用程序。在具体实施时,应用程序层中的应用程序包不限于以上举例。
框架层为应用程序层的应用程序提供应用编程接口(applicat ion programminginterface,API)和编程框架。应用程序框架层包括一些预先定义的函数。应用程序框架层相当于一个处理中心,这个中心决定让应用层中的应用程序做出动作。应用程序通过API接口,可在执行中访问系统中的资源和取得系统的服务。
如图4所示,本申请实施例中应用程序框架层包括管理器(Managers),内容提供者(Content Provider)等,其中管理器包括以下模块中的至少一个:活动管理器(ActivityManager)用与和系统中正在运行的所有活动进行交互;位置管理器(Location Manager)用于给系统服务或应用提供了系统位置服务的访问;文件包管理器(Package Manager)用于检索当前安装在设备上的应用程序包相关的各种信息;通知管理器(NotificationManager)用于控制通知消息的显示和清除;窗口管理器(Window Manager)用于管理用户界面上的括图标、窗口、工具栏、壁纸和桌面部件。
在一些实施例中,活动管理器用于管理各个应用程序的生命周期以及通常的导航回退功能,比如控制应用程序的退出、打开、后退等。窗口管理器用于管理所有的窗口程序,比如获取显示屏大小,判断是否有状态栏,锁定屏幕,截取屏幕,控制显示窗口变化(例如将显示窗口缩小显示、抖动显示、扭曲变形显示等)等。
在一些实施例中,系统运行库层为上层即框架层提供支撑,当框架层被使用时,安卓操作系统会运行系统运行库层中包含的C/C++库以实现框架层要实现的功能。
在一些实施例中,内核层是硬件和软件之间的层。如图4所示,内核层至少包含以下驱动中的至少一种:音频驱动、显示驱动、蓝牙驱动、摄像头驱动、WIFI驱动、USB驱动、HDMI驱动、传感器驱动(如指纹传感器,温度传感器,压力传感器等)、以及电源驱动等。
上述显示设备200可以在部分使用场景下,通过浏览器显示用户界面。例如,显示设备200可以使用浏览器或部分应用程序可以使用浏览器呈现具体的UI界面。其中,所使用的浏览器可以为chromium内核框架,同时基于超文本标记语言(Hyper Text MarkupLanguage,HTML)的UI系统。
显示设备200在使用浏览器呈现用户界面的过程中,根据用户界面中所包含的具体内容不同,可以实现不同的功能。例如,显示设备200所运行的浏览器可以同时具备UI功能和网页浏览功能。即显示设备200在使用上述浏览器进行网页浏览等功能时,可以通过UI功能和浏览功能的两种类型的窗口,组成具体的网页浏览界面。
显示设备200所使用的可以内置多种进程,用于实现不同的功能。浏览器中的进程架构可以分为三类,即浏览(Browser)进程、渲染(Render)进程以及其他进程。其中,Browser进程包含了内存监控、网页资源下载等关键模块;Render进程负责网页的渲染,包含资源请求模块,Render进程可以根据打开的标签(tab)设置有多个;其他进程可以包含图形处理器(Graphics Processing Unit,GPU)、插件等等功能进程,以实现相应图形处理或插件功能。各进程之间可以通过进程间通信(Inter-Process Communication,IPC)来实现数据通信。
以Odin浏览器为例,Odin浏览器采用多进程架构,显示设备200可以通过运行浏览器的启动程序控制启动浏览器,并对浏览器执行初始化操作。在启动浏览器后,浏览器会启动内置的browser进程,并且会在适时启动图形处理器GPU进程。
在打开网页时,浏览器的browser进程会创建本地窗口,同时调用窗口界面创建接口为本地窗口创建窗口界面。在创建窗口界面后,浏览器会在帧缓冲层中为窗口界面关联特定数量的帧缓冲器(framebuffer)。例如,如图5所示,窗口界面可以关联帧缓冲层中的3个framebuffer,浏览器可以基于3个framebuffer,对窗口界面进行绘制、渲染,维持浏览器的运行,实现对显示网页的实时显示。
在退出浏览器时,浏览器可以根据用户输入退出交互动作,如用户按下控制装置100上的退出(exit)键,控制显示设备200退出当前用户界面。在退出浏览器时本地窗口会被销毁。在本地窗口被销毁之前,其会调用界面销毁接口销毁与之关联的窗口界面,使窗口界面与关联的帧缓冲器断开,此时,浏览器无法继续在帧缓冲层进行绘制。
但是,在异步操作接口时,会由于多线程操作导致部分帧无法被清除,出现残留帧现象。例如,浏览器中存在两个线程,即线程1和线程2。当线程1调用清楚(glclear)接口清除帧缓冲层区域时,如果线程2此时又操作帧缓冲层的局部区域,由于中间接口图形库对这种场景下的处理方式是局部更新,则会导致帧缓冲层无法被整个清除,进而出现残留帧,影响用户的观看体验。
由于Odin浏览器等显示设备200所使用的浏览器内核原始方案中,对于浏览器退出时,缺乏清除残留帧的功能。因此,残留帧将直接导致这类浏览器打开的网页在退出时会受到残留帧的作用,使退出浏览器后显示设备200仍然显示原浏览器中的画面,影响浏览器的使用及用户体验。例如,如图6所示,音视频编码标准(Audio Video coding Standard,AVS)应用通过语音指令“播放音乐”、“在×上播放×”、“读我的××应用中的书”等,退出浏览器时,会在帧缓冲层出现残留帧,使显示设备200不能快速切换至语音指令对应的用户界面,影响用户体验。
为了清除残留帧,在本申请的部分实施例中提供一种显示设备200,所述显示设备200至少包括显示器260和控制器250。其中,显示器260被配置为显示包括基于浏览器呈现的网页画面。控制器250则被配置为执行一种浏览器残留帧清除方法,用于在每次退出用户界面时,可以智能检测帧缓冲层中的残留帧,并将残留帧清除,以缓解残留帧对退出用户界面时产生的影响,提高用户体验。如图7所示,对控制器250所配置执行的程序步骤具体包括以下内容:
获取用户输入的用于退出浏览器的控制指令。在用户使用显示设备200的过程中,显示设备200可以接收用户输入的各种控制指令,并基于输入的控制指令,执行与控制指令对应的响应操作。
用于退出浏览器的控制指令可以通过对浏览器的直接交互动作完成输入。例如,在显示设备200启动的浏览器上,可以设置有关闭按钮控件。用户可以通过控制装置100上的方向键控制移动用户界面中的焦点光标,将焦点光标移动至关闭按钮控件上,并按下确认键控制显示设备200退出浏览器。可见,用于退出浏览器的控制指令可以通过控制装置100上的按键动作完成输入。
用于退出浏览器的控制指令也可以通过与当前用户界面相关的交互动作完成输入。即在一些实施例中,浏览器可以被上层应用启动运行,则当用户退出上层应用时,上层应用会连同浏览器一起进行关闭,从而退出浏览器。例如,用户在启用浏览器的应用A主界面基础上,连续按下两次控制装置100上的返回键,控制显示设备200关闭当前运行的应用A。此时,显示设备200在关闭应用A的同时,也退出应用A关联的浏览器。
在一些实施例中,对于部分显示设备200,还可以通过内置或外接拥有特定方式的交互模块,输入用于退出浏览器的控制指令。例如,对于内置智能语音系统的显示设备200,用户可以通过输入语音“关闭浏览器”、“退出浏览器”、“跳转到××(非浏览器)应用”,控制显示设备200退出浏览器。
在用户输入用于退出浏览器的控制指令后,显示设备200可以响应于该控制指令,运行退出浏览器相关的控制程序。为了能够在退出浏览器后,可以清除帧缓冲层中的残留帧,显示设备200还可以运行残留帧清除程序。对于显示设备200运行的浏览器,由于其在运行过程中所使用的帧缓冲器数量不同,因此在帧缓冲层残留的帧数量也不同。例如,每个帧缓冲器均可能会残留一帧画面,因此对于使用3个帧缓冲器的浏览器,可能残留3帧画面。
可见,在执行对残留帧进行清除的操作之前,显示设备200还需要对浏览器所使用的帧缓冲器数量进行检测。为了检测浏览器使用的帧缓冲器数量,显示设备200可以检测浏览器被配置的启动参数。其中,所述启动参数是根据浏览器的应用特点,在启动浏览器时为浏览器配置的标记,可用于指示所述浏览器使用的帧缓冲器数量。启动参数可以作为浏览器的数据标志,也可以包含在浏览器的启动程序中,以供显示设备200进行读取。
例如,在启动浏览器时,可以设置启动参数“enable_use_triple_buffer”,告知浏览器当前是否使用三个framebuffer进行绘制,以方便后续针对图层处理。则在检测浏览器所使用的帧缓冲器数量的过程中,显示设备200可以对当前浏览器是否配置了上述启动参数进行检测,如果浏览器配置了“enable_use_triple_buffer”,则表示当前浏览器当前使用fb层配置了3个framebuffer,否则是标配的2个framebuffer。
通过检测浏览器的启动参数,获得浏览器使用的帧缓冲器数量以后,显示设备200可以根据启动参数中指示的帧缓冲器数量,清除帧缓冲层中的残留帧。例如,当检测到浏览器使用3个framebuffer时,可以确定帧缓冲层内可能会残留3个画面帧,因此显示设备200在清除残留帧时,需要同时对三个framebuffer中的残留帧检测和删除,实现对帧缓冲层进行整个清除,使退出网页后的界面具有更纯净的显示效果。
在一些实施例中,显示设备200可以根据帧缓冲器数量设置残留帧检测次数,按照检测次数,逐次在帧缓冲层中检测残留帧,最后删除每次检测获得的残留帧。例如,当检测到浏览器使用3个framebuffer时,可以分3次对帧缓冲层中的残留帧进行检测,并在每次检测到残留帧时,对检测的残留帧进行删除。通过逐次检测和删除,可以使检测次数足以满足残留帧的最大残留数量,实现对fb0层中的画面帧整体清除。
可见,在上述实施例中,显示设备200可以通过检测浏览器配置的启动参数,确定浏览器所使用的帧缓冲器数量,并基于检测到的帧缓冲器数量执行残留帧的清除操作。为了使显示设备200能够通过检测启动参数确定浏览器使用的帧缓冲器数量,显示设备200还可以在启动浏览器时,为浏览器配置启动参数。即如图8所示,在一些实施例中,显示设备200可以获取用户输入的用于调用所述浏览器的启动指令。与退出指令相类似的,启动指令也可以通过控制装置100上的按键、触摸屏操作、智能语音系统等方式进行输入。
启动指令也可以在上层应用上的交互操作自动完成输入。例如,用户可以在显示设备200的应用列表界面中,选中启动应用A。而应用A的应用界面是基于浏览器完成显示,因此在启动应用A以后,显示设备200会自动启动浏览器。即用户启动应用A的交互操作相当于输入了用于调用浏览器的启动指令。
对于部分应用,其显示的界面也可以不完全依赖于浏览器,例如,对于应用B,其在显示控制主页等界面时,可以基于应用本身的UI布局策略进行显示;其在显示网页浏览界面时,可以基于浏览器进行显示。因此,对于这类应用,其在启动时并不一定调用浏览器,而是在用户控制其显示特定页面时,再启动浏览器进行显示。即用于调用浏览器的启动指令,可以通过特定应用中的用于显示特定界面的交互动作完成输入。
在获取用于调用浏览器的启动指令后,显示设备200可以响应于启动指令,启动浏览器,并在启动浏览器的同时检测渲染用户界面的帧缓冲器需求数量。通常,当用户界面的显示分辨率较高、显示内容较复杂时,浏览器需要使用较多数量的帧缓冲器进行画面渲染和显示。因此,显示设备200可以根据用户界面类型、用户界面所隶属的上层应用、用户界面中图形内容的复杂程度等相关参数进行综合计算确定。例如,对于阅读类的应用,常显示纯文字的内容,对应所使用的浏览器渲染数据量较小,因此通过两个帧缓冲器能够,满足用户界面的渲染。而对于游戏类应用,所显示的内容画面包括多种多媒体元素,因此需要通过三个或三个以上帧缓冲器才能够满足用户界面的渲染要求。
渲染用户界面的帧缓冲器需求数量可以根据显示设备200的硬件配置以及所调用的浏览器类型预先存储在本地数据库或云端数据库中。当用户控制显示设备200启动浏览器以后,显示设备200可以自动向数据库发送查询请求,以使数据库可以根据查询请求反馈对应需求数量。渲染用户界面的帧缓冲器需求数量还可以根据显示设备200的硬件配置、浏览器类型以及当前运行内存等参数实时计算获得。例如,对于Odin浏览器,在运行内存剩余量小于总容量的30%时,计算获得帧缓冲器的需求数量为2个。
在检测获得需求数量后,显示设备200可以根据需求数量生成启动参数。其中,所述启动参数为包含所述需求数量的标志字段。例如,当检测确定帧缓冲器的需求数量为3个时,可以生成包含“enable_use_triple_buffer”字段的启动参数。同理,当检测确定帧缓冲器的需求数量为4个时,可以生成包含“enable_use_quadra_buffer”字段的启动参数。
生成的启动参数,可以由显示设备200添加至浏览器关联的启动程序中,以使显示设备200在后续运行中可以通过读取启动程序识别设置的启动参数,从而确定启动参数中指定的帧缓冲器数量。
浏览器可以标配一定数量的帧缓冲器,如对于Odin浏览器,可以标配2个帧缓冲器。则对于大部分应用,在使用该浏览器时,可以直接采用标配数量的帧缓冲器进行用户界面的渲染。因此,如图9所示,在一些实施例中,当上层应用不对浏览器进行额外扩展时,可以不对浏览器启动参数,即在根据所述需求数量生成所述启动参数的步骤中,显示设备200可以对比需求数量与预设数量判断值。其中,预设数量判断值包括用于表示额外配置数量的第一判断值和用于表示标配数量的第二判断值。
如果需求数量等于第一判断值,即当前应用需要对浏览器所使用的帧缓冲器数量进行额外设置,因此可以按照需求数量生成启动参数。如果需求数量等于第二判断值,则当前应用可以直接使用浏览器标配数量的帧缓冲器进行渲染,因此可以停止为浏览器配置启动参数。
例如,当应用中的用户界面需要3个帧缓冲器才能够满足渲染要求时,可以为应用对应调用的浏览器配置包含“enable_use_triple_buffer”的启动参数,表示当前浏览器使用fb层配置3个framebuffer;当应用中的用户界面不需要3个帧缓冲器即可满足渲染要求时,可以不为应用调用的浏览器配置启动参数,即未配置启动参数的浏览器是标配的2个framebuffer。
通过上述实施例中启动参数的配置方法,显示设备200可以通过浏览器是否配置了启动参数进行检测,以确定对应使用的帧缓冲器数量。即如图10所示,在一些实施例中,显示设备200在检测浏览器被配置的启动参数的步骤中,可以读取浏览器关联的启动程序,并确定启动程序中是否含有预先配置的启动参数。
如果启动程序中含有启动参数,即显示设备200在启动浏览器时设置了浏览器使用的帧缓冲器数量,因此可以提取启动参数中指示的帧缓冲器数量,用于后续根据启动参数中指示的帧缓冲器数量,对帧缓冲层内的残留帧进行清除。例如,通过读取浏览器的启动程序,可以读取到启动参数“enable_use_triple_buffer”,再从该启动参数中提取用于表示帧缓冲器的字段,即“triple”,即可确定启动参数中指示的帧缓冲器数量为3。
如果启动程序中不含有启动参数,即显示设备200在启动浏览器时未设置浏览器使用的帧缓冲器数量,因此,显示设备200可以获取浏览器的帧缓冲器默认使用数量,以根据默认使用数量,清除帧缓冲层中的残留帧。例如,通过读取浏览器的启动程序,未读取到启动参数时,可以确定当前应用使用浏览器标配的2个framebuffer,即获取浏览器的帧缓冲器默认使用数量为2。最后,显示设备200可以按照默认使用数量清除帧缓冲层中2个framebuffer中的残留帧。
在一些实施例中,为了实现对残留帧的清除,显示设备200还可以为浏览器配置清画模块。清画模块可以是浏览器中的一个扩展应用,是一种内置在浏览器中缓存删除程序,用于在用户退出浏览器时进行残留帧清除操作。因此,如图11所示,显示设备200还可以在获取用户输入的用于退出浏览器的控制指令的步骤中,监听用户交互动作触发的退出事件。
在监听到退出事件时,显示设备200可以控制启动清画模块,以通过清画模块删除帧缓冲层中的残留帧。例如,显示设备200可以在浏览器内核中监听用户遥控器触发的Exit事件。如果监听到用户触发了Exit事件,则启动清画模块。清画模块再根据设置的启动参数“enable_use_triple_buffer”确定浏览器配置的framebuffer个数,从而按照framebuffer的个数完成清画功能。
由于部分浏览器的上层应用会内置残留帧清除策略,例如,浏览器的上层应用页面引擎(webengine)可以存在一个窗口大小为1920×1080的状态窗口(status window)。则在浏览器退出时,会运行状态窗口,运行状态窗口不会在帧缓冲层中残留画面帧,因此浏览器不会出现最后一帧残留的问题。因此,在浏览器上层应用具有残留帧清除功能时,显示设备200可以在运行这部分应用时,不必再对浏览器添加清屏功能。
即如图12所示,在一些实施例中,显示设备200可以获取调用浏览器的应用程序信息,应用程序信息可以包括应用程序的名称、类型、支持的功能等内容。应用程序信息可以作为应用程序的附加信息存储在程序说明等位置中,显示设备200在运行应用程序时,可以直接在程序说明书中提取。也可以在显示设备200或服务器300中建立专门用于存储应用程序信息的数据库,显示设备200在运行应用程序时向数据库发送查询请求,以获取应用程序信息。
在获取应用程序信息后,显示设备200可以对应用程序信息进行读取,并根据应用程序信息,检测调用浏览器的上层应用是否支持清除残留帧功能。例如,在显示设备200或服务器300中存储的应用程序信息可以包括用于指示清楚残留帧功能的表项,即“Clearframe capabil ity”,并通过特定的状态值对上层应用是否支持清除残留帧功能进行定义,如使用0代表当前上层应用不支持清除功能,使用1代表当前上层应用支持清除功能。
如果浏览器的上层应用支持清除残留帧功能,即确定当前上层应用内置有残留帧清除机制。在退出浏览器时,显示设备200可以通过运行应用程序内置的残留帧清除程序,清除帧缓冲层中的残留帧。例如,通过在上层应用的应用程序信息中读取到相应表项的状态值为“Clear frame capability=1”,可以确定当前上层应用支持清除残留帧功能,因此可以按照应用程序内置的残留帧清除程序,即运行status window,使显示设备200在退出浏览器时不会出现残留帧。
如果浏览器的上层应用不支持清除残留帧功能,即当前上层应用没有内置残留帧清除机制,因此显示设备200可以按照上述实施例中提供的方式,为浏览器配置启动参数,以便在显示设备200退出浏览器时可以通过检测浏览器被配置的启动参数,并根据启动参数中指示的帧缓冲器数量,清除帧缓冲层中的残留帧。
由于显示设备200是在退出浏览器时执行残留帧的清除操作,因此显示设备200需要在清除操作后,继续关闭浏览器,以呈现其他用户界面。为此,如图13所示,在一些实施例中,显示设备200还可以监听帧缓冲层中的残留帧清除进程;如果帧缓冲层中与帧缓冲器数量相等的残留帧已全部清除,则可以正常关闭浏览器,即关闭浏览器中的本地窗口,以退出当前用户界面。
如果帧缓冲层中与帧缓冲器数量相等的残留帧未全部清除,则可以显示提示窗口,用于提示用户显示设备200正在运行,待帧缓冲层中的残留帧清除完毕后,再关闭浏览器中的本地窗口,以退出当前用户界面。
基于上述显示设备200,本申请的部分实施例还提供一种浏览器残留帧清除方法,应用于上述显示设备200,所述浏览器残留帧清除方法包括以下步骤:
获取用户输入的用于退出浏览器的控制指令;
响应于所述控制指令,检测所述浏览器被配置的启动参数,所述启动参数用于指示所述浏览器使用的帧缓冲器数量;
根据所述启动参数中指示的帧缓冲器数量,清除帧缓冲层中的残留帧。
由以上技术方案可知,上述实施例提供的浏览器残留帧清除方法可以在用户退出浏览器时,对浏览器配置的启动参数进行检测。其中,启动参数在启动浏览器时配置,用于指示浏览器使用的帧缓冲器数量。通过检测启动参数,可以确定浏览器使用的帧缓冲器数量,再根据帧缓冲器数量逐一清除帧缓冲层中的残留帧。所述方法可以基于浏览器对帧缓冲层中的残留帧进行自动清除,使显示设备200在退出浏览器时不会出现残留帧,缓解残留帧对用户观看过程造成的影响。
本申请提供的实施例之间的相似部分相互参见即可,以上提供的具体实施方式只是本申请总的构思下的几个示例,并不构成本申请保护范围的限定。对于本领域的技术人员而言,在不付出创造性劳动的前提下依据本申请方案所扩展出的任何其他实施方式都属于本申请的保护范围。
Claims (6)
1.一种显示设备,其特征在于,包括:
显示器,被配置为显示用户界面,所述用户界面包括基于浏览器呈现的网页画面;
控制器,被配置为:
获取用户输入的用于退出浏览器的控制指令;
响应于所述控制指令,检测所述浏览器被配置的启动参数,所述启动参数用于指示所述浏览器使用的帧缓冲器数量,其中,所述启动参数的配置过程包括:获取用户输入的用于调用所述浏览器的启动指令;响应于所述启动指令,检测渲染所述用户界面的帧缓冲器需求数量;对比所述需求数量与预设数量判断值,所述预设数量判断值包括用于表示额外配置数量的第一判断值和用于表示标配数量的第二判断值;如果所述需求数量等于所述第一判断值,生成所述启动参数,所述启动参数为包含所述需求数量的标志字段,将所述启动参数添加至所述浏览器关联的启动程序中;如果所述需求数量等于所述第二判断值,停止为所述浏览器配置所述启动参数;
根据所述帧缓冲器数量设置残留帧检测次数;按照所述检测次数,逐次在帧缓冲层中检测残留帧;删除每次检测获得的残留帧。
2.根据权利要求1所述的显示设备,其特征在于,所述控制器被进一步配置为:
在检测所述浏览器被配置的启动参数的步骤中,读取所述浏览器关联的启动程序;
如果所述启动程序中含有所述启动参数,提取所述启动参数中指示的帧缓冲器数量;
如果所述启动程序中不含有所述启动参数,获取所述浏览器的帧缓冲器默认使用数量,以根据所述默认使用数量,清除帧所述缓冲层中的残留帧。
3.根据权利要求1所述的显示设备,其特征在于,所述控制器被进一步配置为:
在获取用户输入的用于退出浏览器的控制指令的步骤中,监听用户交互动作触发的退出事件;
在监听到所述退出事件时,启动清画模块,以通过所述清画模块删除帧缓冲层中的残留帧,所述清画模块为内置在所述浏览器中缓存删除程序。
4.根据权利要求1所述的显示设备,其特征在于,所述控制器被进一步配置为:
获取调用所述浏览器的应用程序信息;
根据所述应用程序信息,检测调用所述浏览器的上层应用是否支持清除残留帧功能;
如果所述浏览器的上层应用支持清除残留帧功能,运行所述应用程序内置的残留帧清除程序;
如果所述浏览器的上层应用不支持清除残留帧功能,为所述浏览器配置所述启动参数。
5.根据权利要求1所述的显示设备,其特征在于,所述控制器被进一步配置为:
监听所述帧缓冲层中的残留帧清除进程;
如果所述帧缓冲层中与帧缓冲器数量相等的残留帧已全部清除,关闭本地窗口,以退出当前用户界面;
如果所述帧缓冲层中与帧缓冲器数量相等的残留帧未全部清除,显示提示窗口。
6.一种浏览器残留帧清除方法,其特征在于,应用于显示设备,所述显示设备包括显示器和控制器,所述显示器用于显示包括基于浏览器网页画面的用户界面,所述浏览器残留帧清除方法包括:
获取用户输入的用于退出浏览器的控制指令;
响应于所述控制指令,检测所述浏览器被配置的启动参数,所述启动参数用于指示所述浏览器使用的帧缓冲器数量,其中,所述启动参数的配置过程包括:获取用户输入的用于调用所述浏览器的启动指令;响应于所述启动指令,检测渲染所述用户界面的帧缓冲器需求数量;对比所述需求数量与预设数量判断值,所述预设数量判断值包括用于表示额外配置数量的第一判断值和用于表示标配数量的第二判断值;如果所述需求数量等于所述第一判断值,生成所述启动参数,所述启动参数为包含所述需求数量的标志字段,将所述启动参数添加至所述浏览器关联的启动程序中;和用于表示标配数量的第二判断值;
根据所述帧缓冲器数量设置残留帧检测次数;按照所述检测次数,逐次在帧缓冲层中检测残留帧;删除每次检测获得的残留帧。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110766125.5A CN113378096B (zh) | 2021-07-07 | 2021-07-07 | 一种显示设备及浏览器残留帧清除方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110766125.5A CN113378096B (zh) | 2021-07-07 | 2021-07-07 | 一种显示设备及浏览器残留帧清除方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113378096A CN113378096A (zh) | 2021-09-10 |
CN113378096B true CN113378096B (zh) | 2024-03-29 |
Family
ID=77581176
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110766125.5A Active CN113378096B (zh) | 2021-07-07 | 2021-07-07 | 一种显示设备及浏览器残留帧清除方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113378096B (zh) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103650521A (zh) * | 2011-06-29 | 2014-03-19 | 索尼电脑娱乐公司 | 信息处理设备和信息处理方法 |
CN107102896A (zh) * | 2016-02-23 | 2017-08-29 | 阿里巴巴集团控股有限公司 | 一种多级缓存的操作方法、装置及电子设备 |
CN111629249A (zh) * | 2020-05-15 | 2020-09-04 | 海信视像科技股份有限公司 | 一种开机图片的播放方法及显示设备 |
-
2021
- 2021-07-07 CN CN202110766125.5A patent/CN113378096B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103650521A (zh) * | 2011-06-29 | 2014-03-19 | 索尼电脑娱乐公司 | 信息处理设备和信息处理方法 |
CN107102896A (zh) * | 2016-02-23 | 2017-08-29 | 阿里巴巴集团控股有限公司 | 一种多级缓存的操作方法、装置及电子设备 |
CN111629249A (zh) * | 2020-05-15 | 2020-09-04 | 海信视像科技股份有限公司 | 一种开机图片的播放方法及显示设备 |
Also Published As
Publication number | Publication date |
---|---|
CN113378096A (zh) | 2021-09-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112905210B (zh) | 服务器及灰度发布方法 | |
CN113507646B (zh) | 一种显示设备及浏览器多标签页媒资播放方法 | |
CN114302201B (zh) | 一种音箱模式下自动开关屏的方法及智能终端、显示设备 | |
CN114302190A (zh) | 一种显示设备及画质调整方法 | |
WO2021121051A1 (zh) | 一种显示方法及显示设备 | |
CN113395556A (zh) | 显示设备及详情页展示的方法 | |
CN114040254B (zh) | 一种显示设备及高并发消息显示方法 | |
CN113378096B (zh) | 一种显示设备及浏览器残留帧清除方法 | |
CN113391746B (zh) | 一种显示设备及多窗口焦点控制方法 | |
CN114390190B (zh) | 显示设备及监测应用启动摄像头的方法 | |
CN112584210B (zh) | 显示设备、视频录制方法及录制文件展示方法 | |
CN113542878B (zh) | 一种基于人脸识别与手势检测的唤醒方法及显示设备 | |
CN116340680A (zh) | 一种显示设备及插件对象生命周期管理的控制方法 | |
CN113286185A (zh) | 一种显示设备及主页显示方法 | |
CN113596559A (zh) | 一种信息栏显示信息的方法及显示设备 | |
CN112668546A (zh) | 视频缩略图显示方法及显示设备 | |
CN113689856B (zh) | 一种浏览器页面视频播放进度的语音控制方法及显示设备 | |
CN113766164B (zh) | 显示设备及信号源界面显示方法 | |
CN112835633B (zh) | 显示设备及显示语言的控制方法 | |
CN115150667B (zh) | 显示设备及广告播放方法 | |
CN112199560B (zh) | 一种设置项的搜索方法及显示设备 | |
CN115412751B (zh) | 一种显示设备及可视化菜单控制方法 | |
CN112487322B (zh) | 一种第三方应用Loading页面的加载方法及显示设备 | |
CN112199612B (zh) | 一种书签添加和合并的方法及显示设备 | |
CN113596563B (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 | ||
TA01 | Transfer of patent application right | ||
TA01 | Transfer of patent application right |
Effective date of registration: 20221021 Address after: 83 Intekte Street, Devon, Netherlands Applicant after: VIDAA (Netherlands) International Holdings Ltd. Address before: 9 / F, Hisense south building, 1777 Chuangye Road, Nanshan District, Shenzhen, Guangdong 518000 Applicant before: HISENSE ELECTRONIC TECHNOLOGY (SHENZHEN) Co.,Ltd. |
|
GR01 | Patent grant | ||
GR01 | Patent grant |