显示方法及装置与流程

文档序号:15587823发布日期:2018-10-02 18:35阅读:143来源:国知局

本发明实施例涉及计算机技术领域,尤其涉及一种显示方法及装置。



背景技术:

目前,在linux操作系统、vxworks操作系统等多种操作系统中,通常采用帧缓冲(framebuffer)机制在屏幕中显示数据信息。

在framebuffer机制中,先将需要在显示屏中显示的数据写入显存,并通过显存将数据显示在显示屏上。显存的大小通常等于显示屏一屏数据的大小,且显存中不同的存储空间用于存储所述显示屏中不同行对应的数据,例如,显存中地址1到地址2对应的存储空间用于存储屏幕中第一行显示的数据,地址2到地址3对应的存储空间用于存储屏幕中第二行显示的数据。在现有技术中,当需要在屏幕上显示新的数据、且新的数据占用的存储空间大于显存的剩余空间时,需要删除显存中、与显示屏幕前n行对应的数据,并更新显存中的剩余数据的存储位置,以使剩余数据可以从显示屏幕的第一行开始显示;然后,将新的数据存储到显存的剩余存储空间中,并将显存中的数据重新显示在显示屏上。

然而,在现有技术中,在更新显存中的剩余数据的存储位置的过程中,处理器需要先复制显存中的剩余数据,并将剩余数据存储在显存的预设位置。由于处理器对显存中数据的操作速度较慢,使得处理器更新显存中的剩余数据的存储位置的速度较慢,进而导致对数据进行显示的效率较低。



技术实现要素:

本发明实施例提供一种显示方法及装置,用于提高对数据进行显示的效率。

第一方面,本发明实施例提供一种显示方法,应用于基于framebuffer机制的显示装置,所述方法包括:

获取待显示数据;

当所述待显示数据所需的第一存储空间大于显存的剩余存储空间时,根据所述第一存储空间和所述剩余存储空间,在所述显存对应的预设内存中确定待拷贝数据,所述预设内存中的数据与所述显存中的数据相同,所述待拷贝数据为显示屏中除所述待显示数据外需要显示的当前数据;

从所述显存的起始存储位置开始存储所述待拷贝数据,在所述显存中与所述待拷贝数据相邻的存储空间存储所述待显示数据,在所述显示屏中显示所述显存中的数据。

在一种可能的实施方式中,当所述待显示数据所需的第一存储空间小于或等于所述显存的剩余存储空间时,所述方法还包括:

在所述预设内存和所述显存中存储所述待显示数据;

在显示屏中显示所述待显示数据。

在另一种可能的实施方式中,在从所述显示的起始存储空间开始存储所述待拷贝数据之后,还包括:

从所述预设内存的起始存储位置开始存储所述待拷贝数据;

在所述预设内存中与所述待拷贝数据相邻的存储空间存储所述待显示数据。

在另一种可能的实施方式中,所述获取待显示数据,包括:

接收用户通过输入设备输入的数据,将所述用户输入的数据确定为所述待显示数据;

或者,

接收用户输入的数据获取指令,根据所述数据获取指令获取所述待显示数据。

在另一种可能的实施方式中,根据所述第一存储空间和所述剩余存储空间,在所述显存对应的预设内存中确定待拷贝数据,包括:

根据所述第一存储空间和所述剩余存储空间,在所述预设内存中确定拷贝起始存储位置,所述预设内存的起始存储位置到所述拷贝起始存储位置之间的存储空间等于所述第一存储空间和所述剩余存储空间之差;

将所述预设内存中、从所述拷贝起始存储位置开始的所有数据确定为所述待拷贝数据。

在另一种可能的实施方式中,在从所述显存的起始存储位置开始存储所述待拷贝数据之前,还包括:

将所述显存的起始存储位置至所述拷贝起始存储位置中的数据拷贝至预设缓存;

删除所述显存中的所有数据。

第二方面,本发明实施例提供一种显示装置,包括获取模块、确定模块、存储模块和显示模块,其中,

