CN116991600B - 图形调用指令的处理方法、装置、设备及存储介质 - Google Patents
图形调用指令的处理方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN116991600B CN116991600B CN202310714034.6A CN202310714034A CN116991600B CN 116991600 B CN116991600 B CN 116991600B CN 202310714034 A CN202310714034 A CN 202310714034A CN 116991600 B CN116991600 B CN 116991600B
- Authority
- CN
- China
- Prior art keywords
- graphic
- call instruction
- graphics
- instruction
- buffer queue
- 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
- 238000012545 processing Methods 0.000 title claims abstract description 135
- 238000000034 method Methods 0.000 title claims abstract description 53
- 230000006870 function Effects 0.000 claims abstract description 61
- 238000009877 rendering Methods 0.000 claims abstract description 34
- 238000004590 computer program Methods 0.000 claims description 21
- 230000004044 response Effects 0.000 claims description 9
- 238000006243 chemical reaction Methods 0.000 claims description 5
- 238000013507 mapping Methods 0.000 claims description 5
- 238000003672 processing method Methods 0.000 description 7
- 238000004891 communication Methods 0.000 description 5
- 230000000903 blocking effect Effects 0.000 description 4
- 238000010586 diagram Methods 0.000 description 4
- 230000001960 triggered effect Effects 0.000 description 4
- 230000008859 change Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000002955 isolation Methods 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- OKTJSMMVPCPJKN-UHFFFAOYSA-N Carbon Chemical compound [C] OKTJSMMVPCPJKN-UHFFFAOYSA-N 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 229910021389 graphene Inorganic materials 0.000 description 1
- 238000003384 imaging method Methods 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 230000003287 optical effect Effects 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
- 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/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/547—Remote procedure calls [RPC]; Web services
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/64—Protecting data integrity, e.g. using checksums, certificates or signatures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
- G06F8/36—Software reuse
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
- G06F8/38—Creation or generation of source code for implementing user interfaces
-
- 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/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/544—Buffers; Shared memory; Pipes
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Human Computer Interaction (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Computer Hardware Design (AREA)
- Digital Computer Display Output (AREA)
Abstract
本申请涉及一种图形调用指令的处理方法、装置、设备及存储介质。方法包括:获取第一程序语言的线程生成的第一图形调用指令,第一图形调用指令用于调用第二程序语言的接口函数对图形库中的图形进行上屏渲染,第一程序语言与第二程序语言不同;根据指令模版,将第一图形调用指令转化为第二图形调用指令,第二图形调用指令中包括签名信息,签名信息与第一图形调用指令调用的第二程序语言的接口函数对应;在缓冲队列中保存第二图形调用指令;响应于上屏指示信息,执行缓冲队列中保存的第二图形调用指令,以将缓冲队列中保存的第二图形调用指令在图形库中对应的图形进行上屏渲染。采用本方法能够提高图形调用指令的吞吐速度。
Description
技术领域
本申请涉及图形处理技术领域,特别是涉及一种图形调用指令的处理方法、装置、设备及存储介质。
背景技术
目前,可以使用计算机编程(JavaScript)语言开发移动终端的跨平台的三维应用程序。在开发三维应用程序时,可以通过向移动终端的图形处理器(Graphics ProcessingUnit,GPU)中的上下文处理器发送图形调用指令,来调用开放图形库中的图形进行上屏渲染。
相关技术中,由于图形调用指令是由JavaScript语言生成的,但图形调用指令调用的是C++语言的应用程序接口。因此,GPU中的上下文处理器执行图形调用指令时,需要将JavaScript语言内的变量及方法,和C++内对应的对象及对应的方法进行关联,从而消耗了大量的时间,由此造成图形调用指令的吞吐速度较慢。
发明内容
基于此,有必要针对上述技术问题,提供一种能够图形调用指令的吞吐速度的图形调用指令的处理方法、装置、设备、存储介质及程序产品。
第一方面,本申请提供了一种图形调用指令的处理方法,应用于终端设备。所述方法包括:
获取第一程序语言的线程生成的第一图形调用指令,所述第一图形调用指令用于调用第二程序语言的接口函数对图形库中的图形进行上屏渲染,所述第一程序语言与所述第二程序语言不同;
根据指令模版,将所述第一图形调用指令转化为第二图形调用指令,所述第二图形调用指令中包括签名信息,所述签名信息与所述第一图形调用指令调用的第二程序语言的接口函数对应;
在缓冲队列中保存所述第二图形调用指令;
响应于上屏指示信息,执行所述缓冲队列中保存的第二图形调用指令,以将所述缓冲队列中保存的第二图形调用指令在所述图形库中对应的图形进行上屏渲染。
在其中一个实施例中,所述终端设备中包括图形处理器,所述图形处理器中包括多个上下文处理单元;
所述响应于上屏指示信息,执行所述缓冲队列中保存的第二图形调用指令,以将所述缓冲队列中保存的第二图形调用指令在所述图形库中对应的图形进行上屏渲染,包括:
响应于所述上屏指示信息,将所述缓冲队列中保存的第二图形调用指令发送给所述第一程序语言的线程对应的上下文处理单元;
控制所述第一程序语言的线程对应的上下文处理单元,执行所述缓冲队列中保存的第二图形调用指令,以将所述缓冲队列中保存的第二图形调用指令在所述图形库中对应的图形进行上屏渲染。
在其中一个实施例中,所述控制所述第一程序语言的线程对应的上下文处理单元,执行所述缓冲队列中保存的第二图形调用指令,包括:
查询所述图形处理器中的多个上下文处理单元的处理状态;
若所述图形处理器中的多个上下文处理单元均不处于上屏处理状态,则控制所述第一程序语言的线程对应的上下文处理单元,执行所述缓冲队列中保存的第二图形调用指令。
在其中一个实施例中,在所述响应于所述上屏指示信息,将所述缓冲队列中保存的第二图形调用指令发送给所述第一程序语言的线程对应的上下文处理单元之后,所述方法还包括:
清空所述缓冲队列中保存的第二图形调用指令。
在其中一个实施例中,在所述响应于上屏指示信息,执行所述缓冲队列中保存的第二图形调用指令之前,所述方法还包括:
根据所述缓冲队列中保存的第二图形调用指令的签名信息或所述缓冲队列中保存的第二图形调用指令的数量,触发上屏指示信息。
在其中一个实施例中,所述根据所述缓冲队列中保存的第二图形调用指令的签名信息或所述缓冲队列中保存的第二图形调用指令的数量,触发上屏指示信息,包括:
若所述缓冲队列中的第二图形调用指令的签名信息对应目标类型的接口函数,或者,所述缓冲队列中保存的第二图形调用指令的数量超过阈值,则触发所述上屏指示信息。
第二方面,本申请还提供了一种图形调用指令的处理装置。所述装置包括:
获取模块,用于获取第一程序语言的线程生成的第一图形调用指令,所述第一图形调用指令用于调用第二程序语言的接口函数对图形库中的图形进行上屏渲染,所述第一程序语言与所述第二程序语言不同;
转化模块,用于根据指令模版,将所述第一图形调用指令转化为第二图形调用指令,所述第二图形调用指令中包括签名信息,所述签名信息与所述第一图形调用指令调用的第二程序语言的接口函数对应;
保存模块,用于在缓冲队列中保存所述第二图形调用指令;
执行模块,用于响应于上屏指示信息,执行所述缓冲队列中保存的第二图形调用指令,以将所述缓冲队列中保存的第二图形调用指令在所述图形库中对应的图形进行上屏渲染。
在其中一个实施例中,所述图形调用指令的处理装置中包括图形处理器,所述图形处理器中包括多个上下文处理单元;
所述执行模块,具体用于响应于所述上屏指示信息,将所述缓冲队列中保存的第二图形调用指令发送给所述第一程序语言的线程对应的上下文处理单元;控制所述第一程序语言的线程对应的上下文处理单元,执行所述缓冲队列中保存的第二图形调用指令,以将所述缓冲队列中保存的第二图形调用指令在所述图形库中对应的图形进行上屏渲染。
在其中一个实施例中,所述执行模块,具体用于查询所述图形处理器中的多个上下文处理单元的处理状态;若所述图形处理器中的多个上下文处理单元均不处于上屏处理状态,则控制所述第一程序语言的线程对应的上下文处理单元,执行所述缓冲队列中保存的第二图形调用指令。
在其中一个实施例中,所述执行模块,还用于清空所述缓冲队列中保存的第二图形调用指令。
在其中一个实施例中,所述保存模块,还用于根据所述缓冲队列中保存的第二图形调用指令的签名信息或所述缓冲队列中保存的第二图形调用指令的数量,触发上屏指示信息。
在其中一个实施例中,所述保存模块,具体用于若所述缓冲队列中的第二图形调用指令的签名信息对应目标类型的接口函数,或者,所述缓冲队列中保存的第二图形调用指令的数量超过阈值,则触发所述上屏指示信息。
第三方面,本申请还提供了一种计算机设备。所述计算机设备包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行上述图形调用指令的处理方法。
第四方面,本申请还提供了一种计算机可读存储介质。所述计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行上述图形调用指令的处理方法。
第五方面,本申请还提供了一种计算机程序产品。所述计算机程序产品,包括计算机程序,该计算机程序被处理器执行上述图形调用指令的处理方法。
上述图形调用指令的处理方法、装置、设备、存储介质及程序产品,首先获取第一程序语言的线程生成的第一图形调用指令,所述第一图形调用指令用于调用第二程序语言的接口函数对图形库中的图形进行上屏渲染,所述第一程序语言与所述第二程序语言不同。其次,根据指令模版,将所述第一图形调用指令转化为第二图形调用指令,所述第二图形调用指令中包括签名信息,所述签名信息与所述第一图形调用指令调用的第二程序语言的接口函数对应。再次,在缓冲队列中保存所述第二图形调用指令。最后,响应于上屏指示信息,执行所述缓冲队列中保存的第二图形调用指令,以将所述缓冲队列中保存的第二图形调用指令在所述图形库中对应的图形进行上屏渲染。通过该方法,由于将第一程序语言的线程生成的第一图形调用指令转换为第二图像调用指令,并且该第二图像调用指令中包括与调用的第二程序语言的接口函数对应的签名信息,从而使得在执行第二图像调用指令时,可以直接基于签名信息进行指令映射,无需再关联第一程序语言和第二程序语言之间的方法和变量,加快了图像调用指令的执行速度,进而提高了图像调用指令的吞吐速度。
附图说明
图1为本申请实施例提供的一种图形调用指令的处理方法的流程示意图;
图2为本申请实施例提供的一种图形调用指令的处理逻辑的原理示意图;
图3为本申请实施例提供的另一种图形调用指令的处理方法的流程示意图;
图4为本申请实施例提供的再一种图形调用指令的处理方法的流程示意图;
图5为本申请实施例提供的一种图形调用指令的处理装置的结构框图;
图6为本申请实施例提供的一种计算机设备的内部结构图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
在一个实施例中,提供了一种图形调用指令的处理方法,本实施例以该方法应用于终端设备进行举例说明,可以理解的是,上述终端设备可以为任何包含显示组件的设备。示例性的,上述终端设备可以但不限于是各种个人计算机、笔记本电脑、智能手机、平板电脑、物联网设备和便携式可穿戴设备,物联网设备可为智能音箱、智能电视、智能车载设备等。便携式可穿戴设备可为智能手表、头戴设备等。
本实施例中,如图1所示,该图形调用指令的处理方法,包括S101-S104:
S101、获取第一程序语言的线程生成的第一图形调用指令。
在本申请中,当需要调用图形库中的图形进行上屏渲染时,可以获取第一程序语言的线程生成的第一图形调用指令。
其中,第一图形调用指令用于调用第二程序语言的接口函数对图形库中的图形进行上屏渲染,第一程序语言与第二程序语言不同。
应理解,上述图形库可以包括开放图形库(Open Graphics Library,OpenGL)直接扩大(Direct eXtension,DirectX)图形库等。图形库中可以包括多种跨平台、跨语言的接口函数,通过调用上述接口函数,可以利用图形库内与接口函数对应的图形资源,渲染出二维图形,甚至三维景象。
应理解,本申请实施例对于第一程序语言和第二程序语言的种类不做限制,只需使第一程序语言和第二程序语言为不同的程序语言即可。示例性的,第一程序语言和第二程序语言可以包括JavaScript语言、C++语言、C语言等。
示例性的,上述第一程序语言的线程可以为JavaScript线程,上述第一图形调用指令可以为JavaScript语言生成的图形调用指令,相应的,上述第一图形调用指令调用的接口函数,可以为C++语言的接口函数。
其中,上述第一图形调用指令可以用于调用不同图像库的接口函数,示例性的,若第一图形调用指令用于调用OpenGL中的接口函数,则相应的,上述第一图形调用指令可以为OpenGL指令。
需要说明的是,本申请实施例对于终端设备的操作系统不做限制,任意操作系统的终端设备均可以获取第一程序语言的线程生成的第一图形调用指令,以进行上屏渲染。示例性的,上述终端设备的操作系统可以包括安卓(Android)操作系统、输入输出(InputOutput System,IOS)操作系统、鸿蒙操作系统等。
S102、根据指令模版,将第一图形调用指令转化为第二图形调用指令,第二图形调用指令中包括签名信息,签名信息与第一图形调用指令调用的第二程序语言的接口函数对应。
在本步骤中,当终端设备获取第一程序语言的线程生成的第一图形调用指令后,可以根据指令模版,将第一图形调用指令转化为第二图形调用指令。
在一些实施例中,上述指令模块可以为用户预先输入的模版。本申请实施例对于指令模版的结构不做限制,在一些实施例中,上述指令模块可以包括签名数据单元和指针数据单元。其中,签名数据单元中可以包含上述签名信息,指针数据单元中可以包括从第一图形调用指令中提取的参数指针数组。
应理解,本申请实施例对于如何根据指令模版,将第一图形调用指令转化为第二图形调用指令不做限制。示例性的,终端设备可以首先识别第一图形调用指令所调用的第二程序语言的接口函数,从而将第一图形调用指令所调用的第二程序语言的接口函数的函数名确定为签名数据。随后,终端设备可以从第一图形调用指令中提取参数指针数组。最后,终端设备可以将签名数据填入指令模版中的签名数据单元,并将参数指针数组填入指令模版中的指针数据单元,从而形成第二图形调用指令。
在本申请中,由于第二图形调用指令中包含对应第二程序语言的接口函数的签名信息,通过将第一图形调用指令转化为第二图形调用指令,从而可以直接基于签名信息进行指令映射,无需再关联第一程序语言和第二程序语言之间的方法和变量,加快了图像调用指令的执行速度,进而提高了图像调用指令的吞吐速度。
S103、在缓冲队列中保存第二图形调用指令。
在本步骤中,在终端设备将第一图形调用指令转化为第二图形调用指令后,可以在缓冲队列中保存第二图形调用指令。
应理解,上述缓冲队列可以自定义确定。在一些实施例中,第一程序语言的线程与缓冲队列对应,第一程序语言生成的第一图形调用指令,在转化为第二图形调用指令后,均可以保存在第一程序语言的线程对应的缓冲队列中,以便后续执行缓冲队列中的第二图形调用指令。
需要说明的是,本申请实施例对于如何在缓冲队列中保存第二图形调用指令不做限制,在一些实施例中,上述缓冲队列中保存的第二图形调用指令可以按照存入缓冲队列的时间进行排序。
示例性的,对于先存入缓冲队列中的第二图形调用指令可以排序在靠前的位置,对于后存入缓冲队列中的第二图形调用指令,可以排序在考后的位置。相应的,在执行缓冲队列中的第二图形调用指令时,可以按照从前往后的排序依次执行第二图形调用指令,即,出缓冲队列的机制为先进先出。
S104、响应于上屏指示信息,执行缓冲队列中保存的第二图形调用指令,以将缓冲队列中保存的第二图形调用指令在图形库中对应的图形进行上屏渲染。
在本步骤中,当终端设备在缓冲队列中保存第二图形调用指令后,终端设备可以响应于上屏指示信息,执行缓冲队列中保存的第二图形调用指令,以将缓冲队列中保存的第二图形调用指令在图形库中对应的图形进行上屏渲染。
应理解,在本申请中,对于缓冲队列中保存的第二图形调用指令,并非实时执行,而是当接收到上屏执行信息后,再执行缓冲队列中全部的第二图形调用指令。
应理解,本申请实施例对于上屏执行信息的触发条件不做限制,在一些实施例中,终端设备可以根据缓冲队列中保存的第二图形调用指令的签名信息或缓冲队列中保存的第二图形调用指令的数量,触发上屏指示信息。
示例性的,若缓冲队列中的第二图形调用指令的签名信息对应目标类型的接口函数,或者,缓冲队列中保存的第二图形调用指令的数量超过阈值,则触发上屏指示信息。
需要说明的是,上述目标类型的接口函数可以根据实际情况具体设置,示例性的,接口函数的类型可以包括阻塞型和非阻塞型。如图2所示,阻塞型的接口函数,无需返回值,因此,可以保持在缓冲队列中,在一段时间后再执行。非阻塞型的接口函数,需要返回值,因此,在存入缓冲队列后,可以触发上屏执行信息,从而使终端设备立即执行缓冲队列中保存的第二图形调用指令。
此外,本申请实施例对于上述第二图形调用指令的数量对应的阈值也不做限制,在一些实施例中,上述阈值可以等于一帧时长的第二图形调用指令的数量。当缓冲队列中的第二图形调用指令的数量大于一帧时长对应的数量后,可以立即触发上屏执行信息,从而使终端设备立即执行缓冲队列中保存的第二图形调用指令。
应理解,本申请实施例对于如何执行缓冲队列中保存的第二图形调用指令也不做限制。在一些实施例中,终端设备中可以包括图形处理器,图形处理器中可以包括多个上下文处理单元。当终端设备检测到上屏指示信息后,响应于上屏指示信息,可以将缓冲队列中保存的第二图形调用指令发送给第一程序语言的线程对应的上下文处理单元。随后,终端设备可以控制第一程序语言的线程对应的上下文处理单元,执行缓冲队列中保存的第二图形调用指令,以将缓冲队列中保存的第二图形调用指令在图形库中对应的图形进行上屏渲染。
其中,上述图形处理器(Graphics Processing Unit,GPU),是一种图形相关运算工作的微处理器。上述图形处理器中包括多个上下文处理单元。上述上下文处理单元用于执行图形调用指令,具备独立调度和错误隔离的属性。上下文处理单元中封装有GPU上执行图形调用指令所需的资源,包括不同的地址空间、内存分配等。
在本申请中,不同的线程可以对应不同的上下文处理单元。线程对应的图形调用指令,可以发送给该线程对应的上下文处理单元执行。
在一些实施例中,终端设备将缓冲队列中保存的第二图形调用指令发送给第一程序语言的线程对应的上下文处理单元后,还可以清空缓冲队列中保存的第二图形调用指令,从而使得后续生成的第二图形调用指令可以继续保存在缓冲队列中,并在下次触发上屏指示信息后,再发送给上下文处理单元执行。
应理解,本申请实施例对于上下文处理单元如何执行缓冲队列中保存的第二图形调用指令不做限制。由于图形处理器中包含多个上下文单元,各个上下文处理单元之间独立调度,某个上下文处理单元在执行指令进行离屏或上屏操作时,不会通知其他上下文处理单元。因此,在本申请实施例中,当第一程序语言的线程对应的上下文处理单元接收到缓冲队列中保存的第二图形调用指令后,终端设备可以先查询图形处理器中的多个上下文处理单元的处理状态。若图形处理器中的多个上下文处理单元均不处于上屏处理状态,则控制第一程序语言的线程对应的上下文处理单元,执行缓冲队列中保存的第二图形调用指令。
其中,上下文处理单元的处理状态可以包括上屏处理状态、离屏处理状态等。
示例的,终端设备可以在每次监听到一帧垂直同步(VSync)信号时,遍历每个上下文处理单元中的预设标记位,从而获取每个上下文处理单元的处理状态。若所有上下文处理单元在该帧垂直同步信号时均不处于上屏处理状态,则接收到第二图形调用指令的上下文单元,可以在该帧垂直同步信号的时刻,执行第二图形调用指令。若存在任一上下文处理单元在该帧垂直同步信号时处于上屏处理状态,则接收到第二图形调用指令的上下文单元,不在该帧执行第二图形调用指令,并在监听到下一帧垂直同步信号时,再次获取每个上下文处理单元的处理状态,以确定能否执行第二图形调用指令。以此循环进行逐帧监听,直至执行完缓冲队列中保存的第二图形调用指令。
在本申请中,当该缓冲队列积累了一帧时长的第二图形调用指令时,或者缓冲队列中最新缓存的是一个需要立刻执行并获取返回值的第二图形调用指令时,可以触发上屏指示信息,从而立即清空缓冲队列并将缓冲队列中存在的第二图形调用指令按次序全部调用,进而可以大幅提高单位时间内单个上下文处理单元的图形调用指令的吞吐量。
此外,由于在执行缓冲队列中保存的第二图形调用指令前,查询图形处理器中的多个上下文处理单元的处理状态,只有图形处理器中的多个上下文处理单元均不处于上屏处理状态,才控制第一程序语言的线程对应的上下文处理单元,执行缓冲队列中保存的第二图形调用指令。通过该方式,可以避免某个上下文处理单元执行的第二图形调用指令过多时,其他上下文处理单元同时执行第二图形调用指令,从而避免同时执行的第二图形调用指令的数量超过图形处理器的承载上限而造成设备冻屏司机的现象。
本申请实施例提供的图形调用指令的处理方法,首先获取第一程序语言的线程生成的第一图形调用指令,第一图形调用指令用于调用第二程序语言的接口函数对图形库中的图形进行上屏渲染,第一程序语言与第二程序语言不同。其次,根据指令模版,将第一图形调用指令转化为第二图形调用指令,第二图形调用指令中包括签名信息,签名信息与第一图形调用指令调用的第二程序语言的接口函数对应。再次,在缓冲队列中保存第二图形调用指令。最后,响应于上屏指示信息,执行缓冲队列中保存的第二图形调用指令,以将缓冲队列中保存的第二图形调用指令在图形库中对应的图形进行上屏渲染。由于将第一程序语言的线程生成的第一图形调用指令转换为第二图像调用指令,并且该第二图像调用指令中包括与调用的第二程序语言的接口函数对应的签名信息,从而使得在执行第二图像调用指令,无需再关联第一程序语言和第二程序语言之间的方法和变量,加快了图像调用指令的执行速度,进而提高图像调用指令的吞吐速度。
下面对于终端设备如何执行缓冲队列中保存的第二图形调用指令进行进一步说明。图3为本申请实施例提供的另一种图形调用指令的处理方法的流程示意图。该图形调用指令的处理方法应用于终端设备,终端设备中包括图形处理器,图形处理器中包括多个上下文处理单元。
如图3所示,该图形调用指令的处理方法,包括:
S201、获取第一程序语言的线程生成的第一图形调用指令。
其中,第一图形调用指令用于调用第二程序语言的接口函数对图形库中的图形进行上屏渲染,第一程序语言与第二程序语言不同。
应理解,上述图形库可以包括开放图形库(Open Graphics Library,OpenGL)、直接扩大(Direct eXtension,DirectX)图形库等。图形库中可以包括多种跨平台、跨语言的接口函数,通过调用上述接口函数,可以利用图形库内与接口函数对应的图形资源,渲染出二维图形,甚至三维景象。
应理解,本申请实施例对于第一程序语言和第二程序语言的种类不做限制,只需使第一程序语言和第二程序语言为不同的程序语言即可。示例性的,第一程序语言和第二程序语言可以包括JavaScript语言、C++语言、C语言等。
S202、根据指令模版,将第一图形调用指令转化为第二图形调用指令,第二图形调用指令中包括签名信息,签名信息与第一图形调用指令调用的第二程序语言的接口函数对应。
在一些实施例中,上述指令模块可以为用户预先输入的模版。本申请实施例对于指令模版的结构不做限制,在一些实施例中,上述指令模块可以包括签名数据单元和指针数据单元。其中,签名数据单元中可以包含上述签名信息,指针数据单元中可以包括从第一图形调用指令中提取的参数指针数组。
应理解,本申请实施例对于如何根据指令模版,将第一图形调用指令转化为第二图形调用指令不做限制。示例性的,终端设备可以首先识别第一图形调用指令所调用的第二程序语言的接口函数,从而将第一图形调用指令所调用的第二程序语言的接口函数的函数名确定为签名数据。随后,终端设备可以从第一图形调用指令中提取参数指针数组。最后,终端设备可以将签名数据填入指令模版中的签名数据单元,并将参数指针数组填入指令模版中的指针数据单元,从而形成第二图形调用指令。
S203、在缓冲队列中保存第二图形调用指令。
应理解,上述缓冲队列可以自定义确定。在一些实施例中,第一程序语言的线程与缓冲队列对应,第一程序语言生成的第一图形调用指令,在转化为第二图形调用指令后,均可以保存在第一程序语言的线程对应的缓冲队列中,以便后续执行缓冲队列中的第二图形调用指令。
S204、响应于上屏指示信息,将缓冲队列中保存的第二图形调用指令发送给第一程序语言的线程对应的上下文处理单元。
应理解,在本申请中,对于缓冲队列中保存的第二图形调用指令,并非实时执行,而是当接收到上屏执行信息后,再执行缓冲队列中全部的第二图形调用指令。
在一些实施例中,终端设备包括图形处理器,图形处理器中包括多个上下文处理单元。上述上下文处理单元用于执行图形调用指令,具备独立调度和错误隔离的属性。上下文处理单元中封装有GPU上执行指令所需的资源,包括不同的地址空间、内存分配等。
在本申请中,不同的线程可以对应不同的上下文处理单元。线程对应的图形调用指令,可以发送给该线程对应的上下文处理单元执行。
S205、清空缓冲队列中保存的第二图形调用指令。
S206、查询图形处理器中的多个上下文处理单元的处理状态。
其中,上下文处理单元的处理状态可以包括上屏处理状态、离屏处理状态等。
S207、若图形处理器中的多个上下文处理单元均不处于上屏处理状态,则控制第一程序语言的线程对应的上下文处理单元,执行缓冲队列中保存的第二图形调用指令。
下面对于终端设备如何触发上屏指示信息进行进一步说明。图4为本申请实施例提供的再一种图形调用指令的处理方法的流程示意图。如图4所示,该图形调用指令的处理方法,包括:
S301、获取第一程序语言的线程生成的第一图形调用指令,第一图形调用指令用于调用第二程序语言的接口函数对图形库中的图形进行上屏渲染,第一程序语言与第二程序语言不同;
S302、根据指令模版,将第一图形调用指令转化为第二图形调用指令,第二图形调用指令中包括签名信息,签名信息与第一图形调用指令调用的第二程序语言的接口函数对应。
S303、在缓冲队列中保存第二图形调用指令。
S304、确定缓冲队列中保存的第二图形调用指令的数量是否超过阈值。
若是,则执行S306,若否,则执行S305。
S305、确定缓冲队列中的第二图形调用指令的签名信息是否对应目标类型的接口函数。
若是,则执行S306,若否,则执行S301。
S306、触发上屏指示信息。
S307、响应于上屏指示信息,执行缓冲队列中保存的第二图形调用指令,以将缓冲队列中保存的第二图形调用指令在图形库中对应的图形进行上屏渲染。
本申请实施例提供的图形调用指令的处理方法,首先获取第一程序语言的线程生成的第一图形调用指令,第一图形调用指令用于调用第二程序语言的接口函数对图形库中的图形进行上屏渲染,第一程序语言与第二程序语言不同。其次,根据指令模版,将第一图形调用指令转化为第二图形调用指令,第二图形调用指令中包括签名信息,签名信息与第一图形调用指令调用的第二程序语言的接口函数对应。再次,在缓冲队列中保存第二图形调用指令。最后,响应于上屏指示信息,执行缓冲队列中保存的第二图形调用指令,以将缓冲队列中保存的第二图形调用指令在图形库中对应的图形进行上屏渲染。通过该方法,由于将第一程序语言的线程生成的第一图形调用指令转换为第二图像调用指令,并且该第二图像调用指令中包括与调用的第二程序语言的接口函数对应的签名信息,从而使得在执行第二图像调用指令时,可以直接基于签名信息进行指令映射,无需再关联第一程序语言和第二程序语言之间的方法和变量,加快了图像调用指令的执行速度,进而提高了图像调用指令的吞吐速度。
应该理解的是,虽然如上的各实施例所涉及的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,如上的各实施例所涉及的流程图中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
基于同样的发明构思,本申请实施例还提供了一种用于实现上述所涉及的图形调用指令的处理方法的图形调用指令的处理装置。该装置所提供的解决问题的实现方案与上述方法中所记载的实现方案相似,故下面所提供的一个或多个图形调用指令的处理装置实施例中的具体限定可以参见上文中对于图形调用指令的处理方法的限定,在此不再赘述。
在一个实施例中,如图5所示,提供了一种图形调用指令的处理装置400,包括:获取模块401、转化模块402、保存模块403和执行模块404,其中:
获取模块401,用于获取第一程序语言的线程生成的第一图形调用指令,第一图形调用指令用于调用第二程序语言的接口函数对图形库中的图形进行上屏渲染,第一程序语言与第二程序语言不同。
转化模块402,用于根据指令模版,将第一图形调用指令转化为第二图形调用指令,第二图形调用指令中包括签名信息,签名信息与第一图形调用指令调用的第二程序语言的接口函数对应。
保存模块403,用于在缓冲队列中保存第二图形调用指令。
执行模块404,用于响应于上屏指示信息,执行缓冲队列中保存的第二图形调用指令,以将缓冲队列中保存的第二图形调用指令在图形库中对应的图形进行上屏渲染。
在其中一个实施例中,图形调用指令的处理装置中包括图形处理器,图形处理器中包括多个上下文处理单元。
执行模块404,具体用于响应于上屏指示信息,将缓冲队列中保存的第二图形调用指令发送给第一程序语言的线程对应的上下文处理单元;控制第一程序语言的线程对应的上下文处理单元,执行缓冲队列中保存的第二图形调用指令,以将缓冲队列中保存的第二图形调用指令在图形库中对应的图形进行上屏渲染。
在其中一个实施例中,执行模块404,具体用于查询图形处理器中的多个上下文处理单元的处理状态;若图形处理器中的多个上下文处理单元均不处于上屏处理状态,则控制第一程序语言的线程对应的上下文处理单元,执行缓冲队列中保存的第二图形调用指令。
在其中一个实施例中,执行模块404,还用于清空缓冲队列中保存的第二图形调用指令。
在其中一个实施例中,保存模块403,还用于根据缓冲队列中保存的第二图形调用指令的签名信息或缓冲队列中保存的第二图形调用指令的数量,触发上屏指示信息。
在其中一个实施例中,保存模块403,具体用于若缓冲队列中的第二图形调用指令的签名信息对应目标类型的接口函数,或者,缓冲队列中保存的第二图形调用指令的数量超过阈值,则触发上屏指示信息。
上述图形调用指令的处理装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是终端,其内部结构图可以如图6所示。该计算机设备包括处理器、存储器、输入/输出接口、通信接口、显示单元和输入装置。其中,处理器、存储器和输入/输出接口通过系统总线连接,通信接口、显示单元和输入装置通过输入/输出接口连接到系统总线。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质和内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的输入/输出接口用于处理器与外部设备之间交换信息。该计算机设备的通信接口用于与外部的终端进行有线或无线方式的通信,无线方式可通过WIFI、移动蜂窝网络、NFC(近场通信)或其他技术实现。该计算机程序被处理器执行时以实现一种图形调用指令的处理方法。
该计算机设备的显示单元用于形成视觉可见的画面,可以是显示屏、投影装置或虚拟现实成像装置。显示屏可以是液晶显示屏或者电子墨水显示屏,该计算机设备的输入装置可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。
本领域技术人员可以理解,图6中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现上述图形调用指令的处理方法。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现上述图形调用指令的处理方法。
在一个实施例中,提供了一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现上述图形调用指令的处理方法。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(Read-OnlyMemory,ROM)、磁带、软盘、闪存、光存储器、高密度嵌入式非易失性存储器、阻变存储器(ReRAM)、磁变存储器(Magnetoresistive Random Access Memory,MRAM)、铁电存储器(Ferroelectric Random Access Memory,FRAM)、相变存储器(Phase Change Memory,PCM)、石墨烯存储器等。易失性存储器可包括随机存取存储器(Random Access Memory,RAM)或外部高速缓冲存储器等。作为说明而非局限,RAM可以是多种形式,比如静态随机存取存储器(Static Random Access Memory,SRAM)或动态随机存取存储器(Dynamic RandomAccess Memory,DRAM)等。本申请所提供的各实施例中所涉及的数据库可包括关系型数据库和非关系型数据库中至少一种。非关系型数据库可包括基于区块链的分布式数据库等,不限于此。本申请所提供的各实施例中所涉及的处理器可为通用处理器、中央处理器、图形处理器、数字信号处理器、可编程逻辑器、基于量子计算的数据处理逻辑器等,不限于此。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本申请专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请的保护范围应以所附权利要求为准。
Claims (10)
1.一种图形调用指令的处理方法,其特征在于,应用于终端设备,所述方法包括:
获取第一程序语言的线程生成的第一图形调用指令,所述第一图形调用指令用于调用第二程序语言的接口函数对图形库中的图形进行上屏渲染,所述第一程序语言与所述第二程序语言不同;
根据指令模版,将所述第一图形调用指令转化为第二图形调用指令,所述第二图形调用指令中包括签名信息,所述签名信息与所述第一图形调用指令调用的第二程序语言的接口函数对应,所述签名信息用于进行指令映射;
在缓冲队列中保存所述第二图形调用指令;
响应于上屏指示信息,执行所述缓冲队列中保存的第二图形调用指令,以将所述缓冲队列中保存的第二图形调用指令在所述图形库中对应的图形进行上屏渲染;
其中,所述根据指令模版,将所述第一图形调用指令转化为第二图形调用指令,包括:
识别所述第一图形调用指令所调用的第二程序语言的接口函数;
将所述第一图形调用指令所调用的第二程序语言的接口函数的函数名确定为签名数据;
从第一图形调用指令中提取参数指针数组;
将所述签名数据填入所述指令模版中的签名数据单元,并将所述参数指针数组填入所述指令模版中的指针数据单元,从而形成所述第二图形调用指令。
2.根据权利要求1所述的方法,其特征在于,所述终端设备中包括图形处理器,所述图形处理器中包括多个上下文处理单元;
所述响应于上屏指示信息,执行所述缓冲队列中保存的第二图形调用指令,以将所述缓冲队列中保存的第二图形调用指令在所述图形库中对应的图形进行上屏渲染,包括:
响应于所述上屏指示信息,将所述缓冲队列中保存的第二图形调用指令发送给所述第一程序语言的线程对应的上下文处理单元;
控制所述第一程序语言的线程对应的上下文处理单元,执行所述缓冲队列中保存的第二图形调用指令,以将所述缓冲队列中保存的第二图形调用指令在所述图形库中对应的图形进行上屏渲染。
3.根据权利要求2所述的方法,其特征在于,所述控制所述第一程序语言的线程对应的上下文处理单元,执行所述缓冲队列中保存的第二图形调用指令,包括:
查询所述图形处理器中的多个上下文处理单元的处理状态;
若所述图形处理器中的多个上下文处理单元均不处于上屏处理状态,则控制所述第一程序语言的线程对应的上下文处理单元,执行所述缓冲队列中保存的第二图形调用指令。
4.根据权利要求2所述的方法,其特征在于,在所述响应于所述上屏指示信息,将所述缓冲队列中保存的第二图形调用指令发送给所述第一程序语言的线程对应的上下文处理单元之后,所述方法还包括:
清空所述缓冲队列中保存的第二图形调用指令。
5.根据权利要求1-4任一项所述的方法,其特征在于,在所述响应于上屏指示信息,执行所述缓冲队列中保存的第二图形调用指令之前,所述方法还包括:
根据所述缓冲队列中保存的第二图形调用指令的签名信息或所述缓冲队列中保存的第二图形调用指令的数量,触发上屏指示信息。
6.根据权利要求5所述的方法,其特征在于,所述根据所述缓冲队列中保存的第二图形调用指令的签名信息或所述缓冲队列中保存的第二图形调用指令的数量,触发上屏指示信息,包括:
若所述缓冲队列中的第二图形调用指令的签名信息对应目标类型的接口函数,或者,所述缓冲队列中保存的第二图形调用指令的数量超过阈值,则触发所述上屏指示信息。
7.一种图形调用指令的处理装置,其特征在于,所述装置包括:
获取模块,用于获取第一程序语言的线程生成的第一图形调用指令,所述第一图形调用指令用于调用第二程序语言的接口函数对图形库中的图形进行上屏渲染,所述第一程序语言与所述第二程序语言不同;
转化模块,用于根据指令模版,将所述第一图形调用指令转化为第二图形调用指令,所述第二图形调用指令中包括签名信息,所述签名信息与所述第一图形调用指令调用的第二程序语言的接口函数对应,所述签名信息用于进行指令映射;
保存模块,用于在缓冲队列中保存所述第二图形调用指令;
执行模块,用于响应于上屏指示信息,执行所述缓冲队列中保存的第二图形调用指令,以将所述缓冲队列中保存的第二图形调用指令在所述图形库中对应的图形进行上屏渲染;
其中,所述转化模块,还用于识别所述第一图形调用指令所调用的第二程序语言的接口函数;将所述第一图形调用指令所调用的第二程序语言的接口函数的函数名确定为签名数据;从第一图形调用指令中提取参数指针数组;将所述签名数据填入所述指令模版中的签名数据单元,并将所述参数指针数组填入所述指令模版中的指针数据单元,从而形成所述第二图形调用指令。
8.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至6中任一项所述的方法的步骤。
9.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至6中任一项所述的方法的步骤。
10.一种计算机程序产品,包括计算机程序,其特征在于,该计算机程序被处理器执行时实现权利要求1至6中任一项所述的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310714034.6A CN116991600B (zh) | 2023-06-15 | 2023-06-15 | 图形调用指令的处理方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310714034.6A CN116991600B (zh) | 2023-06-15 | 2023-06-15 | 图形调用指令的处理方法、装置、设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116991600A CN116991600A (zh) | 2023-11-03 |
CN116991600B true CN116991600B (zh) | 2024-05-10 |
Family
ID=88520251
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310714034.6A Active CN116991600B (zh) | 2023-06-15 | 2023-06-15 | 图形调用指令的处理方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116991600B (zh) |
Citations (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20040057037A (ko) * | 2002-12-24 | 2004-07-01 | 한국전자통신연구원 | 에스디엘에서 c언어로의 변환 시스템 및 방법, 그프로그램이 구현된 기록매체 |
EP1921584A2 (en) * | 2006-11-10 | 2008-05-14 | Sony Computer Entertainment Inc. | Graphics processing apparatus, graphics library module, and graphics processing method |
CN106371890A (zh) * | 2016-08-29 | 2017-02-01 | 山东乾云启创信息科技股份有限公司 | 一种gpu的模拟方法 |
CN110968235A (zh) * | 2018-09-28 | 2020-04-07 | 上海寒武纪信息科技有限公司 | 信号处理装置及相关产品 |
CN111176626A (zh) * | 2019-08-05 | 2020-05-19 | 腾讯科技(深圳)有限公司 | 跨编程语言的代码调用方法及装置、介质、设备 |
CN111522536A (zh) * | 2020-04-21 | 2020-08-11 | 艾普阳科技(深圳)有限公司 | 一种编程语言调用的方法及其相关设备 |
CN111796812A (zh) * | 2019-04-04 | 2020-10-20 | 厦门雅基软件有限公司 | 图像渲染的方法、装置、电子设备及计算机可读存储介质 |
CN112169322A (zh) * | 2019-07-04 | 2021-01-05 | 广州虎牙科技有限公司 | 远程渲染方法、装置、电子设备及可读存储介质 |
CN112416470A (zh) * | 2019-08-22 | 2021-02-26 | 腾讯科技(深圳)有限公司 | 命令的执行方法和装置、存储介质及电子装置 |
CN113244614A (zh) * | 2021-06-07 | 2021-08-13 | 腾讯科技(深圳)有限公司 | 图像画面展示方法、装置、设备及存储介质 |
CN113515396A (zh) * | 2021-07-09 | 2021-10-19 | 北京鲸鲮信息系统技术有限公司 | 图形渲染方法、装置、电子设备与存储介质 |
CN113867848A (zh) * | 2020-06-30 | 2021-12-31 | 腾讯科技(深圳)有限公司 | 图形接口的调用方法、装置、设备及可读存储介质 |
CN114217886A (zh) * | 2021-12-17 | 2022-03-22 | 统信软件技术有限公司 | 一种函数调用方法、计算设备及存储介质 |
WO2022100685A1 (zh) * | 2020-11-13 | 2022-05-19 | 华为技术有限公司 | 一种绘制命令处理方法及其相关设备 |
CN115904328A (zh) * | 2022-12-06 | 2023-04-04 | 湖南大学 | 一种基于llvm中间语言的跨gpu架构的并行计算框架的转化方法 |
CN116225688A (zh) * | 2022-12-14 | 2023-06-06 | 中国航空无线电电子研究所 | 一种基于gpu指令转发的多核协同渲染处理方法 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20130127858A1 (en) * | 2009-05-29 | 2013-05-23 | Luc Leroy | Interception of Graphics API Calls for Optimization of Rendering |
US9235871B2 (en) * | 2014-02-06 | 2016-01-12 | Oxide Interactive, LLC | Method and system of a command buffer between a CPU and GPU |
US11437032B2 (en) * | 2017-09-29 | 2022-09-06 | Shanghai Cambricon Information Technology Co., Ltd | Image processing apparatus and method |
-
2023
- 2023-06-15 CN CN202310714034.6A patent/CN116991600B/zh active Active
Patent Citations (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20040057037A (ko) * | 2002-12-24 | 2004-07-01 | 한국전자통신연구원 | 에스디엘에서 c언어로의 변환 시스템 및 방법, 그프로그램이 구현된 기록매체 |
EP1921584A2 (en) * | 2006-11-10 | 2008-05-14 | Sony Computer Entertainment Inc. | Graphics processing apparatus, graphics library module, and graphics processing method |
CN106371890A (zh) * | 2016-08-29 | 2017-02-01 | 山东乾云启创信息科技股份有限公司 | 一种gpu的模拟方法 |
CN110968235A (zh) * | 2018-09-28 | 2020-04-07 | 上海寒武纪信息科技有限公司 | 信号处理装置及相关产品 |
CN111796812A (zh) * | 2019-04-04 | 2020-10-20 | 厦门雅基软件有限公司 | 图像渲染的方法、装置、电子设备及计算机可读存储介质 |
CN112169322A (zh) * | 2019-07-04 | 2021-01-05 | 广州虎牙科技有限公司 | 远程渲染方法、装置、电子设备及可读存储介质 |
CN111176626A (zh) * | 2019-08-05 | 2020-05-19 | 腾讯科技(深圳)有限公司 | 跨编程语言的代码调用方法及装置、介质、设备 |
CN112416470A (zh) * | 2019-08-22 | 2021-02-26 | 腾讯科技(深圳)有限公司 | 命令的执行方法和装置、存储介质及电子装置 |
CN111522536A (zh) * | 2020-04-21 | 2020-08-11 | 艾普阳科技(深圳)有限公司 | 一种编程语言调用的方法及其相关设备 |
CN113867848A (zh) * | 2020-06-30 | 2021-12-31 | 腾讯科技(深圳)有限公司 | 图形接口的调用方法、装置、设备及可读存储介质 |
WO2022100685A1 (zh) * | 2020-11-13 | 2022-05-19 | 华为技术有限公司 | 一种绘制命令处理方法及其相关设备 |
CN113244614A (zh) * | 2021-06-07 | 2021-08-13 | 腾讯科技(深圳)有限公司 | 图像画面展示方法、装置、设备及存储介质 |
CN113515396A (zh) * | 2021-07-09 | 2021-10-19 | 北京鲸鲮信息系统技术有限公司 | 图形渲染方法、装置、电子设备与存储介质 |
WO2023279993A1 (zh) * | 2021-07-09 | 2023-01-12 | 北京字节跳动网络技术有限公司 | 图形渲染方法、装置、电子设备与存储介质 |
CN114217886A (zh) * | 2021-12-17 | 2022-03-22 | 统信软件技术有限公司 | 一种函数调用方法、计算设备及存储介质 |
CN115904328A (zh) * | 2022-12-06 | 2023-04-04 | 湖南大学 | 一种基于llvm中间语言的跨gpu架构的并行计算框架的转化方法 |
CN116225688A (zh) * | 2022-12-14 | 2023-06-06 | 中国航空无线电电子研究所 | 一种基于gpu指令转发的多核协同渲染处理方法 |
Also Published As
Publication number | Publication date |
---|---|
CN116991600A (zh) | 2023-11-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111163345B (zh) | 一种图像渲染方法及装置 | |
US11222240B2 (en) | Data processing method and apparatus for convolutional neural network | |
EP3398075B1 (en) | Transfer descriptor for memory access commands | |
CN110471701B (zh) | 图像渲染的方法、装置、存储介质及电子设备 | |
CN110020300B (zh) | 一种浏览器页面合成方法及终端 | |
CN113368492A (zh) | 渲染的方法、装置 | |
US20230403437A1 (en) | Graphics engine and graphics processing method applicable to player | |
CN108509241B (zh) | 一种图像的全屏显示方法、全屏显示装置及移动终端 | |
CN114820272B (zh) | 数据交互的方法、装置、存储介质及电子设备 | |
CN116166255B (zh) | 界面生成方法及电子设备 | |
CN116991600B (zh) | 图形调用指令的处理方法、装置、设备及存储介质 | |
US11010169B2 (en) | Processor device collecting performance information through command-set-based replay | |
US20220319086A1 (en) | Method and apparatus for controlling animation refreshing, computer device, and storage medium | |
CN117557677A (zh) | 图表绘制方法、装置和计算机设备 | |
CN112116719B (zh) | 三维场景中对象的确定方法、装置、存储介质和电子设备 | |
CN114820878B (zh) | 图像编辑方法及设备 | |
CN114070892A (zh) | 数据传输方法和装置 | |
CN112068908B (zh) | 图形处理方法及相关装置和设备 | |
CN111243069A (zh) | 一种Unity3D引擎的场景切换方法和系统 | |
CN113778624B (zh) | 对象的处理方法和装置、智能终端及存储介质 | |
US12028548B2 (en) | Rendering video frames for a user interface operation performed at a client device | |
CN118535432A (zh) | 图形绘制方法、装置、设备、存储介质及程序产品 | |
KR100744057B1 (ko) | 임베디드 시스템 및 그 gui 디스플레이방법 | |
WO2023087827A9 (zh) | 渲染方法及装置 | |
CN116193096A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |