一种RH850液晶仪表虚拟指针优化方法和装置与流程

文档序号:25543134发布日期:2021-06-18 20:39阅读:352来源:国知局
一种RH850液晶仪表虚拟指针优化方法和装置与流程

本发明涉及车载液晶仪表领域,尤其涉及一种rh850液晶仪表虚拟指针优化方法和装置。



背景技术:

随着液晶仪表的普及,越来越多的汽车用户追求液晶仪表盘,目前rh850d1mx系列可以驱动3.5~10.25寸的液晶仪表,最高可以驱动1280*480的液晶仪表。而大尺寸的液晶仪表的车速、转速等指针信息采用虚拟指针通过tft屏幕显示出来,为了满足汽车安全要求,一般要求虚拟指针的刷新率要达到60fps,否则指针延迟会给用户带来安全隐患;而其他仪表元素的显示帧率只需要保持在20fps左右,使肉眼无明显卡顿即可。但rh850mcu搭配的gpu渲染能力非常有限,无法保证整个画面的显示刷新率稳定在60fps左右。因此需要提供一个有效的优化方法,用以保证指针的刷新率稳定在60fps。

现有的一种虚拟指针优化方法,单独创建一层sprite窗口,将表盘指针作为独立的sprite贴到窗口上;仪表其他显示元素全部放在另外一层窗口上;最后由rh850的硬件blitengine将两层窗口进行硬件混合后输出到屏幕上的像素点上进行显示。由于sprite窗口只能使用贴图,不能进行旋转、缩放等操作,所以需要将指针的每个旋转角度都切成独立的图片放到外部flash,这样会导致外部flash资源占用非常大。



技术实现要素:

为了解决上述问题,本发明实施例提供一种克服上述问题或者至少部分地解决上述问题的rh850液晶仪表虚拟指针优化方法和装置。

第一方面,本发明实施例提供一种rh850液晶仪表虚拟指针优化方法,包括:

s1,创建虚拟指针窗口和仪表元素窗口;其中,所述虚拟指针窗口和仪表元素窗口均为双缓冲(doublebuffer)窗口;

s2,在每一个vsync周期中,通过gpu在虚拟指针窗口描绘虚拟指针,在仪表元素窗口描绘预设比例的仪表元素。

具体地,rh850液晶仪表mcu创建虚拟指针窗口和仪表元素窗口,两层窗口都采用前后台doublebuffer。虚拟指针窗口用于rh850液晶仪表mcu搭载的gpu描绘虚拟指针;仪表元素窗口用于gpu描绘仪表元素。

优选的,步骤s2中所述仪表元素是除了虚拟指针之外其他仪表显示元素,所述仪表元素包括但不限于显示背景和指示灯。

优选的,步骤s2具体包括:

s21,在第一个vsync周期内,通过gpu在虚拟指针窗口描绘第一帧虚拟指针画面;

s22,假设将每一帧仪表元素画面均分为三个部分,包括第1/3部分、第2/3部分和第3/3部分,设定gpu在一个vsync周期内描绘一帧仪表元素画面的其中一个部分;在第一帧虚拟指针描绘完成后,通过gpu在仪表元素窗口描绘第一帧的第1/3部分仪表元素;

s23,在第二个vsync周期内,通过gpu在虚拟指针窗口描绘第二帧虚拟指针画面,同时在虚拟指针窗口显示第一帧虚拟指针画面;然后通过gpu在仪表元素窗口描绘第一帧的第2/3部分仪表元素;

s24,在第三个vsync周期内,通过gpu在虚拟指针窗口描绘第三帧虚拟指针画面,同时在虚拟指针窗口显示第二帧虚拟指针画面,然后通过gpu在仪表元素窗口描绘第一帧的第3/3部分仪表元素。

优选的,在步骤s22之后,所述方法还包括:

在第一个vsync周期之后的每一次vsync中断时,交换虚拟指针窗口的描绘buffer和显示buffer。

优选的,在步骤s24之后,所述方法还包括:

在第四个vsync周期内,通过gpu在虚拟指针窗口描绘第四帧虚拟指针画面,同时在虚拟指针窗口显示第三帧虚拟指针画面;然后通过gpu在仪表元素窗口描绘第二帧的第1/3部分仪表元素,同时在仪表元素窗口显示第一帧仪表元素画面。

第二方面,本发明实施例还提供一种rh850液晶仪表虚拟指针优化装置,包括:

窗口创建模块,用于创建虚拟指针窗口和仪表元素窗口;其中,所述虚拟指针窗口和仪表元素窗口均为双缓冲窗口;

描绘模块,用于在每一个vsync周期中,通过gpu在虚拟指针窗口描绘虚拟指针,在仪表元素窗口描绘预设比例的仪表元素。

