顶点数据处理方法、装置及设备与流程

文档序号:17188147发布日期:2019-03-22 21:37阅读:246来源:国知局
本发明实施例涉及计算机图像处理领域,尤其涉及一种顶点数据处理方法、装置及设备。
背景技术
::多数电子设备具备屏幕显示功能,例如,电子设备可以为手机、电脑等,该类电子设备中通常包括中央处理器(centralprocessingunit,简称cpu)和图形处理器(graphicsprocessingunit,简称gpu),由cpu和gpu共同协作以实现在电子设备的屏幕中进行图像显示。在电子设备进行图像显示时,通常由cpu将需要显示的数据拷贝至内存,在内存中对数据进行预处理之后得到gpu可处理(例如可识别、可渲染)的数据,并将gpu可处理的数据传输至频随机存取存储器(videorandomaccessmemory,简称vram),以使gpu对vram中的数据进行渲染。在gpu对一个场景进行渲染的过程中,gpu可能需要多次使用该场景中的对象(例如人物、物体等)的顶点数据,顶点数据通常包括顶点坐标和索引信息。为了避免在内存和vram之间对需要使用的顶点数据进行多次重复传输,通常在vram创建顶点缓存对象(vertexbufferobject,简称vbo),由cpu将顶点数据从内存传输至vram中的vbo中,以使gpu可以根据vbo中的顶点数据进行多次使用。然而,在上述过程中,需要cpu控制将内存中的顶点数据传输至vram中的vbo中,且内存和vram之间的数据传输速率较低,使得cpu需要较长的时间才能将顶点数据传输至vram中的vbo中,导致消耗较多的cpu资源。技术实现要素:本发明实施例提供了一种顶点数据处理方法、装置及设备,节省了cpu资源。第一方面,本发明实施例提供一种顶点数据处理方法,包括:将待渲染顶点数据存储至第一顶点缓存对象vbo,所述第一vbo位于内存的图形转换表gtt中,所述待渲染顶点数据为在图像渲染过程中至少被使用两次的数据;向所述图像处理器gpu发送读取指令,以使所述gpu通过直接内存存取dma方式将所述待渲染顶点数据从所述第一vbo中读取到视频随机存取存储器vram中的第二vbo中,所述第二vbo中的所述待渲染顶点数据用于被所述gpu渲染。在一种可能的实施方式中,在所述将待渲染的顶点数据存储至内存的第一顶点缓存对象vbo中之前,还包括:获取初始顶点数据;在所述内存中对所述初始顶点数据进行格式转换,得到所述待渲染顶点数据;在所述内存的gtt中创建所述第一vbo。在另一种可能的实施方式中,在所述向所述图像处理器gpu发送读取指令之后,还包括:接收所述gpu发送的读取结束响应;根据所述读取结束响应,在所述内存的所述gtt中释放所述第一vbo。第二方面,本发明实施例提供一种顶点数据处理方法,包括:接收中央处理器cpu发送的读取指令;根据所述读取指令,通过直接内存存取dma方式将第一vbo中的待渲染顶点数据读取至第二vbo,所述第一vbo位于内存的图形转换表gtt中,所述第二vbo位于视频随机存取存储器vram中;根据所述第二vbo中的所述待渲染顶点数据进行图像渲染。在一种可能的实施方式中,所述根据所述读取指令,将第一vbo中的待渲染顶点数据读取至第二vbo之前,还包括:在所述vram中创建所述第二vbo。在另一种可能的实施方式中,根据所述读取指令,通过dma方式将第一vbo中的待渲染顶点数据读取至第二vbo之后,还包括:向cpu发送读取结束响应,所述读取结束响应用于指示gpu已读取完成所述第一vbo中的所述待渲染顶点数据。第三方面,本发明实施例提供一种顶点数据处理装置,包括存储模块和发送模块,其中,所述存储模块用于,将待渲染顶点数据存储至第一顶点缓存对象vbo,所述第一vbo位于内存的图形转换表gtt中,所述待渲染顶点数据为在图像渲染过程中至少被使用两次的数据;所述发送模块用于,向所述图像处理器gpu发送读取指令,以使所述gpu通过直接内存存取dma方式将所述待渲染顶点数据从所述第一vbo中读取到视频随机存取存储器vram中的第二vbo中,所述第二vbo中的所述待渲染顶点数据用于被所述gpu渲染。在一种可能的实施方式中,所述装置还包括获取模块、格式转换模块和创建模块,其中,所述获取模块用于,在所述存储模块将待渲染的顶点数据存储至内存的第一顶点缓存对象vbo中之前,获取初始顶点数据;所述格式转换模块用于,在所述内存中对所述初始顶点数据进行格式转换,得到所述待渲染顶点数据;所述创建模块用于,在所述内存的gtt中创建所述第一vbo。在另一种可能的实施方式中,所述装置还包括接收模块和释放模块,其中,所述接收模块用于,在所述发送模块向所述图像处理器gpu发送读取指令之后,接收所述gpu发送的读取结束响应;所述释放模块用于,根据所述读取结束响应,在所述内存的所述gtt中释放所述第一vbo。第四方面,本发明实施例提供一种顶点数据处理装置,包括接收模块、读取模块和渲染模块,其中,所述接收模块用于,接收中央处理器cpu发送的读取指令;所述读取模块用于,根据所述读取指令,通过直接内存存取dma方式将第一vbo中的待渲染顶点数据读取至第二vbo,所述第一vbo位于内存的图形转换表gtt中,所述第二vbo位于视频随机存取存储器vram中;所述渲染模块用于,根据所述第二vbo中的所述待渲染顶点数据进行图像渲染。在一种可能的实施方式中,所述装置还包括创建模块,其中,所述创建模块用于,在所述渲染模块根据所述读取指令,将第一vbo中的待渲染顶点数据读取至第二vbo之前,在所述vram中创建所述第二vbo。在另一种可能的实施方式中,所述装置还包括发送模块,其中,所述发送模块用于,在所述读取模块根据所述读取指令,通过dma方式将第一vbo中的待渲染顶点数据读取至第二vbo之后,向cpu发送读取结束响应,所述读取结束响应用于指示gpu已读取完成所述第一vbo中的所述待渲染顶点数据。第五方面,本发明实施例提供一种顶点数据处理系统,包括中央处理器cpu、内存、显卡,所述显卡至少包括图像处理gpu和视频随机存取存储器vram,其中,所述cpu用于在所述内存的图形转换表gtt中创建第一顶点缓存对象vbo,所述gtt为所述cpu为所述gpu分配的存储空间;所述cpu还用于将待渲染顶点数据存储至所述第一vbo,并向所述gpu发送读取指令;所述gpu用于在所述vram中创建第二vbo;所述gpu还用于,根据接收到的所述读取指令通过直接内存存取dma方式将所述第一vbo中的所述待渲染顶点数据读取至所述第二vbo,并根据所述第二vbo中的所述待渲染顶点数据进行图像渲染。第六方面,本发明实施例提供一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机执行指令,当顶点数据处理系统的至少一个处理器执行所述计算机执行指令时,所述顶点数据处理系统执行上述第一方面和第二方面任一项所述的方法。第七方面,本发明实施例提供一种计算机程序产品,所述计算机程序产品包括计算机执行指令,所述计算机执行指令存储在计算机可读存储介质中,其中,顶点数据处理系统的至少一个处理器用于从所述计算机可读存储介质读取所述计算机执行指令,所述至少一个处理器执行该所述计算机执行指令,以使所述顶点数据处理系统执行第一方面和第二方面任一项所述的方法。第八方面,本发明实施例提供一种芯片系统,所述芯片系统包括处理器,用于支持所述顶点数据处理系统实现第一方面和第二方面任一项所述的方法。在一种可能的设计中,所述芯片系统还包括存储器,所述存储器用于保存顶点数据处理系统必要的程序指令和数据。该芯片系统,可以由芯片构成,也可以包含芯片和其他分立器件。本发明实施例提供的顶点数据处理方法、装置及设备,当需要向vram传输待渲染顶点数据时,cpu将待渲染顶点数据存储在内存的gtt中的第一vbo中,并向gpu发送读取指令,gpu根据读取指令,以dma方式将第一vbo中的待渲染顶点数据读取到vram中的第二vbo中,以使gpu可以多次使用第二vbo中的待渲染顶点数据。在上述过程中,在内存之中进行数据的转移的速率较高,因此,cpu可以快速将内存中的待渲染数据存储到内存的gtt中的第一vbo中,进一步的,cpu在内存的gtt创建第一vbo、以及向gpu发送读取指令消耗的时长都很少,因此,在将内存中的待渲染数据传输至vram的过程中,cpu参与的总时长远远小于现有技术中cpu控制将内存中的待渲染数据通过数据总线传输至vram所消耗的时长,因此,通过上述方法可以节省cpu资源。附图说明为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图做一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1为本发明实施例提供的顶点数据处理方法的应用场景示意图;图2为本发明实施例提供的顶点数据处理方法的流程示意图一;图3为本发明实施例提供的顶点数据处理方法的流程示意图二;图4为本发明实施例提供的顶点数据处理处理过程示意图;图5为本发明实施例提供的一种顶点数据处理装置的结构示意图一;图6为本发明实施例提供的一种顶点数据处理装置的结构示意图二;图7为本发明实施例提供的另一种顶点数据处理装置的结构示意图一;图8为本发明实施例提供的另一种顶点数据处理装置的结构示意图二。具体实施方式下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”和/或“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例,例如能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。图1为本发明实施例提供的顶点数据处理方法的应用场景示意图。请参见图1,在电子设备中包括cpu11、内存12、显卡13和显示屏14,其中,显卡13中至少包括gpu131和vram132。可选的,电子设备可以为手机、电脑等设备。可选的,在实际应用过程中,cpu可以根据gpu的实际需求,在内存中为gpu分配相应的存储空间,该部分存储空间称为图形转换表(graphicstranslationtable,简称gtt)。在本申请中,当需要进行图像显示时,cpu可以获取待渲染的数据,其中,待渲染的数据中包括待渲染顶点数据,cpu在gtt中创建vbo并将待渲染顶点数据存储在gtt的vbo中,并通知cpu以直接内存存取dma(directmemoryaccess,简称dma)的方式将gtt中的待渲染顶点数据读取到vram中的vbo中,以使gpu可以多次使用vram中的vbo中的待渲染顶点数据。在上述过程中,cpu在将内存中的待渲染顶点数据存储至内存的gtt中的vbo,并通知gpu以dma的方式读取gtt的vbo中的待渲染顶点数据之后,cpu即可处理其它业务,即,cpu无需控制从内存向vram传递待渲染顶点数据的过程。其中,cpu在内存的gtt创建vbo消耗的时长、与将内存中的待渲染顶点数据存储至内存的gtt中的vbo中消耗的时长之和,远远小于现有技术中的cpu控制将内存中的待渲染数据通过数据总线传输至vram所消耗的时长,因此,通过本申请所示的方法可以节省cpu资源。下面,通过具体实施例对本申请所示的技术方案进行详细说明。需要说明的是,下面几个具体实施例可以相互结合,对于相同或相似的内容,在不同的实施例中不再进行赘述。图2为本发明实施例提供的顶点数据处理方法的流程示意图一。请参见图2,该方法可以包括:s201、cpu将待渲染顶点数据存储至第一vbo,第一vbo位于内存的gtt中。在实际应用过程中,当用户需要在电子设备中显示图像时,用户可以在电子设备中输入图像显示请求,以使cpu和gpu协同执行图2实施例所示的方法,以显示需要显示的图像。例如,用户可以对电子设备中的图像显示按钮进行点击操作等,以实现在电子设备中输入显示请求。当然,显示请求还可以为电子设备中的应用程序在运行的过程中自动生成的,例如,在游戏(应用程序)的运行过程中,当游戏运行到预设节点时,自动生成广告图像显示请求,该显示请求用于请求显示广告图像。在接收到图像显示请求之后,cpu可以获取用于进行图像显示的初始图像数据,其中,该初始图像数据中包括初始顶点数据和非顶点数据。例如,cpu可以通过网络在对应的服务器中下载初始图像数据,或者,cpu可以在电子设备的本地获取初始图像数据等。需要说明的是,cpu可以通过现有技术中的方式对非顶点数据进行处理,此处不再进行赘述。在本发明实施例中,顶点数据是指在进行图像渲染时需要至少两次的数据。gpu通常无法识别初始顶点数据的格式,因此,在cpu获取得到初始顶点数据之后,需要先在内存中对初始顶点数据进行格式转换,以得到待渲染顶点数据,cpu可以识别待渲染顶点数据并对待渲染顶点数据进行处理。当然,在实际应用过程中,还可以对初始顶点数据进行其它处理以得到待渲染顶点数据,例如,解压处理、或压缩处理等。可选的,可以通过至少如下两种可行的实现方式确定第一vbo所占存储空间的大小:一种可行的实现方式:根据待渲染顶点数据的大小,确定第一vbo所占存储空间的大小。在该种可行的实现方式中,在cpu获取得到待渲染顶点数据之后,可以先获取待渲染顶点数据的大小,可以根据待渲染顶点数据的大小,在内存的gtt中创建第一vbo,以使第一vbo所占存储空间的大小等于待渲染顶点数据的大小。当然,为了提高处理效率,还可以在得到待渲染顶点数据之前,根据初始顶点数据预估待渲染顶点数据的大小,并根据预估的待渲染顶点数据的大小,在内存的gtt中创建第一vbo,以使第一vbo所占存储空间的大小等于预估的、待渲染顶点数据的大小。另一种可行的实现方式:根据vram中第二vbo所占存储空间的大小,确定第一vbo所占存储空间的大小。在该种可行的实现方式中,在vram中存在第二vbo,第二vbo通常为固定存在的,并不会随着顶点数据的渲染而被动态创建或释放。第二vbo所占用的存储空间通常为预设大小。相应的,在内存的gtt中创建第一vbo时,可以根据第二vbo所占存储空间大小,创建第一vbo,以使第二vbo所占存储空间的大小与第二vbo所占存储空间的大小相同。需要说明的是,在实际应用过程中,还可以根据其它可行的实现方式,确定第一vbo所占存储空间的大小,本发明实施例对此不作具体限定。s202、cpu向gpu发送读取指令。可选的,读取指令用于通知gpu以dma方式在内存的gtt中的第一vbo中读取数据。s203、gpu根据读取指令,通过dma方式将第一vbo中的待渲染顶点数据读取至第二vbo,第二vbo位于vram中。其中,在gpu以dma方式在内存的gtt中进行数据读取时,无需依赖cpu的控制,因此,在gpu以dma方式将第一vbo中的待渲染顶点数据读取至第二vbo的过程中,cpu可以执行其它处理。可选的,vram中的第二vbo可以为一直存在的,并不会随着顶点数据的渲染而被动态创建或释放。可选的,第二vbo的存储空间可以为预设大小,在实际应用过程中,可以根据实际需要设置该预设大小。当然,还可以根据实际需要动态创建或释放vram中的第二vbo,在vram中动态创建第二vbo时,还可以根据实际需要设置第二vbo所在存储空间的大小。s204、gpu根据第二vbo中的待渲染顶点数据进行图像渲染。在gpu将待渲染顶点数据存储至第二vbo之后,便可以根据第二vbo中的待渲染顶点数据进行图像渲染。可选的,在gpu对第二vbo中的待渲染顶点数据使用完成之后,可以将第二vbo中的待渲染顶点数据删除。例如,在gpu完成当前场景的渲染之后,便可以删除第二vbo中的待渲染顶点数据。本发明实施例提供的顶点数据处理方法,当需要向vram传输待渲染顶点数据时,cpu将待渲染顶点数据存储在内存的gtt中的第一vbo中,并向gpu发送读取指令,gpu根据读取指令,以dma方式将第一vbo中的待渲染顶点数据读取到vram中的第二vbo中,以使gpu可以多次使用第二vbo中的待渲染顶点数据。在上述过程中,在内存之中进行数据的转移的速率较高,因此,cpu可以快速将内存中的待渲染数据存储到内存的gtt中的第一vbo中,进一步的,cpu在内存的gtt创建第一vbo、以及向gpu发送读取指令消耗的时长都很少,因此,在将内存中的待渲染数据传输至vram的过程中,cpu参与的总时长远远小于现有技术中cpu控制将内存中的待渲染数据通过数据总线传输至vram所消耗的时长,因此,通过本申请所示的方法可以节省cpu资源。在上述任意一个实施例的基础上,下面,通过图3所示的实施例,对顶点数据的处理方法进行进一步详细说明。图3为本发明实施例提供的顶点数据处理方法的流程示意图二。请参见图3,该方法可以包括:s301、cpu获取初始顶点数据。需要说明的是,s301中cpu获取初始顶点数据的过程可以参见s201中的描述,此处不再进行赘述。可选的,在cpu获取得到初始顶点数据之后,可以将初始顶点数据存储在内存中。s302、cpu在内存中对初始顶点数据进行格式转换,得到待渲染顶点数据。需要说明的是,s302中cpu获取得到待渲染顶点数据的过程可以参见s201中的描述,此处不再进行赘述。s303、cpu根据带渲染顶点数据的大小,在内存的gtt中创建第一vbo。可选的,在实际应用过程中,可以通过调用预设函数在内存的gtt中创建第一vbo。例如,该预设函数可以为glbufferdata,glbufferdata函数具体可以如下:voidglbuferdata(glenumtarget,glsizeiptrsize,constglvoid*data,glenumusage)。glbufferdata函数中包括四个传递参数,分别为target、size、data和usage,其中,参数target的类型为glenum,参数size的类型为glsizeiptr,参数data的类型为constglvoid*,参数usage的类型为glenum。参数target用于指示待创建的vbo的存储位置,其中,待创建的vbo的存储位置可以为内存、gtt、或vram,可以通过设置参数target的数值来指示待创建的vbo的存储位置。参数size用于指示待创建的vbo所占存储空间的大小。参数data为待渲染顶点数据。参数usage用于指示data可能会被使用的次数。例如,当usage为stream时,用于指示data将会被改变一次、且只会被使用少数几次。当usage为static时,用于指示data将会被改变一次、且会被用很多次。当usage为dynamic时,用于指示data将会被改变一次、且会被使用很多次。可选的,顶点数据的参数usage通常设置为是static,以指示顶点数据会被使用多次。s304、cpu将内存中待渲染顶点数据存储至第一vbo。其中,cpu将内存中的待渲染顶点数据存储至第一vbo,只需要消耗较少的时间。可选的,在cpu将内存中的待渲染顶点数据存储中第一vbo之后,可以删除内存中的待渲染顶点数据,以提高内存资源的利用率。s305、cpu向gpu发送读取指令。需要说明的是,s305的执行过程可以参见s202,此处不再进行赘述。s306、gpu根据读取指令,通过dma方式将第一vbo中的待渲染顶点数据读取至vram中的第二vbo。需要说明的是,s306的执行过程可以参见s203,此处不再进行赘述。还需要说明的是,在s306之前,gpu已在vram中创建第二vbo,并长期在vram保存第二vbo。s307、gpu读取完第一vbo中的待渲染顶点数据之后,向cpu发送读取完成响应。其中,读取完成响应用于向cpu通知gpu已读取完成第一vbo中的待渲染顶点数据。s308、gpu根据第二vbo中的待渲染顶点数据进行图像渲染。s309、cpu根据读取完成指令,在内存中的gtt中释放第一vbo。需要说明的是,s308和s309可以同时执行,也可以顺序执行,当s308和s309顺序执行时,还可以先执行s309,再执行s308。在图3所示的实施例中,cpu在内存的gtt中建立第一vbo,将待渲染顶点数据缓存至第一vbo,并通知gpu以dma的方式将第一vbo中待渲染顶点数据传递至vram的第二vbo,与cpu直接控制待渲染顶点数据从内存通过数据总线向vram传递的方法相比,提高了待渲染顶点数据的传输速率。经试验统计得到,按照现有技术中的方式和本申请中的方式,待渲染顶点数据的传输速率可以如下表1所示。表1其中,表1中列举12组待渲染顶点数据的传输速率,对于其中每一组数据:“原始使用时间”指的是cpu直接控制待渲染顶点数据从内存通过数据总线向vram传递的方法使用的时间,“优化后使用时间”指的是利用本实施例提供的方法进行待渲染顶点数据传递的时间,“速度提升百分比”指的是“优化后使用时间”与对应的“原始使用时间”相比的速度提升百分率。下面,结合图4所示的顶点数据处理处理过程示意图,通过具体示例对上述方法实施例所示的技术方案进行详细说明。图4为本发明实施例提供的顶点数据处理处理过程示意图。请参见图4,包括状态41-状态46。请参见状态41,当需要进行图像渲染时,cpu先获取初始顶点数据,并将初始顶点数据存储在内存中。请参见状态42,cpu在内存中对初始顶点数据进行格式转换,得到待渲染顶点数据,此时,待渲染顶点数据还位于内存中,并在内存中删除了初始顶点数据。请参见状态43,cpu将内存中的待渲染顶点数据存储在gtt的第一vbo中,在cpu将待渲染顶点数据存储到第一vbo之后,删除内存中的待渲染顶点数据。请参见状态44,在cpu将待渲染顶点数据存储至第一vbo之后,cpu向gpu发送读取指令。请参见状态45,gpu根据cpu发送的读取指令,在内存的gtt中的第一vbo中的待渲染顶点数据以dma方式读取到vram的第二vbo中。请参见状态46,在gpu读取完成第一vbo中的待渲染顶点数据之后,gpu向cpu发送读取完成指令,cpu根据读取完成指令,释放gtt中的第一vbo。图5为本发明实施例提供的一种顶点数据处理装置的结构示意图一。请参见图5,该装置可以包括存储模块11和发送模块12,其中,所述存储模块11用于,将待渲染顶点数据存储至第一顶点缓存对象vbo,所述第一vbo位于内存的图形转换表gtt中,所述待渲染顶点数据为在图像渲染过程中至少被使用两次的数据;所述发送模块12用于,向所述图像处理器gpu发送读取指令,以使所述gpu通过直接内存存取dma方式将所述待渲染顶点数据从所述第一vbo中读取到视频随机存取存储器vram中的第二vbo中,所述第二vbo中的所述待渲染顶点数据用于被所述gpu渲染。本发明实施例所示的顶点数据处理装置可以执行上述方法实施例所示的技术方案,其实现原理以及有益效果类似,此处不再进行赘述。图6为本发明实施例提供的一种顶点数据处理装置的结构示意图二。在图5所示实施例的基础上,请参见图6,所述装置还包括获取模块13、格式转换模块14和创建模块15,其中,所述获取模块13用于,在所述存储模块11将待渲染的顶点数据存储至内存的第一顶点缓存对象vbo中之前,获取初始顶点数据;所述格式转换模块14用于,在所述内存中对所述初始顶点数据进行格式转换,得到所述待渲染顶点数据;所述创建模块15用于,在所述内存的gtt中创建所述第一vbo。在一种可能的实施方式中,所述装置还包括接收模块16和释放模块17,其中,所述接收模块16用于,在所述发送模块12向所述图像处理器gpu发送读取指令之后,接收所述gpu发送的读取结束响应;所述释放模块17用于,根据所述读取结束响应,在所述内存的所述gtt中释放所述第一vbo。本发明实施例所示的顶点数据处理装置可以执行上述方法实施例所示的技术方案,其实现原理以及有益效果类似,此处不再进行赘述。图7为本发明实施例提供的另一种顶点数据处理装置的结构示意图一。请参见图7,该装置可以包括接收模块21、读取模块22和渲染模块23,其中,所述接收模块21用于,接收中央处理器cpu发送的读取指令;所述读取模块22用于,根据所述读取指令,通过直接内存存取dma方式将第一vbo中的待渲染顶点数据读取至第二vbo,所述第一vbo位于内存的图形转换表gtt中,所述第二vbo位于视频随机存取存储器vram中;所述渲染模块23用于,根据所述第二vbo中的所述待渲染顶点数据进行图像渲染。本发明实施例所示的顶点数据处理装置可以执行上述方法实施例所示的技术方案,其实现原理以及有益效果类似,此处不再进行赘述。图8为本发明实施例提供的另一种顶点数据处理装置的结构示意图二。在图7所示实施例的基础上,请参见图8,所述装置还包括创建模块24,其中,所述创建模块24用于,在所述渲染模块23根据所述读取指令,将第一vbo中的待渲染顶点数据读取至第二vbo之前,在所述vram中创建所述第二vbo。在一种可能的实施方式中,所述装置还包括发送模块25,其中,所述发送模块25用于,在所述读取模块22根据所述读取指令,通过dma方式将第一vbo中的待渲染顶点数据读取至第二vbo之后,向cpu发送读取结束响应,所述读取结束响应用于指示gpu已读取完成所述第一vbo中的所述待渲染顶点数据。本发明实施例所示的顶点数据处理装置可以执行上述方法实施例所示的技术方案,其实现原理以及有益效果类似,此处不再进行赘述。本发明实施例还提供一种顶点数据处理系统,包括中央处理器cpu、内存、显卡,所述显卡至少包括图像处理gpu和视频随机存取存储器vram,其中,所述cpu用于在所述内存的图形转换表gtt中创建第一顶点缓存对象vbo,所述gtt为所述cpu为所述gpu分配的存储空间;所述cpu还用于将待渲染顶点数据存储至所述第一vbo,并向所述gpu发送读取指令;所述gpu用于在所述vram中创建第二vbo;所述gpu还用于,根据接收到的所述读取指令通过直接内存存取dma方式将所述第一vbo中的所述待渲染顶点数据读取至所述第二vbo,并根据所述第二vbo中的所述待渲染顶点数据进行图像渲染。需要说明的是,顶点数据处理系统的结构示意图可以参见图1,本发明实施例不再进行赘述。本发明实施例提供一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机执行指令,当顶点数据处理系统的至少一个处理器执行所述计算机执行指令时,所述顶点数据处理系统执行上述方法实施例所示的方法。本发明实施例提供一种计算机程序产品,所述计算机程序产品包括计算机执行指令,所述计算机执行指令存储在计算机可读存储介质中,其中,顶点数据处理系统的至少一个处理器用于从所述计算机可读存储介质读取所述计算机执行指令,所述至少一个处理器执行该所述计算机执行指令,以使所述顶点数据处理系统执行上述方法实施例所示的方法。本发明实施例提供一种芯片系统,所述芯片系统包括处理器,用于支持顶点数据处理系统实现上述方法实施例所示的方法。本领域普通技术人员可以理解:实现上述各方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成。前述的程序可以存储于一计算机可读取存储介质中。该程序在执行时,执行包括上述各方法实施例的步骤;而前述的存储介质包括:rom、ram、磁碟或者光盘等各种可以存储程序代码的介质。最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。当前第1页12当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1