所述获取模块用于,获取待显示数据;

所述确定模块用于,当所述待显示数据所需的第一存储空间大于显存的剩余存储空间时,根据所述第一存储空间和所述剩余存储空间,在所述显存对应的预设内存中确定待拷贝数据,所述预设内存中的数据与所述显存中的数据相同,所述待拷贝数据为显示屏中除所述待显示数据外需要显示的当前数据;

所述存储模块用于,从所述显存的起始存储位置开始存储所述待拷贝数据,在所述显存中与所述待拷贝数据相邻的存储空间存储所述待显示数据;

所述显示模块用于,在所述显示屏中显示所述显存中的数据。

在一种可能的实施方式中,当所述待显示数据所需的第一存储空间小于或等于所述显存的剩余存储空间时,所述存储模块还用于,在所述预设内存和所述显存中存储所述待显示数据;

所述显示模块还用于,在显示屏中显示所述待显示数据。

在另一种可能的实施方式中,所述存储模块还用于:

在所述存储模块从所述显示的起始存储空间开始存储所述待拷贝数据之后,从所述预设内存的起始存储位置开始存储所述待拷贝数据,并在所述预设内存中与所述待拷贝数据相邻的存储空间存储所述待显示数据。

在另一种可能的实施方式中,所述获取模块具体用于:

接收用户通过输入设备输入的数据,将所述用户输入的数据确定为所述待显示数据;

或者,

接收用户输入的数据获取指令,根据所述数据获取指令获取所述待显示数据。

在另一种可能的实施方式中,所述确定模块具体用于:

根据所述第一存储空间和所述剩余存储空间,在所述预设内存中确定拷贝起始存储位置,所述预设内存的起始存储位置到所述拷贝起始存储位置之间的存储空间等于所述第一存储空间和所述剩余存储空间之差;

将所述预设内存中、从所述拷贝起始存储位置开始的所有数据确定为所述待拷贝数据。

在另一种可能的实施方式中,所述装置还包括删除模块,其中,

所述存储模块还用于,在存储模块从所述显存的起始存储位置开始存储所述待拷贝数据之前,将所述显存的起始存储位置至所述拷贝起始存储位置中的数据拷贝至预设缓存;

所述删除模块用于,删除所述显存中的所有数据。

本发明实施例提供的显示方法及装置,在内存中划分预设内存,预设内存和显存中存储的数据相同。在对待显示数据进行显示的过程中,当待显示数据所需的存储空间大于显存的剩余存储空间时,将预设内存中确定待拷贝数据,从预设内存中复制待拷贝数据,并从显示的起始存储位置开始存储复制的待拷贝数据,然后将在显存中、与待拷贝数据相邻的存储空间存储待显示数据,并在显示屏中显示显存中的数据。在上述过程中,由于显示装置可以快速对预设内存进行操作,因此,可以提高对显存中数据进行更新的速度,进而提高对数据进行显示的效率。

附图说明

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

图1为本发明实施例提供的显示方法的应用场景示意图;

图2为本发明实施例提供的显存和显示屏的结构示意图;

图3为本发明实施例提供的显示方法的流程示意;

图4为本发明实施例提供的显存、预设内存及显示屏的结构示意图;

图5为本发明实施例提供的显示装置的结构示意图一;

图6为本发明实施例提供的显示装置的结构示意图二。

具体实施方式

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

图1为本发明实施例提供的显示方法的应用场景示意图。请参见图1,包括显示屏101、显存102、预设内存103和处理器104。显示屏101可以为电脑显示屏等,显示屏101对应的操作系统可以为linux操作系统、vxworks操作系统等。显存102的大小通常等于显示屏101一屏数据的大小。预设内存103为在内存中划分的一块预设存储区域,预设内存103的大小通常与显存的大小相同,且预设内存103中存储的数据与显存102中存储的数据相同。