第三方面,本发明实施例提供了一种电子设备,包括处理器、存储器、通信接口和总线;其中,所述处理器、存储器、通信接口通过所述总线完成相互间的通信;所述存储器存储有可被所述处理器执行的程序指令,所述处理器调用所述程序指令能够执行第一方面实施例提供的rh850液晶仪表虚拟指针优化方法。

第四方面,本发明实施例提供了一种非暂态计算机可读存储介质,所述非暂态计算机可读存储介质存储计算机程序,该计算机程序被处理器执行时实现以执行第一方面实施例提供的rh850液晶仪表虚拟指针优化方法。

本发明实施例提供的rh850液晶仪表虚拟指针优化方法和装置,与现有技术相比,在不增加外部flash消耗的前提下,通过分层动态分配gpu资源的方式,降低了除虚拟指针外其他仪表元素画面的帧率,能够保证rh850液晶仪表虚拟指针帧率始终稳定的保持在60fps左右。实现在有限的gpu运算能力的条件下,有效的保证rh850液晶仪表虚拟指针的刷新率。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本发明实施例提供的rh850液晶仪表虚拟指针优化方法流程示意图;

图2为本发明实施例提供的rh850液晶仪表虚拟指针优化方法原理图;

图3为本发明实施例提供的rh850液晶仪表虚拟指针优化装置结构示意图;

图4为本发明实施例提供的电子设备的结构示意图。

具体实施方式

为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

在本文中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本申请的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域技术人员显式地和隐式地理解的是,本文所描述的实施例可以与其它实施例相结合。

目前,rh850d1mx系列可以驱动3.5~10.25寸的液晶仪表,最高可以驱动1280*480的液晶仪表。而大尺寸的液晶仪表的车速、转速等指针信息采用虚拟指针通过tft屏幕显示出来,为了满足汽车安全要求,一般要求虚拟指针的刷新率要达到60fps,否则指针延迟会给用户带来安全隐患;而其他仪表元素的显示帧率只需要保持在20fps左右,使肉眼无明显卡顿即可。但rh850mcu搭配的gpu渲染能力非常有限,是无法保证整个画面的显示刷新率稳定在60fps左右。

针对现有技术的上述问题,本发明实施例提供了一种rh850液晶仪表虚拟指针优化方法,适用于基于rh850芯片的液晶仪表,可以在有限的gpu运算能力的条件下,有效的保证rh850液晶仪表虚拟指针的刷新率。以下将结合附图通过多个实施例进行展开说明和介绍。

图1为本发明实施例提供的rh850液晶仪表虚拟指针优化方法流程示意图,如图1所示,本发明实施例提供的rh850液晶仪表虚拟指针优化方法包括但不限于以下步骤:

s1,创建虚拟指针窗口和仪表元素窗口;其中,所述虚拟指针窗口和仪表元素窗口均为双缓冲(doublebuffer)窗口;

s2,在每一个vsync周期中,通过gpu在虚拟指针窗口描绘虚拟指针,在仪表元素窗口描绘预设比例的仪表元素。

本实施例中,仪表元素是除了虚拟指针之外其他仪表显示元素。本文中,仪表元素包括但不限于显示背景和指示灯。

具体地,首先创建虚拟指针窗口和仪表元素窗口,两层窗口都采用前后台doublebuffer。虚拟指针窗口用于rh850液晶仪表mcu搭载的gpu描绘虚拟指针;仪表元素窗口用于gpu描绘仪表元素。

由于rh850mcu搭配的gpu渲染能力非常有限,因此,本发明实施例在每一个vsync周期中,通过gpu在虚拟指针窗口描绘虚拟指针,在仪表元素窗口描绘预设比例的仪表元素,此处的预设比例可以是1/3或者1/4,本发明实施例对此不做具体限定。最后,通过rh850的硬件blitengine将虚拟指针窗口和仪表元素窗口进行硬件混合后输出到液晶屏幕上的像素点上进行显示。这样可以通过降低其他仪表元素窗口的绘制周期,将更多的gpu渲染能力分配给虚拟指针窗口,从而提高虚拟指针的渲染帧率。

图2为本发明实施例提供的rh850液晶仪表虚拟指针优化方法原理图,参照图2,本发明实施例在每一个vsync周期中,通过gpu在仪表元素窗口描绘预设比例的仪表元素。可以假设将每一帧仪表元素画面均分为三个部分,包括第1/3部分、第2/3部分和第3/3部分,设定gpu在一个vsync周期内描绘一帧仪表元素画面的其中一个部分。

在此基础上,参照图2,步骤s2具体可以包括以下步骤:

s21,在第一个vsync周期内,通过gpu在虚拟指针窗口描绘第一帧虚拟指针画面,大约花费8ms的描绘时间。

s22,假设将每一帧仪表元素画面均分为三个部分,包括第1/3部分、第2/3部分和第3/3部分,设定gpu在一个vsync周期内描绘一帧仪表元素画面的其中一个部分;在第一帧虚拟指针描绘完成后,通过gpu在仪表元素窗口描绘第一帧的第1/3部分仪表元素;

