CN112445318A - 一种对象显示方法、装置、电子设备及存储介质 - Google Patents
一种对象显示方法、装置、电子设备及存储介质 Download PDFInfo
- Publication number
- CN112445318A CN112445318A CN201910818961.6A CN201910818961A CN112445318A CN 112445318 A CN112445318 A CN 112445318A CN 201910818961 A CN201910818961 A CN 201910818961A CN 112445318 A CN112445318 A CN 112445318A
- Authority
- CN
- China
- Prior art keywords
- frame
- model object
- target model
- data
- pixel data
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 88
- 238000012545 processing Methods 0.000 claims abstract description 60
- 125000004122 cyclic group Chemical group 0.000 claims description 29
- 238000000605 extraction Methods 0.000 claims description 18
- 238000006243 chemical reaction Methods 0.000 claims description 14
- 238000009877 rendering Methods 0.000 abstract description 24
- 238000004364 calculation method Methods 0.000 abstract description 9
- 230000008030 elimination Effects 0.000 abstract description 5
- 238000003379 elimination reaction Methods 0.000 abstract description 5
- 238000000638 solvent extraction Methods 0.000 abstract description 4
- 230000008569 process Effects 0.000 description 19
- 238000010586 diagram Methods 0.000 description 15
- 238000004891 communication Methods 0.000 description 10
- 230000008859 change Effects 0.000 description 9
- 238000004590 computer program Methods 0.000 description 7
- 238000005516 engineering process Methods 0.000 description 6
- 238000012360 testing method Methods 0.000 description 6
- 230000006870 function Effects 0.000 description 5
- 230000003287 optical effect Effects 0.000 description 5
- 230000009471 action Effects 0.000 description 4
- 230000005236 sound signal Effects 0.000 description 4
- 238000013500 data storage Methods 0.000 description 3
- 239000012634 fragment Substances 0.000 description 3
- 238000002156 mixing Methods 0.000 description 3
- 230000001133 acceleration Effects 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 238000007726 management method Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 241001465754 Metazoa Species 0.000 description 1
- 230000004075 alteration Effects 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000000903 blocking effect Effects 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000003384 imaging method Methods 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 239000003550 marker Substances 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 238000003672 processing method Methods 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- G06F1/3234—Power saving characterised by the action undertaken
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T1/00—General purpose image data processing
- G06T1/20—Processor architectures; Processor configuration, e.g. pipelining
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T1/00—General purpose image data processing
- G06T1/60—Memory management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Image Generation (AREA)
Abstract
本发明实施例提供了一种对象显示方法和装置、电子设备以及一种可读存储介质,所述方法包括:识别目标模型对象在第一帧和第二帧的显示结果相同,获取目标模型对象在第一帧中的像素数据,根据像素数据,在第二帧的图像中显示目标模型对象,使得帧间冗余消除操作以目标模型对象为图形处理对象,而不再局限于基于区块式渲染的图形处理器,避免了分区块所带来的处理,减少了大量不必要的数据计算;相较于区块内有多个模型对象的情况,本发明单独对每个目标模型对象在不同帧中的显示结果进行比较,所比较的数据更少,避免在两个帧中显示结果相同的模型对象进行重新绘制的问题,降低了图形处理器的功耗开销,提高了图形处理器的绘制效率。
Description
技术领域
本发明涉及计算机技术领域,特别是涉及一种对象显示方法、一种对象显示装置、一种电子设备以及一种可读存储介质。
背景技术
目前,图形处理器(Graphics Processing Unit,GPU),又称显示核心、视觉处理器、显示芯片,是一种专门在个人电脑、工作站、游戏机和一些移动设备(如平板电脑、智能手机等)上图像运算工作的微处理器。图形处理器已经广泛存在于个人电脑,移动设备之中。GPU作为图形加速器,在游戏、通用计算、图像处理等领域,都起到了十分显著的作用。
图形处理器对三维模型进行处理的过程中,对每一帧图像的绘制,一般需要多次绘制命令(DrawCall)完成,每一次绘制命令一般对应一个或多个三维模型,每一次绘制命令需要完整的调用图形处理系统的处理流程。
在图形处理器对图像进行绘制的过程中,存在某些三维模型在相邻的多个帧图像中的显示结果没有发生任何变化的情况,但图形处理器仍然在每一帧图像的绘制中,对这些未发生变化的三维模型进行重新绘制;上述针对多个相邻帧中未发生变化的三维模型进行重复绘制的过程称为帧间冗余操作,帧间冗余操作增大了图形处理器的功耗开销,同时还降低了图形处理器的绘制效率。
现有技术采用基于区块式渲染的图形处理器消除帧间冗余操作。如图1所示,针对当前帧图像,区块式渲染的图形处理器按照屏幕的尺寸,将三维模型显示在屏幕上的图像分为多个区块。图形处理器将渲染分为两部分,第一部分为分仓前渲染,包括图形应用程序的全部操作、图形驱动程序的全部操作、图形处理器的顶点与图元的几何处理操作;第二部分为分仓后渲染,包括图形处理器的图元光栅化、模型像素处理、像素深度测试与透明混合处理。区块式渲染图形处理器绘制中,首先按顺序将所有绘制命令的分仓前渲染运行完,将每一个区块所需要的后续数据保存到每个区块的几何缓冲区中;然后按照顺序逐区块的进行分仓后渲染,每个区块渲染结束后,将当前区块的渲染结果写入到显存的帧缓冲区。
本申请人经研究发现,现有技术的一种实现方式为:针对当前帧图像,每个区块在分仓后渲染结束之后,在将当前区块的渲染结果写入到帧缓冲区时,对当前区块(如图中Tile0)的数据与前一帧图像对应区块(前一帧图像的Tile0)进行比较,如果当前帧图像中该区块的数据与前一帧图像中该区块的数据相同,那么就不再把该区块的数据写入到帧缓冲区,而是直接使用上一帧图像的数据,上述该区块的数据为渲染结果所表征的信息;该方式仅能节省由片上缓存到片外显存的数据搬运过程,无法节省所有冗余模型的计算操作;另一种实现方式为:每个区块在分仓后渲染开始时,对当前帧图像中当前区块的几何缓冲区中的数据与前一帧图像中该区块的数据进行对比,如果前后两帧图像的几何缓冲区中数据完全相同,则不再对当前区块进行后续的分仓后操作,而是直接使用前一帧图像中该区块的渲染结果作为当前帧图像中当前区块的数据,该方式无法节省模型顶点与图元的几何处理。而且两种方式都只能以区块为单位进行比较,而单个区块中可能包含多个三维模型,所比较数据太多,不易找到显示效果无任何变化的区块,仍然会对某些三维模型进行重新绘制。
发明内容
本发明实施例所要解决的技术问题是提供一种对象显示方法、装置、电子设备及可读存储介质,以便解决图形处理器在对图像进行处理时,相邻的多个帧之间相同图像冗余计算的问题。
为了解决上述问题,本发明提供了一种对象显示方法,包括:
识别目标模型对象在第一帧和第二帧的显示结果相同,其中,所述第一帧和第二帧为相邻或不相邻的两个帧;
获取所述目标模型对象在所述第一帧中的像素数据,其中,所述像素数据为对所述目标模型对象进行处理后得到的数据;
根据所述像素数据,在所述第二帧的图像中显示所述目标模型对象。
可选地,所述识别目标模型对象在第一帧和第二帧的显示结果相同,包括:
对比所述目标模型对象在所述第一帧和第二帧的预先定义的模型数据;
当所述目标模型对象在所述第一帧和第二帧的模型数据相同时,确定所述目标模型对象在第一帧的显示结果与在第二帧的显示结果相同。
可选地,所述对比所述目标模型对象在所述第一帧和第二帧的预先定义的模型数据,包括以下至少一种:
对所述第一帧和第二帧的模型数据进行数据对比或循环冗余校验;
对所述第一帧和第二帧的模型数据的存放地址进行数据对比或循环冗余校验;
对所述第一帧和第二帧的模型数据的经图形处理器驱动程序转换后的中间数据进行数据对比或循环冗余校验;
对所述第一帧和第二帧的模型数据的经图形处理器驱动程序转换后的中间数据的存放地址进行数据对比或循环冗余校验。
可选地,在所述识别目标模型对象在第一帧和第二帧的显示结果相同之前,所述方法还包括:
针对任一模型对象,根据所述任一模型对象的标记,判断所述任一模型对象是否是目标模型对象;
若是目标模型对象,则执行识别目标模型对象在第一帧和第二帧的显示结果相同的步骤。
可选地,在所述判断所述任一模型对象是否是目标模型对象之前,所述方法还包括:
在构建所述任一模型对象的应用程序中,对所述任一模型对象进行标记。
可选地,所述方法还包括:
识别所述目标模型对象在所述第一帧的显示结果与在第三帧的显示结果不相同,其中,所述第三帧为在第一帧之前的一帧;
将所述目标模型对象在所述第一帧中的像素数据存入重用缓冲区。
可选地,在所述将所述目标模型对象在所述第一帧中的像素数据存入重用缓冲区之前,所述方法还包括:
添加针对所述目标模型对象在所述第一帧的模型数据的重用缓存命令;
所述将所述目标模型对象在所述第一帧中的像素数据存入重用缓冲区包括:
将所述重用缓存命令对应的像素数据覆盖所述重用缓冲区中存储的所述目标模型对象的像素数据。
可选地,所述获取所述目标模型对象在所述第一帧中的像素数据,包括:
获取所述重用缓冲区中存储的所述目标模型对象的像素数据。
可选地,在所述获取所述重用缓冲区中存储的所述目标模型对象的像素数据之前,所述方法还包括:
生成针对所述目标模型对象的像素数据的重用提取命令;
所述获取所述重用缓冲区中存储的所述目标模型对象的像素数据,包括:
从所述重用缓冲区中提取所述重用提取命令对应的像素数据。
相应的,本发明还提供了一种对象显示装置,包括:
识别模块,用于识别目标模型对象在第一帧和第二帧的显示结果相同,其中,所述第一帧和第二帧为相邻或不相邻的两个帧;
获取模块,用于获取所述目标模型对象在所述第一帧中的像素数据,其中,所述像素数据为对所述目标模型对象进行处理后得到的数据;
显示模块,用于根据所述像素数据,在所述第二帧的图像中显示所述目标模型对象。
可选地,所述识别模块包括:
对比子模块,用于对比所述目标模型对象在所述第一帧和第二帧的预先定义的模型数据;
确定子模块,用于当所述目标模型对象在所述第一帧和第二帧的模型数据相同时,确定所述目标模型对象在第一帧的显示结果与在第二帧的显示结果相同。
可选地,所述对比子模块包括以下至少一种:
第一对比单元,用于对所述第一帧和第二帧的模型数据进行数据对比或循环冗余校验;
第二对比单元,用于对所述第一帧和第二帧的模型数据的存放地址进行数据对比或循环冗余校验;
第三对比单元,用于对所述第一帧和第二帧的模型数据的经图形处理器驱动程序转换后的中间数据进行数据对比或循环冗余校验;
第四对比单元,用于对所述第一帧和第二帧的模型数据的经图形处理器驱动程序转换后的中间数据的存放地址进行数据对比或循环冗余校验。
可选地,所述装置还包括:
判断模块,用于针对任一模型对象,根据所述任一模型对象的标记,判断所述任一模型对象是否是目标模型对象;
执行模块,用于若是目标模型对象,则执行识别目标模型对象在第一帧和第二帧的显示结果相同的步骤。
可选地,所述装置还包括:
标记模块,用于在所述判断所述任一模型对象是否是目标模型对象之前,在构建所述任一模型对象的应用程序中,对所述任一模型对象进行标记。
可选地,所述装置还包括:
第二识别模块,用于识别所述目标模型对象在所述第一帧的显示结果与在第三帧的显示结果不相同,其中,所述第三帧为在第一帧之前的一帧;
存入模块,用于将所述目标模型对象在所述第一帧中的像素数据存入重用缓冲区。
可选地,所述装置还包括:
添加模块,用于在所述将所述目标模型对象在所述第一帧中的像素数据存入重用缓冲区之前,添加针对所述目标模型对象在所述第一帧的模型数据的重用缓存命令;
所述存入模块包括:
覆盖子模块,用于将所述重用缓存命令对应的像素数据覆盖所述重用缓冲区中存储的所述目标模型对象的像素数据。
可选地,所述获取模块包括:
获取子模块,用于获取所述重用缓冲区中存储的所述目标模型对象的像素数据。
可选地,所述装置还包括:
生成模块,用于在所述获取所述重用缓冲区中存储的所述目标模型对象的像素数据之前,生成针对所述目标模型对象的像素数据的重用提取命令;
所述获取子模块包括:
提取单元,用于从所述重用缓冲区中提取所述重用提取命令对应的像素数据。
相应的,本发明还提供了一种电子设备,包括有存储器,以及一个或者一个以上的程序,其中一个或者一个以上程序存储于存储器中,且经配置以由一个或者一个以上处理器执行所述一个或者一个以上程序包含用于进行以下操作的指令:
识别目标模型对象在第一帧和第二帧的显示结果相同,其中,所述第一帧和第二帧为相邻或不相邻的两个帧;
获取所述目标模型对象在所述第一帧中的像素数据,其中,所述像素数据为对所述目标模型对象进行处理后得到的数据;
根据所述像素数据,在所述第二帧的图像中显示所述目标模型对象。
可选地,所述识别目标模型对象在第一帧和第二帧的显示结果相同,包括:
对比所述目标模型对象在所述第一帧和第二帧的预先定义的模型数据;
当所述目标模型对象在所述第一帧和第二帧的模型数据相同时,确定所述目标模型对象在第一帧的显示结果与在第二帧的显示结果相同。
可选地,所述对比所述目标模型对象在所述第一帧和第二帧的预先定义的模型数据,包括以下至少一种:
对所述第一帧和第二帧的模型数据进行数据对比或循环冗余校验;
对所述第一帧和第二帧的模型数据的存放地址进行数据对比或循环冗余校验;
对所述第一帧和第二帧的模型数据的经图形处理器驱动程序转换后的中间数据进行数据对比或循环冗余校验;
对所述第一帧和第二帧的模型数据的经图形处理器驱动程序转换后的中间数据的存放地址进行数据对比或循环冗余校验。
可选地,在所述识别目标模型对象在第一帧和第二帧的显示结果相同之前,所述方法还包括:
针对任一模型对象,根据所述任一模型对象的标记,判断所述任一模型对象是否是目标模型对象;
若是目标模型对象,则执行识别目标模型对象在第一帧和第二帧的显示结果相同的步骤。
可选地,在所述判断所述任一模型对象是否是目标模型对象之前,所述方法还包括:
在构建所述任一模型对象的应用程序中,对所述任一模型对象进行标记。
可选地,所述方法还包括:
识别所述目标模型对象在所述第一帧的显示结果与在第三帧的显示结果不相同,其中,所述第三帧为在第一帧之前的一帧;
将所述目标模型对象在所述第一帧中的像素数据存入重用缓冲区。
可选地,在所述将所述目标模型对象在所述第一帧中的像素数据存入重用缓冲区之前,所述方法还包括:
添加针对所述目标模型对象在所述第一帧的模型数据的重用缓存命令;
所述将所述目标模型对象在所述第一帧中的像素数据存入重用缓冲区包括:
将所述重用缓存命令对应的像素数据覆盖所述重用缓冲区中存储的所述目标模型对象的像素数据。
可选地,所述获取所述目标模型对象在所述第一帧中的像素数据,包括:
获取所述重用缓冲区中存储的所述目标模型对象的像素数据。
可选地,在所述获取所述重用缓冲区中存储的所述目标模型对象的像素数据之前,所述方法还包括:
生成针对所述目标模型对象的像素数据的重用提取命令;
所述获取所述重用缓冲区中存储的所述目标模型对象的像素数据,包括:
从所述重用缓冲区中提取所述重用提取命令对应的像素数据。
相应的,本发明还提供了一种可读存储介质,当所述存储介质中的指令由电子设备的处理器执行时,使得电子设备能够执行上述对象显示方法。
依据本发明实施例,通过识别目标模型对象在第一帧和第二帧的显示结果相同,获取所述目标模型对象在所述第一帧中的像素数据,根据所述像素数据,在所述第二帧的图像中显示所述目标模型对象,使得帧间冗余消除操作以目标模型对象为图形处理对象,而不再局限于基于区块式渲染的图形处理器,避免了分区块所带来的处理,减少了大量不必要的数据计算;相较于区块内有多个模型对象的情况,本发明实施例单独对每个目标模型对象在不同帧中的显示结果进行比较,所比较的数据更少,更易找到显示结果无任何变化的模型对象,避免在两个帧中显示结果相同的模型对象进行重新绘制的问题,降低了图形处理器的功耗开销,提高了图形处理器的绘制效率。
附图说明
图1示出了基于区块式渲染的图形处理器消除帧间冗余操作的示意图;
图2示出了本发明实施例一的一种对象显示方法的步骤流程图;
图3示出了本发明实施例二的一种对象显示方法的步骤流程图;
图4示出了图形处理流程的示意图;
图5示出了本发明实施例三的一种对象显示装置实施例的结构框图;
图6示出了根据一示例性实施例示出的一种用于对象显示的电子设备的结构框图。
具体实施方式
为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明。
参照图2,示出了本发明实施例一的一种对象显示方法的步骤流程图,具体可以包括如下步骤:
步骤101,识别目标模型对象在第一帧和第二帧的显示结果相同,其中,所述第一帧和第二帧为相邻或不相邻的两个帧。
在本发明实施例中,模型对象包括但不限于三维模型,三维模型是物体的多边形表示,通常用计算机或者其它视频设备进行显示。显示的物体可以是现实世界的实体,也可以是虚构的物体。任何物理自然界存在的东西都可以用三维模型表示。三维模型经常做成动画,例如,在故事片电影以及计算机与视频游戏中大量地应用三维模型,如利用一些人类或者动物的三维模型来制作视频或动画。
在利用模型对象制作的视频或动画的过程中,帧是视频或动画中最小单位的单幅影像画面,一帧就是一副静止的画面,连续的帧就形成动画,如电视图像等。模型对象在不同帧的显示结果可以相同,也可以不同。在本申请中,将相邻或不相邻的两个帧,记为第一帧和第二帧。例如,一个人的三维模型,在第一帧的显示结果是这个人的正面,在第二帧的显示结果是这个人的侧面,在第三帧的显示结果是与第二帧中完全相同的这个人的侧面;针对此情况,即为模型对象“人”在第一帧中的显示结果和在第二帧中的显示结果不同,而模型对象“人”在第二帧中的显示结果和在第三帧中的显示结果相同。
在本发明实施例中,图形处理系统由图形应用程序、图形处理器驱动程序、图形处理器、显示控制器与显示器四部分共同组成。相邻的第一帧和第二帧为任意两个相邻的帧;图形处理系统当前正在处理的当前帧和在此当前帧之前的一帧(称为前一帧),即当前帧和前一帧是相邻帧。不相邻的第一帧和第二帧为任意两个不相邻的两个帧,例如,图形处理系统当前正在处理的当前帧和在前一帧之前的一帧(称为再前一帧),即当前帧和再前一帧是不相邻的两个帧。在第一帧和第二帧(如当前帧或前一帧)的显示结果中均包含一个或多个模型对象,将待识别的模型对象记为目标模型对象。
在本发明实施例中,识别目标模型对象在第一帧和第二帧的显示结果相同的实现方式可以包括多种,例如,对比所述目标模型对象在所述第一帧和第二帧的预先定义的模型数据;当所述目标模型对象在所述第一帧和第二帧的模型数据相同时,确定所述目标模型对象在第一帧的显示结果与在第二帧的显示结果相同;或者,可以采用其他任意适用的实现方式识别目标模型对象在第一帧和第二帧的显示结果相同,本申请实施例对此不做限制。
其中,模型数据包括构成模型对象的顶点位置数据、顶点属性数据、纹理数据、顶点着色器程序、片段着色器程序、渲染命令等数据。在图形应用程序中可以对模型对象进行预先定义。若要模型对象在第一帧和第二帧的显示结果相同,则要定义第一帧的模型数据和第二帧的模型数据是相同,若要模型对象在第一帧和第二帧的显示结果不相同,则要相应的定义不同的第一帧的模型数据和第二帧的模型数据。
步骤102,获取所述目标模型对象在所述第一帧中的像素数据,其中,所述像素数据为所述目标模型对象进行处理后得到的数据。
在本发明实施例中,对目标模型对象在第一帧和第二帧的显示结果是否相同进行识别,若识别到显示结果相同,表明目标模型对象在第一帧和第二帧的显示结果完全相同,那么若在绘制第一帧时目标模型对象已经被绘制过,即在绘制第一帧时,已经对目标模型对象进行处理,得到了处理后的像素数据,在绘制第二帧时,可以不必对目标模型对象进行重新绘制,直接使用目标模型对象在第一帧的处理后的像素数据即可。
在本发明实施例中,对目标模型对象经一系列处理得到的数据,记为像素数据,其可以用于显示目标模型对象。其中,一系列处理包括对模型数据进行数据转换及命令生成,转换生成为图形处理程序可以处理的命令、数据、程序;图形处理器驱动程序再将转换好的命令、数据、程序写入到图形处理器的显存中;图形处理器读取图形处理器驱动程序写入到显存的命令、数据、程序,然后进行几何阶段处理,包括对目标模型对象的顶点数据(即模型数据中的顶点位置数据、顶点属性数据、顶点着色器程序等)进行位置移动与属性计算,同时将顶点数据生成为图元数据;图形处理器光栅化单元接收目标模型对象的图元数据,并根据图元数据生成初始像素数据,还需要对初始像素数据进行像素颜色计算,计算出每个像素的具体颜色,最终得到需要的像素数据。
在本发明实施例中,针对第一帧中的目标模型对象,需要先经过一系列处理,得到目标模型对象在该帧的像素数据。若识别得到目标模型对象在第一帧和第二帧的显示结果相同,则目标模型对象在第二帧的像素数据与第一帧的像素数据也是相同的,那么重新经过一系列处理得到第二帧的像素数据就是多余的处理。因此,直接获取该目标模型对象在第一帧中的像素数据,可以避免多余的处理过程。
在本发明实施例中,获取所述目标模型对象在第一帧的像素数据的实现方式可以包括多种,例如,获取重用缓冲区中存储的目标模型对象在第一帧的像素数据,或者其他任意适用的实现方式,本发明实施例对此不做限制。
步骤103,根据所述像素数据,在所述第二帧的图像中显示所述目标模型对象。
在本发明实施例中,根据像素数据,就可以在第二帧的图像中显示该目标模型对象。具体实施过程包括:图形处理器对像素数据进行深度测试与透明混合操作,然后图形处理器将第二帧中所有模型对象的所有像素数据处理结束后,显示控制器从图形处理器中读取第二帧的图像的像素数据,并通过显示器将第二帧的图像进行显示,即完成了在第二帧的图像上对目标模型对象的显示。
其中,在绘制复杂的三维场景时,不可避免地会出现物体间的相互遮挡,在这种情况下,为了正确地绘制场景需要使用深度测试。半透明物体的绘制不同于不透明物体,通过透明混合操作可以实现半透明物体的绘制。深度测试可以简化复杂场景的绘制,透明混合操作可以使绘制的三维场景更完整、更逼真。
依据本发明实施例,通过识别目标模型对象在第一帧和第二帧的显示结果相同,获取所述目标模型对象在所述第一帧中的像素数据,根据所述像素数据,在所述第二帧的图像中显示所述目标模型对象,使得帧间冗余消除操作以目标模型对象为图形处理对象,而不再局限于基于区块式渲染的图形处理器,避免了分区块所带来的处理,减少了大量不必要的数据计算;相较于区块内有多个模型对象的情况,本发明实施例单独对每个目标模型对象在不同帧中的显示结果进行比较,所比较的数据更少,更易找到显示结果无任何变化的模型对象,避免在两个帧中显示结果相同的模型对象进行重新绘制的问题,降低了图形处理器的功耗开销,提高了图形处理器的绘制效率。
参照图3,示出了本发明实施例二的一种对象显示方法的步骤流程图,具体可以包括如下步骤:
步骤201,在构建所述任一模型对象的应用程序中,对所述任一模型对象进行标记。
在本发明的一种可选实施例中,若对每一个模型对象都识别在第一帧和第二帧的显示结果是否相同,则会消耗过多的计算资源。为了避免对每一个模型对象都进行识别,可以先在构建模型对象的应用程序中对模型对象进行标记,后续被标记的目标模型对象才会被识别。
例如,针对任意一个三维模型,该三维模型可以被标记为潜在冗余模型,表示该三维模型在当前帧的显示结果可能与其在前一帧的显示结果完全相同,可能不同,可能与其在后一帧的显示结果完全相同,可能不同。例如,在构建一个人物三维模型时,通过应用程序对该人物三维模型进行定义,包括构成该人物三维模型的顶点位置数据、顶点属性数据、纹理数据、顶点着色器程序、片段着色器程序、渲染命令等模型数据,若该人物三维模型会在某段时间出现完全静止的情况,那么可以使用潜在冗余模型API(ApplicationProgramming Interface,应用程序接口)对该人物三维模型进行潜在冗余标记。
在本发明的一种可选实施例中,模型对象是否为需要进行识别的目标模型对象,除了由软件开发人员调用API标记外,还可以由图形处理器驱动程序根据识别算法进行自动识别。在识别目标模型对象在第一帧和第二帧中的显示结果相同之前,还可以包括:识别模型对象为需要进行标记的模型对象。具体识别方式包括但不限于,针对任意一模型对象,通过统计的方式计算该任意一模型对象在多个帧的显示结果是否相同,若显示结果相同的帧的个数超过设定个数,则将该任意一模型对象确定为需要标记的模型数据。
步骤202,针对任一模型对象,根据所述任一模型对象的标记,判断所述任一模型对象是否是目标模型对象。
在本发明实施例中,图形处理器驱动程序在接收到模型对象后,对模型对象是否是标记的目标模型对象进行判断。例如,图形处理器驱动程序接收图形应用程序定义的三维模型,同时对该三维模型是否是被标记为潜在冗余模型进行判断,如果是潜在冗余模型,则进入到步骤203,如果不是潜在冗余模型,则对模型对象执行正常的处理流程,即执行经过一系列处理得到像素数据的过程。
步骤203,执行识别目标模型对象在第一帧和第二帧的显示结果相同的步骤。
在本发明实施例中,若判定模型对象是被标记的目标模型对象,则执行识别目标模型对象在第一帧和第二帧的显示结果相同的步骤。
步骤204,识别所述目标模型对象在所述第一帧的显示结果与在第三帧的显示结果不相同,其中,所述第三帧为在第一帧之前的一帧。
在本发明实施例中,第三帧为在第一帧之前的一帧,目标模型对象在相邻帧的显示结果可能出现相同的情况,也可能出现不同的情况。第一帧和第三帧是相邻帧,在处理第一帧时,以同样的识别方式,对目标模型对象在第一帧的显示结果与在第三帧的显示结果是否相同进行识别,若识别到目标模型对象在第一帧的显示结果与在第三帧的显示结果不相同,表明目标模型对象在第一帧的像素数据与第三帧的像素数据不相同,无法以第三帧的像素数据代替第一帧的像素数据,需要经过一系列处理得到第一帧的像素数据。
步骤205,将所述目标模型对象在所述第一帧中的像素数据存入重用缓冲区。
在本发明实施例中,由于识别到目标模型对象在第一帧的显示结果与在第三帧的显示结果不相同,那么需要经过一系列处理得到目标模型对象在第一帧的像素数据,得到像素数据后存入重用缓冲区。其中,重用缓冲区用于存放可能可以重用的像素数据,即目标模型对象在第一帧的显示结果与第三帧的显示结果相同的话,则可以直接从重用缓冲区中提取出第三帧的像素数据使用,否则就需要经过一系列处理得到在第一帧的像素数据,并写入重用缓冲区。
在本发明的一种可选实施例中,在将所述目标模型对象在所述第一帧中的像素数据存入重用缓冲区之前,还可以包括:添加针对所述目标模型对象在所述第一帧的模型数据的重用缓存命令;对应的,将所述目标模型对象在所述第一帧中的像素数据存入重用缓冲区的一种实现方式可以包括:将所述重用缓存命令对应的像素数据覆盖所述重用缓冲区中存储的所述目标模型对象的像素数据。
其中,重用缓存命令用于让图形处理器执行将像素数据存入重用缓冲区的操作。例如,若识别到模型对象是潜在冗余模型,但不是冗余模型,即在第一帧的显示结果与在第三帧的显示结果不相同,则对标记的目标模型对象进行数据转换及命令生成,同时对应添加潜在冗余模型的命令,即标记该模型数据是潜在冗余模型,但不是冗余模型,根据该添加的命令,模型数据经一系列处理得到像素数据后,将像素数据写入重用缓冲区,覆盖其中存储的目标模型对象的像素数据。具体实施过程中,当第一个像素点的数据到达图形处理器,首先清空该目标模型对象在重用缓冲区的所有数据,然后将后续的像素数据写入,当接收了目标模型对象的最后一个像素点的数据后,将重用缓冲区中的像素数据全部发送给图形处理器,图形处理器将处理过后的三维模型的像素数据进行像素数据的深度测试与透明混合操作。
步骤206,对比所述目标模型对象在所述第一帧和第二帧的预先定义的模型数据。
在本发明实施例中,第一帧和第二帧是相邻的两个帧或不相邻的两个帧,通过对比目标模型对象在第一帧的模型数据和第二帧的模型数据,可以确定目标模型对象在第一帧和第二帧的显示结果是否相同。若模型数据相同,则表明显示结果也相同。
在本发明实施例中,可选地,对比所述目标模型对象在所述第一帧和第二帧的预先定义的模型数据的实现方式包括以下至少一种:
对所述第一帧和第二帧的模型数据进行数据对比或循环冗余校验;对所述第一帧和第二帧的模型数据的存放地址进行数据对比或循环冗余校验;对所述第一帧和第二帧的模型数据的经图形处理器驱动程序转换后的中间数据进行数据对比或循环冗余校验;对所述第一帧和第二帧的模型数据的经图形处理器驱动程序转换后的中间数据的存放地址进行数据对比或循环冗余校验。
其中,数据对比即直接对比数据是否完全相同。循环冗余校验(CyclicRedundancy Check,CRC)是一种根据网络数据包或电脑文件等数据产生简短固定位数校验码的一种散列函数,主要用来检测或校验数据传输或者保存后可能出现的错误。它是利用除法及余数的原理来作错误侦测的。模型数据的存放地址包括在内存或显存中的存放地址,若模型数据完全相同,那么存放地址一般也相同。
模型数据的经图形处理器驱动程序转换后的中间数据包括,经过数据转换及命令生成,得到的图形处理程序可以处理的命令、数据、程序等,或者其他任意适用的中间数据,本发明实施例对此不做限制。模型数据若相同,中间数据也会相同,因此比较中间数据也可以确定模型数据是否相同。
步骤207,当所述目标模型对象在所述第一帧和第二帧的模型数据相同时,确定所述目标模型对象在第一帧的显示结果与在第二帧的显示结果相同。
在本发明实施例中,若模型数据相同,则确定目标模型对象在第一帧和第二帧的显示结果相同,若模型数据为不同,则确定目标模型对象在第一帧和第二帧的显示结果不相同。下面以显示结果相同的情况进行论述。
步骤208,获取所述重用缓冲区中存储的所述目标模型对象的像素数据。
在本发明实施例中,重用缓冲区中存储有之前(如在第一帧之前的至少一帧)已处理好目标模型对象的像素数据,从重用缓冲区中获取存储的目标模型对象的像素数据,从而避免了对目标模型对象进行一系列处理才能得到像素数据的耗时过程。
例如,第一帧为第二帧之前的一帧,第三帧为第一帧之前的一帧,在绘制第三帧时,经过一系列处理过程得到目标模型对象在第三帧的像素数据,然后将目标模型对象在第三帧的像素数据存入重用缓存区;在绘制第一帧时,识别出目标模型对象在第一帧的模型数据与第三帧的模型数据不相同,再经过一系列处理过程得到目标模型对象在第一帧的像素数据,然后将目标模型对象在第一帧的像素数据存入重用缓存区并覆盖之前存入的第三帧的像素数据;在绘制第二帧时,识别出目标模型对象在第一帧的模型数据与第二帧的模型数据相同,则从重用缓冲区获取存储的第一帧的像素数据。
在本发明的一种可选实施例中,在获取所述重用缓冲区中存储的所述目标模型对象的像素数据之前,还可以包括:生成针对目标模型对象的像素数据的重用提取命令;相应的,获取所述重用缓冲区中存储的所述目标模型对象的像素数据的一种实现方式可以包括:从所述重用缓冲区中提取所述重用提取命令对应的像素数据。
其中,重用提取命令可以包含指定目标模型对象的像素数据标识,用于控制图形处理器执行将该指定目标模型对象的像素数据标识指示的像素数据从重用缓冲区提取的操作。例如,图形处理器驱动程序接收发送来的冗余模型数据(即在相邻帧的显示结果相同),只将模型数据生成冗余模型命令(即重用提取命令),而不进行数据转换及命令生成,最终将生成的冗余模型命令发送至重用缓冲区,供图形处理器执行从重用缓冲区提取像素数据的操作。
步骤209,根据所述像素数据,在所述第二帧的图像中显示所述目标模型对象。
在本发明实施例中,此步骤的具体实现方式可以参见前述实施例中的描述,此处不另赘述。
依据本发明实施例,通过识别所述目标模型对象在所述第一帧的显示结果与在第三帧的显示结果不相同,将所述目标模型对象在所述第一帧中的像素数据存入重用缓冲区,对比所述目标模型对象在所述第一帧和第二帧的预先定义的模型数据,当所述目标模型对象在所述第一帧和第二帧的模型数据相同时,确定所述目标模型对象在第一帧的显示结果与在第二帧的显示结果相同,获取所述重用缓冲区中存储的所述目标模型对象的像素数据,根据所述像素数据,在所述第二帧的图像中显示所述目标模型对象,使得帧间冗余消除操作以目标模型对象为图形处理对象,而不再局限于基于区块式渲染的图形处理器,避免了分区块所带来的处理,减少了大量不必要的数据计算;相较于区块内有多个模型对象的情况,本发明实施例单独对每个目标模型对象在不同帧中的显示结果进行比较,所比较的数据更少,更易找到显示结果无任何变化的模型对象,避免在两个帧中显示结果相同的模型对象进行重新绘制的问题,降低了图形处理器的功耗开销,提高了图形处理器的绘制效率。
进一步,通过在构建所述任一模型对象的应用程序中,对所述任一模型对象进行标记,针对任一模型对象,根据所述任一模型对象的标记,判断所述任一模型对象是否是目标模型对象,若是标记的目标模型对象,则执行识别目标模型对象在相邻帧的显示结果相同的步骤,减少对于不必要的模型对象的识别过程,提高识别效率。
为使本领域技术人员更好地理解本申请,以下通过具体的示例对本申请的一种数据处理方法进行说明。
参照图4所示的图形处理流程的示意图。
步骤1、图形应用程序对三维模型数据(即模型数据)进行定义,三维模型(即模型对象)包括构成三维模型的顶点位置数据、顶点属性数据、纹理数据、顶点着色器程序、片段着色器程序、渲染命令等模型数据。同时,使用潜在冗余模型API对三维模型进行潜在冗余标记。
步骤n1、图形处理器驱动程序接收图形应用程序定义的三维模型,同时对三维模型进行潜在冗余判定,如果是潜在冗余模型(即目标模型对象),则进入到步骤n2,如果不是潜在冗余模型,则进入步骤2。
步骤n2、图形处理器驱动程序对潜在冗余模型进行冗余判定与冗余标记。判定方法为对比构成三维模型的所有数据(即模型数据),对比方法包括但不限于对所有数据进行直接对比,对数据进行CRC校验对比,对数据存放地址进行直接对比,对数据存放地址进行CRC对比。
步骤n3、图形处理器驱动程序根据步骤n2中对模型的冗余判定,将非冗余模型发送到步骤2,将冗余模型发送到步骤n4。
步骤2、图形处理器驱动程序接收步骤n3发送来的非冗余三维模型数据,并对模型进行处理,结果发送至步骤3。如果模型不是潜在冗余模型,则直接对模型数据进行数据转换及命令生成;如果模型是潜在冗余模型但不是冗余模型,则对模型数据进行数据转换与命令生成后,同时增加潜在冗余模型的命令。
步骤n4、图形处理器驱动程序接收步骤n3发送来的冗余三维模型数据,区别于步骤2,该步骤只将三维模型数据生成冗余模型命令(即重用缓存命令),不再生成模型数据。最终将生成的冗余模型命令发送至步骤n6的重用缓冲区。
步骤3、图形处理器读取图形处理器驱动程序写入到显存的命令、数据、程序,对三维模型进行几何阶段处理,包括对模型的顶点数据进行位置移动与属性计算,同时将模型的顶点数据生成为图元数据。
步骤4、图形处理器光栅化单元接收三维模型的图元数据,并根据图元数据生成像素数据。
步骤5、图形处理器对三维模型的像素数据进行像素颜色计算。
步骤n5、接收步骤5发送来的像素数据。如果像素数据对应的模型数据所表征的三维模型为潜在冗余模型,则将生成的像素数据直接写入到重用缓冲区中,该写入将覆盖当前模型在重用缓冲区之前的数据;如果像素数据对应的模型数据所表征的三维模型不是潜在冗余模型,则直接将数据发送到步骤6。
步骤n6、重用缓冲区接收由步骤n4发送来的冗余模型命令或者步骤n5发送来的潜在冗余模型的像素数据。如果接收到的是冗余模型命令,则将重用缓冲区中冗余模型像素点的颜色数据与深度数据(即第一帧的像素数据)发送至步骤6。如果接收到的是潜在冗余模型的像素数据,则对像素数据根据重用缓冲区的数据进行透明混合与深度测试,如果该像素点是当前模型的第一个像素点(时机,判断),则首先清空该模型在重用缓冲区的所有数据;如果该像素点是当前模型的最后一个像素点,则将当前重用缓冲区中该模型数据的数据全部发送到步骤6。
步骤6、图形处理器将处理过后的三维模型像素数据进行像素数据的深度测试与透明混合操作。
步骤7、在图形处理器将当前帧(即第二帧)图像所有模型的所有像素数据处理结束以后,显示控制器从图形处理器中读取当前帧的图像数据,并通过显示器将图片进行显示。
需要说明的是,对于方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明实施例并不受所描述的动作顺序的限制,因为依据本发明实施例,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作并不一定是本发明实施例所必须的。
参照图5,示出了本发明实施例三的一种对象显示装置实施例的结构框图,具体可以包括如下模块:
识别模块301,用于识别目标模型对象在第一帧和第二帧的显示结果相同,其中,所述第一帧和第二帧为相邻或不相邻的两个帧;
获取模块302,用于获取所述目标模型对象在所述第一帧中的像素数据,其中,所述像素数据为对所述目标模型对象进行处理后得到的数据;
显示模块303,用于根据所述像素数据,在所述第二帧的图像中显示所述目标模型对象。
在本发明实施例中,可选地,所述识别模块包括:
对比子模块,用于对比所述目标模型对象在所述第一帧和第二帧的预先定义的模型数据;
确定子模块,用于当所述目标模型对象在所述第一帧和第二帧的模型数据相同时,确定所述目标模型对象在第一帧的显示结果与在第二帧的显示结果相同。
在本发明实施例中,可选地,所述对比子模块包括以下至少一种:
第一对比单元,用于对所述第一帧和第二帧的模型数据进行数据对比或循环冗余校验;
第二对比单元,用于对所述第一帧和第二帧的模型数据的存放地址进行数据对比或循环冗余校验;
第三对比单元,用于对所述第一帧和第二帧的模型数据的经图形处理器驱动程序转换后的中间数据进行数据对比或循环冗余校验;
第四对比单元,用于对所述第一帧和第二帧的模型数据的经图形处理器驱动程序转换后的中间数据的存放地址进行数据对比或循环冗余校验。
在本发明实施例中,可选地,所述装置还包括:
判断模块,用于针对任一模型对象,根据所述任一模型对象的标记,判断所述任一模型对象是否是目标模型对象;
执行模块,用于若是目标模型对象,则执行识别目标模型对象在第一帧和第二帧的显示结果相同的步骤。
在本发明实施例中,可选地,所述装置还包括:
标记模块,用于在所述判断所述任一模型对象是否是目标模型对象之前,在构建所述任一模型对象的应用程序中,对所述任一模型对象进行标记。
在本发明实施例中,可选地,所述装置还包括:
第二识别模块,用于识别所述目标模型对象在所述第一帧的显示结果与在第三帧的显示结果不相同,其中,所述第三帧为在第一帧之前的一帧;
存入模块,用于将所述目标模型对象在所述第一帧中的像素数据存入重用缓冲区。
在本发明实施例中,可选地,所述装置还包括:
添加模块,用于在所述将所述目标模型对象在所述第一帧中的像素数据存入重用缓冲区之前,添加针对所述目标模型对象在所述第一帧的模型数据的重用缓存命令;
所述存入模块包括:
覆盖子模块,用于将所述重用缓存命令对应的像素数据覆盖所述重用缓冲区中存储的所述目标模型对象的像素数据。
在本发明实施例中,可选地,所述获取模块包括:
获取子模块,用于获取所述重用缓冲区中存储的所述目标模型对象的像素数据。
在本发明实施例中,可选地,所述装置还包括:
生成模块,用于在所述获取所述重用缓冲区中存储的所述目标模型对象的像素数据之前,生成针对所述目标模型对象的像素数据的重用提取命令;
所述获取子模块包括:
提取单元,用于从所述重用缓冲区中提取所述重用提取命令对应的像素数据。
依据本发明实施例,通过识别目标模型对象在第一帧和第二帧的显示结果相同,获取所述目标模型对象在所述第一帧中的像素数据,根据所述像素数据,在所述第二帧的图像中显示所述目标模型对象,使得帧间冗余消除操作以目标模型对象为图形处理对象,而不再局限于基于区块式渲染的图形处理器,避免了分区块所带来的处理,减少了大量不必要的数据计算;相较于区块内有多个模型对象的情况,本发明实施例单独对每个目标模型对象在不同帧中的显示结果进行比较,所比较的数据更少,更易找到显示结果无任何变化的模型对象,避免在两个帧中显示结果相同的模型对象进行重新绘制的问题,降低了图形处理器的功耗开销,提高了图形处理器的绘制效率。
对于装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
图6是根据一示例性实施例示出的一种用于对象显示的电子设备700的结构框图。例如,电子设备700可以是移动电话,计算机,数字广播终端,消息收发设备,游戏控制台,平板设备,医疗设备,健身设备,个人数字助理等。
参照图4,电子设备700可以包括以下一个或多个组件:处理组件702,存储器704,电源组件706,多媒体组件708,音频组件710,输入/输出(I/O)的接口712,传感器组件714,以及通信组件716。
处理组件702通常控制电子设备700的整体操作,诸如与显示,电话呼叫,数据通信,相机操作和记录操作相关联的操作。处理元件702可以包括一个或多个处理器720来执行指令,以完成上述的方法的全部或部分步骤。此外,处理组件702可以包括一个或多个模块,便于处理组件702和其他组件之间的交互。例如,处理部件702可以包括多媒体模块,以方便多媒体组件708和处理组件702之间的交互。
存储器704被配置为存储各种类型的数据以支持在设备700的操作。这些数据的示例包括用于在电子设备700上操作的任何应用程序或方法的指令,联系人数据,电话簿数据,消息,图片,视频等。存储器704可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(SRAM),电可擦除可编程只读存储器(EEPROM),可擦除可编程只读存储器(EPROM),可编程只读存储器(PROM),只读存储器(ROM),磁存储器,快闪存储器,磁盘或光盘。
电力组件704为电子设备700的各种组件提供电力。电力组件704可以包括电源管理系统,一个或多个电源,及其他与为电子设备700生成、管理和分配电力相关联的组件。
多媒体组件708包括在所述电子设备700和用户之间的提供一个输出接口的屏幕。在一些实施例中,屏幕可以包括液晶显示器(LCD)和触摸面板(TP)。如果屏幕包括触摸面板,屏幕可以被实现为触摸屏,以接收来自用户的输入信号。触摸面板包括一个或多个触摸传感器以感测触摸、滑动和触摸面板上的手势。所述触摸传感器可以不仅感测触摸或滑动动作的边界,而且还检测与所述触摸或滑动操作相关的持续时间和压力。在一些实施例中,多媒体组件708包括一个前置摄像头和/或后置摄像头。当电子设备700处于操作模式,如拍摄模式或视频模式时,前置摄像头和/或后置摄像头可以接收外部的多媒体数据。每个前置摄像头和后置摄像头可以是一个固定的光学透镜系统或具有焦距和光学变焦能力。
音频组件710被配置为输出和/或输入音频信号。例如,音频组件710包括一个麦克风(MIC),当电子设备700处于操作模式,如呼叫模式、记录模式和语音识别模式时,麦克风被配置为接收外部音频信号。所接收的音频信号可以被进一步存储在存储器704或经由通信组件716发送。在一些实施例中,音频组件710还包括一个扬声器,用于输出音频信号。
I/O接口712为处理组件702和外围接口模块之间提供接口,上述外围接口模块可以是键盘,点击轮,按钮等。这些按钮可包括但不限于:主页按钮、音量按钮、启动按钮和锁定按钮。
传感器组件714包括一个或多个传感器,用于为电子设备700提供各个方面的状态评估。例如,传感器组件714可以检测到设备700的打开/关闭状态,组件的相对定位,例如所述组件为电子设备700的显示器和小键盘,传感器组件714还可以检测电子设备700或电子设备700一个组件的位置改变,用户与电子设备700接触的存在或不存在,电子设备700方位或加速/减速和电子设备700的温度变化。传感器组件714可以包括接近传感器,被配置用来在没有任何的物理接触时检测附近物体的存在。传感器组件714还可以包括光传感器,如CMOS或CCD图像传感器,用于在成像应用中使用。在一些实施例中,该传感器组件714还可以包括加速度传感器,陀螺仪传感器,磁传感器,压力传感器或温度传感器。
通信组件716被配置为便于电子设备700和其他设备之间有线或无线方式的通信。电子设备700可以接入基于通信标准的无线网络,如WiFi,2G或3G,或它们的组合。在一个示例性实施例中,通信部件714经由广播信道接收来自外部广播管理系统的广播信号或广播相关信息。在一个示例性实施例中,所述通信部件714还包括近场通信(NFC)模块,以促进短程通信。例如,在NFC模块可基于射频识别(RFID)技术,红外数据协会(IrDA)技术,超宽带(UWB)技术,蓝牙(BT)技术和其他技术来实现。
在示例性实施例中,电子设备700可以被一个或多个应用专用集成电路(ASIC)、数字信号处理器(DSP)、数字信号处理设备(DSPD)、可编程逻辑器件(PLD)、现场可编程门阵列(FPGA)、控制器、微控制器、微处理器或其他电子元件实现,用于执行上述方法。
在示例性实施例中,还提供了一种包括指令的非临时性计算机可读存储介质,例如包括指令的存储器704,上述指令可由电子设备700的处理器720执行以完成上述方法。例如,所述非临时性计算机可读存储介质可以是ROM、随机存取存储器(RAM)、CD-ROM、磁带、软盘和光数据存储设备等。
一种非临时性计算机可读存储介质,当所述存储介质中的指令由终端的处理器执行时,使得终端能够执行一种对象显示方法,所述方法包括:
识别目标模型对象在第一帧和第二帧的显示结果相同,其中,所述第一帧和第二帧为相邻或不相邻的两个帧;
获取所述目标模型对象在所述第一帧中的像素数据,其中,所述像素数据为对所述目标模型对象进行处理后得到的数据;
根据所述像素数据,在所述第二帧的图像中显示所述目标模型对象。
可选地,所述识别目标模型对象在第一帧和第二帧的显示结果相同,包括:
对比所述目标模型对象在所述第一帧和第二帧的预先定义的模型数据;
当所述目标模型对象在所述第一帧和第二帧的模型数据相同时,确定所述目标模型对象在第一帧的显示结果与在第二帧的显示结果相同。
可选地,所述对比所述目标模型对象在所述第一帧和第二帧的预先定义的模型数据,包括以下至少一种:
对所述第一帧和第二帧的模型数据进行数据对比或循环冗余校验;
对所述第一帧和第二帧的模型数据的存放地址进行数据对比或循环冗余校验;
对所述第一帧和第二帧的模型数据的经图形处理器驱动程序转换后的中间数据进行数据对比或循环冗余校验;
对所述第一帧和第二帧的模型数据的经图形处理器驱动程序转换后的中间数据的存放地址进行数据对比或循环冗余校验。
可选地,在所述识别目标模型对象在第一帧和第二帧的显示结果相同之前,所述方法还包括:
针对任一模型对象,根据所述任一模型对象的标记,判断所述任一模型对象是否是目标模型对象;
若是目标模型对象,则执行识别目标模型对象在第一帧和第二帧的显示结果相同的步骤。
可选地,在所述判断所述任一模型对象是否是目标模型对象之前,所述方法还包括:
在构建所述任一模型对象的应用程序中,对所述任一模型对象进行标记。
可选地,所述方法还包括:
识别所述目标模型对象在所述第一帧的显示结果与在第三帧的显示结果不相同,其中,所述第三帧为在第一帧之前的一帧;
将所述目标模型对象在所述第一帧中的像素数据存入重用缓冲区。
可选地,在所述将所述目标模型对象在所述第一帧中的像素数据存入重用缓冲区之前,所述方法还包括:
添加针对所述目标模型对象在所述第一帧的模型数据的重用缓存命令;
所述将所述目标模型对象在所述第一帧中的像素数据存入重用缓冲区包括:
将所述重用缓存命令对应的像素数据覆盖所述重用缓冲区中存储的所述目标模型对象的像素数据。
可选地,所述获取所述目标模型对象在所述第一帧中的像素数据,包括:
获取所述重用缓冲区中存储的所述目标模型对象的像素数据。
可选地,在所述获取所述重用缓冲区中存储的所述目标模型对象的像素数据之前,所述方法还包括:
生成针对所述目标模型对象的像素数据的重用提取命令;
所述获取所述重用缓冲区中存储的所述目标模型对象的像素数据,包括:
从所述重用缓冲区中提取所述重用提取命令对应的像素数据。
本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
本领域内的技术人员应明白,本发明实施例的实施例可提供为方法、装置、或计算机程序产品。因此,本发明实施例可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明实施例是参照根据本发明实施例的方法、终端设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理终端设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理终端设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理终端设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理终端设备上,使得在计算机或其他可编程终端设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程终端设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本发明实施例的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明实施例范围的所有变更和修改。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者终端设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者终端设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者终端设备中还存在另外的相同要素。
以上对本发明所提供的一种对象显示方法、一种对象显示装置,进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
Claims (12)
1.一种对象显示方法,其特征在于,包括:
识别目标模型对象在第一帧和第二帧的显示结果相同,其中,所述第一帧和第二帧为相邻或不相邻的两个帧;
获取所述目标模型对象在所述第一帧中的像素数据,其中,所述像素数据为对所述目标模型对象进行处理后得到的数据;
根据所述像素数据,在所述第二帧的图像中显示所述目标模型对象。
2.根据权利要求1所述的方法,其特征在于,所述识别目标模型对象在第一帧和第二帧的显示结果相同,包括:
对比所述目标模型对象在所述第一帧和第二帧的预先定义的模型数据;
当所述目标模型对象在所述第一帧和第二帧的模型数据相同时,确定所述目标模型对象在第一帧的显示结果与在第二帧的显示结果相同。
3.根据权利要求2所述的方法,其特征在于,所述对比所述目标模型对象在所述第一帧和第二帧的预先定义的模型数据,包括以下至少一种:
对所述第一帧和第二帧的模型数据进行数据对比或循环冗余校验;
对所述第一帧和第二帧的模型数据的存放地址进行数据对比或循环冗余校验;
对所述第一帧和第二帧的模型数据的经图形处理器驱动程序转换后的中间数据进行数据对比或循环冗余校验;
对所述第一帧和第二帧的模型数据的经图形处理器驱动程序转换后的中间数据的存放地址进行数据对比或循环冗余校验。
4.根据权利要求1-3任一项所述的方法,其特征在于,在所述识别目标模型对象在第一帧和第二帧的显示结果相同之前,所述方法还包括:
针对任一模型对象,根据所述任一模型对象的标记,判断所述任一模型对象是否是目标模型对象;
若是目标模型对象,则执行识别目标模型对象在第一帧和第二帧的显示结果相同的步骤。
5.根据权利要求4所述的方法,其特征在于,在所述判断所述任一模型对象是否是目标模型对象之前,所述方法还包括:
在构建所述任一模型对象的应用程序中,对所述任一模型对象进行标记。
6.根据权利要求4所述的方法,其特征在于,所述方法还包括:
识别所述目标模型对象在所述第一帧的显示结果与在第三帧的显示结果不相同,其中,所述第三帧为在第一帧之前的一帧;
将所述目标模型对象在所述第一帧中的像素数据存入重用缓冲区。
7.根据权利要求6所述的方法,其特征在于,在所述将所述目标模型对象在所述第一帧中的像素数据存入重用缓冲区之前,所述方法还包括:
添加针对所述目标模型对象在所述第一帧的模型数据的重用缓存命令;
所述将所述目标模型对象在所述第一帧中的像素数据存入重用缓冲区包括:
将所述重用缓存命令对应的像素数据覆盖所述重用缓冲区中存储的所述目标模型对象的像素数据。
8.根据权利要求6所述的方法,其特征在于,所述获取所述目标模型对象在所述第一帧中的像素数据,包括:
获取所述重用缓冲区中存储的所述目标模型对象的像素数据。
9.根据权利要求8所述的方法,其特征在于,在所述获取所述重用缓冲区中存储的所述目标模型对象的像素数据之前,所述方法还包括:
生成针对所述目标模型对象的像素数据的重用提取命令;
所述获取所述重用缓冲区中存储的所述目标模型对象的像素数据,包括:
从所述重用缓冲区中提取所述重用提取命令对应的像素数据。
10.一种对象显示装置,其特征在于,包括:
识别模块,用于识别目标模型对象在第一帧和第二帧的显示结果相同,其中,所述第一帧和第二帧为相邻或不相邻的两个帧;
获取模块,用于获取所述目标模型对象在所述第一帧中的像素数据,其中,所述像素数据为对所述目标模型对象进行处理后得到的数据;
显示模块,用于根据所述像素数据,在所述第二帧的图像中显示所述目标模型对象。
11.一种电子设备,其特征在于,包括有存储器,以及一个或者一个以上的程序,其中一个或者一个以上程序存储于存储器中,且经配置以由一个或者一个以上处理器执行所述一个或者一个以上程序包含用于进行以下操作的指令:
识别目标模型对象在第一帧和第二帧的显示结果相同,其中,所述第一帧和第二帧为相邻或不相邻的两个帧;
获取所述目标模型对象在所述第一帧中的像素数据,其中,所述像素数据为对所述目标模型对象进行处理后得到的数据;
根据所述像素数据,在所述第二帧的图像中显示所述目标模型对象。
12.一种可读存储介质,其特征在于,当所述存储介质中的指令由电子设备的处理器执行时,使得电子设备能够执行如方法权利要求1-9中一个或多个所述的对象显示方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910818961.6A CN112445318A (zh) | 2019-08-30 | 2019-08-30 | 一种对象显示方法、装置、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910818961.6A CN112445318A (zh) | 2019-08-30 | 2019-08-30 | 一种对象显示方法、装置、电子设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112445318A true CN112445318A (zh) | 2021-03-05 |
Family
ID=74734972
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910818961.6A Pending CN112445318A (zh) | 2019-08-30 | 2019-08-30 | 一种对象显示方法、装置、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112445318A (zh) |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20140063032A1 (en) * | 2012-09-06 | 2014-03-06 | Shenzhen China Star Optoelectronics Technology Co., Ltd. | Frame data shrinking method used in over-driving technology |
US9508111B1 (en) * | 2007-12-14 | 2016-11-29 | Nvidia Corporation | Method and system for detecting a display mode suitable for a reduced refresh rate |
US20170169772A1 (en) * | 2015-12-09 | 2017-06-15 | Japan Display Inc. | Display device |
CN108337471A (zh) * | 2017-02-24 | 2018-07-27 | 腾讯科技(深圳)有限公司 | 视频画面的处理方法及装置 |
CN108875460A (zh) * | 2017-05-15 | 2018-11-23 | 腾讯科技(深圳)有限公司 | 增强现实处理方法及装置、显示终端及计算机存储介质 |
CN109478333A (zh) * | 2016-09-30 | 2019-03-15 | 富士通株式会社 | 目标检测方法、装置以及图像处理设备 |
CN110176024A (zh) * | 2019-05-21 | 2019-08-27 | 腾讯科技(深圳)有限公司 | 在视频中对目标进行检测的方法、装置、设备和存储介质 |
-
2019
- 2019-08-30 CN CN201910818961.6A patent/CN112445318A/zh active Pending
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9508111B1 (en) * | 2007-12-14 | 2016-11-29 | Nvidia Corporation | Method and system for detecting a display mode suitable for a reduced refresh rate |
US20140063032A1 (en) * | 2012-09-06 | 2014-03-06 | Shenzhen China Star Optoelectronics Technology Co., Ltd. | Frame data shrinking method used in over-driving technology |
US20170169772A1 (en) * | 2015-12-09 | 2017-06-15 | Japan Display Inc. | Display device |
CN109478333A (zh) * | 2016-09-30 | 2019-03-15 | 富士通株式会社 | 目标检测方法、装置以及图像处理设备 |
CN108337471A (zh) * | 2017-02-24 | 2018-07-27 | 腾讯科技(深圳)有限公司 | 视频画面的处理方法及装置 |
CN108875460A (zh) * | 2017-05-15 | 2018-11-23 | 腾讯科技(深圳)有限公司 | 增强现实处理方法及装置、显示终端及计算机存储介质 |
CN110176024A (zh) * | 2019-05-21 | 2019-08-27 | 腾讯科技(深圳)有限公司 | 在视频中对目标进行检测的方法、装置、设备和存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11315336B2 (en) | Method and device for editing virtual scene, and non-transitory computer-readable storage medium | |
EP2927787A1 (en) | Method and device for displaying picture | |
WO2016192325A1 (zh) | 视频文件的标识处理方法及装置 | |
EP3333844A1 (en) | Display operation method and apparatus, computer program and recording medium | |
CN110136230B (zh) | 动画显示方法、装置、电子设备及存储介质 | |
CN106354455B (zh) | 人机界面显示处理装置及其方法 | |
US20170039753A1 (en) | Method, apparatus and non-transitory computer-readable storage medium for uninstalling an application | |
CN109448050B (zh) | 一种目标点的位置的确定方法及终端 | |
US20220222831A1 (en) | Method for processing images and electronic device therefor | |
CN111754607A (zh) | 图片处理方法及装置、电子设备、计算机可读存储介质 | |
WO2021189995A1 (zh) | 视频渲染方法、装置、电子设备及存储介质 | |
US10325569B2 (en) | Method and apparatus for coding image information for display | |
CN110929616B (zh) | 一种人手识别方法、装置、电子设备和存储介质 | |
US11503207B2 (en) | Display control method, display control device and computer-readable storage medium | |
CN111127469A (zh) | 缩略图显示方法、装置、存储介质以及终端 | |
US11600300B2 (en) | Method and device for generating dynamic image | |
US10438377B2 (en) | Method and device for processing a page | |
EP3425533A1 (en) | Displaying page | |
CN107402756B (zh) | 用于绘制页面的方法、装置及终端 | |
CN113038141A (zh) | 视频帧处理方法及电子设备 | |
CN110196716B (zh) | 图形显示方法、装置、电子设备及存储介质 | |
CN107977147B (zh) | 滑动轨迹显示方法及装置 | |
CN108829473B (zh) | 事件响应方法、装置及存储介质 | |
CN112445318A (zh) | 一种对象显示方法、装置、电子设备及存储介质 | |
WO2019061118A1 (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: 20220809 Address after: 230088 204-b6, building 1, No. 5089, Wangjiang West Road, high tech Zone, Hefei City, Anhui Province Applicant after: Longxin Zhongke (Hefei) Technology Co.,Ltd. Address before: 100095 Building 2, Longxin Industrial Park, Zhongguancun environmental protection technology demonstration park, Haidian District, Beijing Applicant before: Loongson Zhongke Technology Co.,Ltd. |