在实际应用过程中,处理器104将需要显示的数据同步存放在显存102和预设内存103中,并通过显存102将需要显示的数据显示在显示屏101中。当需要对显存102中的数据的存储位置进行更新时,处理器104将预设内存103中的部分数据拷贝至显存102中。由于处理器104可以快速对预设内存103中的数据进行操作,以使处理器104可以快速将需要拷贝的数据从预设内存103拷贝至显存102中,以实现对显存102中的数据的存储位置进行更新,进而提高在显示屏中进行数据显示的效率。

为了便于对本申请的理解,下面,结合图2,对本申请中的显存中的数据与显示屏中显示数据的对应关系进行详细说明。

图2为本发明实施例提供的显存和显示屏的结构示意图。请参见图2,包括显示屏101和显存102。在显示屏101中可以显示n行数据。显存102的存储空间可以划分为n个子存储空间,每一个子存储空间对应显示屏101中的一行数据。例如,显存102中地址1-地址2对应的存储空间中的数据与显示屏101中的第一行数据对应,显存102中地址2-地址3对应的存储空间中的数据与显示屏101中的第二行数据对应。

下面,通过具体实施例,对本申请所示的技术方案进行详细说明。下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例中不再赘述。

图3为本发明实施例提供的显示方法的流程示意。请参见图3,该方法可以包括:

s301、获取待显示数据。

本发明实施例所示方法的执行主体可以为显示装置,该显示装置可以设置在处理器中。可选的,显示装置可以通过软件和/或硬件实现。

可选的,待显示数据可以为用户通过输入设备输入的数据。可选的,输入设备可以为键盘等。

可选的,待显示数据还可以为根据用户输入的数据获取指令获取得到的数据。可选的,用户可以通过输入设备输入命令行,显示屏根据用户输入的命令行调用预设接口函数,并通过预设接口函数获取命令行对应的数据。例如,在vxworks操作系统中,在用户输入命令行“ipconfig”,并点击回车之后,显示装置确定该命令行对应的预设接口函数,并根据该命令行对应的接口函数获取本机的互联网协议(internetprotocol,简称ip)地址。

s302、判断待显示数据所需的第一存储空间是否大于显存的剩余存储空间。

若是,则执行s303-s304。若否,则执行s305。

其中,显存的大小等于显示屏中一屏数据的大小,显存中不同存储空间用于存储显示屏中不同行对应的数据。可选的,显存的大小可以与显示屏的分辨率及屏幕的色深相关,例如,假设屏幕分辨率为1024*768,且屏幕为16位(2个字节)色深,则一屏数据的大小为:1024*768*2=1572864b=1.5m。

在显示装置获取得到待显示数据之后,显示装置获取待显示数据所需的第一存储空间、以及显存的剩余存储空间。可选的,显示装置可以根据待显示数据的大小、待显示数据中包括的“回车字符”个数、以及待显示数据在显示屏中的起始显示位置,确定存储待显示数据所需的第一存储空间。

可选的,由于预设内存的大小和显存的大小相同,且预设内存中存储的数据和显存中存储的数据相同,因此,预设内存的剩余存储控件和显存中的剩余存储空间相同。在显示装置需要获取显存的剩余存储空间时,为了加快获取速度,显示装置可以获取预设内存的剩余存储,并将预设内存的剩余存储空间确定为显存的剩余存储空间。

显示装置判断第一存储空间是否大于显存的剩余存储空间,若是,则说明需要对显存中的数据进行拷贝,才能够存下待显示数据。若否,则说明无需对显存中的数据进行拷贝即可存下待显示数据。

s303、根据第一存储空间和剩余存储空间,在显存对应的预设内存中确定待拷贝数据。

待拷贝数据为显示屏中除待显示数据外需要显示的当前数据,其中,待拷贝数据为显示屏中当前显示的数据中的一部分,且在显示屏中显示完待显示数据之后,显示屏中还显示待拷贝数据。

可选的,显示装置可以根据第一存储空间和剩余存储空间,在预设内存中确定拷贝起始存储位置,并将预设内存中、从拷贝起始存储位置开始的所有数据确定为待拷贝数据。其中,预设内存的起始存储位置到拷贝起始存储位置之间的存储空间等于第一存储空间和剩余存储空间之差。