具体地,液晶仪表屏幕刷新率设置为60hz,即每16~17ms产生一次vsync中断,而对于1280*480分辨率的仪表,仪表元素描绘大约需要22ms,所以在第一帧虚拟指针描绘完成后,将gpu绘制目标buffer设置成仪表元素窗口的绘制buffer,并只绘制1/3的元素,大约消耗8ms。

本实施例中第一个vsync周期之后,每一次lcd的vsync中断产生时,交换虚拟指针窗口的描绘buffer和显示buffer。

s23,在第二个vsync周期内,通过gpu在虚拟指针窗口描绘第二帧虚拟指针画面,同时在虚拟指针窗口显示第一帧虚拟指针画面;然后通过gpu在仪表元素窗口描绘第一帧的第2/3部分仪表元素;

s24,在第三个vsync周期内,通过gpu在虚拟指针窗口描绘第三帧虚拟指针画面,同时在虚拟指针窗口显示第二帧虚拟指针画面,然后通过gpu在仪表元素窗口描绘第一帧的第3/3部分仪表元素。

进一步地,参照图2,在第四个vsync周期内,通过gpu在虚拟指针窗口描绘第四帧虚拟指针画面,同时在虚拟指针窗口显示第三帧虚拟指针画面;然后通过gpu在仪表元素窗口描绘第二帧的第1/3部分仪表元素,同时在仪表元素窗口显示第一帧仪表元素画面。

本发明实施例中,这样保证每个vsync中断周期过程中,可以描绘完虚拟指针并进行交换,让用户看到虚拟指针因角度转动发生更新,这样可以保证虚拟指针达到60fps。参照图2,每3个vsync周期可以描绘完仪表显示元素,并且每3个vsync周期交换仪表元素窗口的描绘buffer和显示buffer,这样仪表元素窗口的帧率被下降到20fps。

本发明实施例提供的rh850液晶仪表虚拟指针优化方法,与现有技术相比,在不增加外部flash消耗的前提下,通过分层动态分配gpu资源的方式,降低了除虚拟指针外其他仪表元素画面的帧率,能够保证rh850液晶仪表虚拟指针帧率始终稳定的保持在60fps左右。实现在有限的gpu运算能力的条件下,有效的保证rh850液晶仪表虚拟指针的刷新率。

在一个实施例中,图3为本发明实施例提供的rh850液晶仪表虚拟指针优化装置结构示意图,本发明实施例提供的rh850液晶仪表虚拟指针优化装置用于执行上述方法实施例中的rh850液晶仪表虚拟指针优化方法。如图3所示,该装置包括:

窗口创建模块301,用于创建虚拟指针窗口和仪表元素窗口;其中,所述虚拟指针窗口和仪表元素窗口均为双缓冲窗口;

描绘模块302,用于在每一个vsync周期中,通过gpu在虚拟指针窗口描绘虚拟指针,在仪表元素窗口描绘预设比例的仪表元素。

具体的如何利用窗口创建模块301和描绘模块302进行rh850液晶仪表虚拟指针优化,可以参照前述的方法实施例,本发明实施例在此不再赘述。

在一个实施例中,本发明实施例提供了本发明实施例提供了一种电子设备,如图4所示,该电子设备可以包括:处理器(processor)401、通信接口(communicationsinterface)402、存储器(memory)403和通信总线404,其中,处理器401,通信接口402,存储器403通过通信总线404完成相互间的通信。处理器401可以调用存储器403中的逻辑指令,以执行上述各实施例提供的rh850液晶仪表虚拟指针优化方法的步骤,例如包括:s1,创建虚拟指针窗口和仪表元素窗口;其中,所述虚拟指针窗口和仪表元素窗口均为双缓冲窗口;s2,在每一个vsync周期中,通过gpu在虚拟指针窗口描绘虚拟指针,在仪表元素窗口描绘预设比例的仪表元素。

在一个实施例中,本发明实施例还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现以执行上述各实施例提供的rh850液晶仪表虚拟指针优化方法的步骤,例如包括:s1,创建虚拟指针窗口和仪表元素窗口;其中,所述虚拟指针窗口和仪表元素窗口均为双缓冲窗口;s2,在每一个vsync周期中,通过gpu在虚拟指针窗口描绘虚拟指针,在仪表元素窗口描绘预设比例的仪表元素。

综上所述,本发明实施例提供了一种rh850液晶仪表虚拟指针优化方法和装置,与现有技术相比,在不增加外部flash消耗的前提下,通过分层动态分配gpu资源的方式,降低了除虚拟指针外其他仪表元素画面的帧率,能够保证rh850液晶仪表虚拟指针帧率始终稳定的保持在60fps左右。实现在有限的gpu运算能力的条件下,有效的保证rh850液晶仪表虚拟指针的刷新率。

本发明的各实施方式可以任意进行组合,以实现不同的技术效果。

通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如rom/ram、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。

最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1