例如,假设显存的存储空间为30kb,显存的存储空间被划分为30个子存储空间,每一个子存储空间对应显示屏中的一行,按照地址从低到高的顺序,该30个子存储空间分别记为子存储空间1-子存储空间30。再假设第一存储空间为5kb,剩余存储空间为2kb,则此时显存的子存储空间1-子存储空间28中均存储有数据。

第一存储空间和剩余存储空间之差为3kb,则确定起始存储位置为子存储空间4的起始存储位置,并将子存储空间4-子存储空间28中的数据确定为待拷贝数据。

s304、从显存的起始存储位置开始存储待拷贝数据,在显存中与待拷贝数据相邻的存储空间存储待显示数据,在显示屏中显示显存中的数据。

在显示装置确定得到待拷贝数据之后,显示装置从显存的起始存储位置开始存储待拷贝数据。可选的,在存储待拷贝数据时,可以直接将待拷贝数据覆盖显存中之前存储的数据,也可以先删除显存中存储的数据,并将待拷贝数据存储在显存中。

在从显存的起始存储位置开始存储待拷贝数据之后,显存中则不包括起始存储位置至拷贝起始存储位置中的数据,为了避免用户需要查看该部分数据,在从显存的起始存储位置开始存储待拷贝数据之前,可以先将显存的起始存储位置至拷贝起始存储位置中的数据拷贝至预设缓存。

在显存中存储完待拷贝数据之后,在显存的剩余存储空间中存储待显示数据。在显存中存储完待显示数据之后,将显存中的数据显示在显示屏中。

同时,为了保证预设内存中的数据与显存中的数据相同,则从预设内存的起始存储位置开始存储待拷贝数据,并在预设内存中与待拷贝数据相邻的存储空间存储待显示数据。

s305、在预设内存和显存中存储待显示数据,并在显示屏中显示待显示数据。

当待显示数据所需的第一存储空间是否小于或等于显存的剩余存储空间,则可以直接将待显示数据写入预设内存和显存的剩余存储空间中,并通过显存在显示屏中显示待显示数据。这样,可以保证预设内存和显存中的数据相同。

下面,结合图4所示的显存、预设内存及显示屏的结构示意图,通过具体示例,对图3实施例所示的方法进行详细说明。

图4为本发明实施例提供的显存、预设内存及显示屏的结构示意图。请参见图4,包括显示屏401-1至401-2、显存402-1至402-3、预设内存403-1至403-3。

假设在显存和预设内存的大小相同,显存和预设内存的大小均为9kb,显存和预设内存的存储空间均被划分为9个子存储空间,每一个子存储控件对应1kb。假设在显示屏中可以显示9行数据,显存中的每一个子存储空间对应显示屏中的一行。

在时刻1,假设显示屏中的数据如显示屏401-1所示,显示屏的前8行均显示了数据。相应的,在显存402-1和预设内存403-1中地址1-地址9对应的存储空间已存储相应的数据,显存的剩余存储空间为1kb。

在时刻2,假设需要在显示屏中显示待显示数据,显示装置获取待显示数据所需存储空间的大小为2kb,大于显存的剩余存储空间(1kb)。显示装置根据待显示数据所需存储空间(2kb)和显存的剩余存储空间(1kb),确定拷贝起始存储位置为地址2对应的位置,其中,地址2与地址1之间的存储控件的大小等于待显示数据所需存储空间与剩余存储空间之差。

显示装置将预设内存中地址2-地址9中的数据拷贝到显存的地址1-地址8中,显示装置还将预设内存中地址2-地址9中的数据拷贝到预设内存的地址1-地址8中。在拷贝完成之后,显存中的数据如显存402-2所示,预设内存中的数据如预设内存403-2所示。

在将待拷贝数据拷贝完成之后,显示装置将待显示数据写入显存、及预设内存的地址8-地址10,写入数据之后的显存中的数据如显存402-3所示,写入数据之后的预设内存中的数据如预设内存402-3所示。

在将待显示数据写入显存之后,将显存402-3中的数据显示在显示屏中,此时,显示屏中显示的内容如显示屏401-2所示。

本发明实施例提供的显示方法,在内存中划分预设内存,预设内存和显存中存储的数据相同。在对待显示数据进行显示的过程中,当待显示数据所需的存储空间大于显存的剩余存储空间时,将预设内存中确定待拷贝数据,从预设内存中复制待拷贝数据,并从显存的起始存储位置开始存储复制的待拷贝数据,然后在显存中、与待拷贝数据相邻的存储空间存储待显示数据,并在显示屏中显示显存中的数据。在上述过程中,由于显示装置可以快速对预设内存进行操作,因此,可以提高对显存中数据进行更新的速度,进而提高对数据进行显示的效率。

图5为本发明实施例提供的显示装置的结构示意图一。请参见图5,该装置可以包括获取模块11、确定模块12、存储模块13和显示模块14,其中,

所述获取模块11用于,获取待显示数据;

所述确定模块12用于,当所述待显示数据所需的第一存储空间大于显存的剩余存储空间时,根据所述第一存储空间和所述剩余存储空间,在所述显存对应的预设内存中确定待拷贝数据,所述预设内存中的数据与所述显存中的数据相同,所述待拷贝数据为显示屏中除所述待显示数据外需要显示的当前数据;

所述存储模块13用于,从所述显存的起始存储位置开始存储所述待拷贝数据,在所述显存中与所述待拷贝数据相邻的存储空间存储所述待显示数据;

所述显示模块14用于,在所述显示屏中显示所述显存中的数据。

本发明实施例提供的显示装置可以执行上述方法实施例所示的技术方案,其实现原理以及有益效果类似,此处不再进行赘述。

在一种可能的实施方式中,当所述待显示数据所需的第一存储空间小于或等于所述显存的剩余存储空间时,所述存储模块13还用于,在所述预设内存和所述显存中存储所述待显示数据;

所述显示模块14还用于,在显示屏中显示所述待显示数据。

在另一种可能的实施方式中,所述存储模块13还用于:

在所述存储模块从所述显示的起始存储空间开始存储所述待拷贝数据之后,从所述预设内存的起始存储位置开始存储所述待拷贝数据,并在所述预设内存中与所述待拷贝数据相邻的存储空间存储所述待显示数据。

在另一种可能的实施方式中,所述获取模块11具体用于:

接收用户通过输入设备输入的数据,将所述用户输入的数据确定为所述待显示数据;

或者,

接收用户输入的数据获取指令,根据所述数据获取指令获取所述待显示数据。

在另一种可能的实施方式中,所述确定模块12具体用于:

根据所述第一存储空间和所述剩余存储空间,在所述预设内存中确定拷贝起始存储位置,所述预设内存的起始存储位置到所述拷贝起始存储位置之间的存储空间等于所述第一存储空间和所述剩余存储空间之差;

将所述预设内存中、从所述拷贝起始存储位置开始的所有数据确定为所述待拷贝数据。

图6为本发明实施例提供的显示装置的结构示意图二。在图5所示实施例的基础上,请参见图6,所述装置还包括删除模块15,其中,

所述存储模块13还用于,在存储模块从所述显存的起始存储位置开始存储所述待拷贝数据之前,将所述显存的起始存储位置至所述拷贝起始存储位置中的数据拷贝至预设缓存;

所述删除模块15用于,删除所述显存中的所有数据。

本发明实施例提供的显示装置可以执行上述方法实施例所示的技术方案,其实现原理以及有益效果类似,此处不再进行赘述。

本领域普通技术人员可以理解:实现上述各方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成。前述的程序可以存储于一计算机可读取存储介质中。该程序在执行时,执行包括上述各方法实施例的步骤;而前述的存储介质包括:rom、ram、磁碟或者光盘等各种可以存储程序代码的介质。

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

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