CN114820272A - 数据交互的方法、装置、存储介质及电子设备 - Google Patents

数据交互的方法、装置、存储介质及电子设备 Download PDF

Info

Publication number
CN114820272A
CN114820272A CN202210272583.8A CN202210272583A CN114820272A CN 114820272 A CN114820272 A CN 114820272A CN 202210272583 A CN202210272583 A CN 202210272583A CN 114820272 A CN114820272 A CN 114820272A
Authority
CN
China
Prior art keywords
data
instruction
memory
terminal
data interaction
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
Application number
CN202210272583.8A
Other languages
English (en)
Inventor
沈标标
陈友旭
邹懋
陈飞
王鲲
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Vita Technology Beijing Co ltd
Original Assignee
Vita Technology Beijing Co ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Vita Technology Beijing Co ltd filed Critical Vita Technology Beijing Co ltd
Priority to CN202210272583.8A priority Critical patent/CN114820272A/zh
Priority to PCT/CN2022/085961 priority patent/WO2023173516A1/zh
Publication of CN114820272A publication Critical patent/CN114820272A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • G06T1/20Processor architectures; Processor configuration, e.g. pipelining
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5011Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
    • G06F9/5016Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals the resource being the memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5011Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
    • G06F9/5022Mechanisms to release resources
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • G06F9/5044Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering hardware capabilities

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

本公开涉及一种数据交互的方法、装置、存储介质及电子设备,可以通过服务器接收终端发送的数据交互指令,所述数据交互指令用于指示将所述终端上的图像应用程序对应的目标数据在所述图像应用程序与所述GPU之间进行数据交互;在确定所述数据交互指令为异步操作指令的情况下,向所述终端发送第一响应信息,所述第一响应信息用于指示所述终端在所述终端的内存上分配第一内存,并将所述目标数据存储至所述第一内存;接收所述终端响应于所述第一响应信息发送的所述目标数据以及数据写入指令;根据所述数据交互指令和所述数据写入指令将所述目标数据写入所述GPU。

Description

数据交互的方法、装置、存储介质及电子设备
技术领域
本公开涉及图像数据的交互领域,具体地,涉及一种数据交互的方法、装置、存储介质及电子设备。
背景技术
目前图像渲染功能主要基于GPU(Graphics Processing Unit,图形处理器)实现,并且相关技术中为了解放终端本地的GPU资源限制,可以进行远程的图像渲染。在远程图像渲染操作中,终端上的图像应用程序需要与GPU进行频繁的数据存取操作。用户更新顶点、索引、纹理、图像表面等数据内容,GPU所在的节点以及终端均会映射一段内存空间存放数据,用于和GPU进行数据交互,以数据写入GPU为例,图像应用程序将数据写入终端的内存空间,然后将此内存空间中的图像数据同步到服务器的内存空间中,再将服务器的内存空间中的图像数据写入到GPU中,从而使得GPU获取到新的顶点、索引、纹理、图像表面等数据来渲染出目标图像。
在进行远程图像渲染的过程中,服务器执行数据交互指令的操作延迟较高,使得终端进行存取数据也存在较高的延迟,从而降低数据存取性能,导致图像应用程序的整体渲染性能下降,进而影响图像应用程序的显示效果。
发明内容
本公开的目的是提供一种数据交互的方法、装置、存储介质及电子设备。
第一方面,本公开提供一种数据交互的方法,应用于服务器,所述服务器上部署有图形处理器GPU,所述方法包括:接收终端发送的数据交互指令,所述数据交互指令用于指示将所述终端上的图像应用程序对应的目标数据在所述图像应用程序与所述GPU之间进行数据交互;在确定所述数据交互指令为异步操作指令的情况下,向所述终端发送第一响应信息,所述第一响应信息用于指示所述终端在所述终端的内存上分配第一内存,并将所述目标数据存储至所述第一内存;接收所述终端响应于所述第一响应信息发送的所述目标数据以及数据写入指令;根据所述数据交互指令和所述数据写入指令将所述目标数据写入所述GPU。
可选地,所述方法还包括:确定所述数据交互指令中是否包括预设参数,所述预设参数用于标识所述数据交互指令为指示将所述目标数据写入所述GPU的指令;在确定所述数据交互指令中包括所述预设参数的情况下,确定所述数据交互指令为所述异步操作指令。
可选地,所述根据所述数据交互指令和所述数据写入指令将所述目标数据写入所述GPU包括:执行所述数据交互指令,得到第二内存的存储地址,所述第二内存为所述服务器通过执行所述数据交互指令在所述服务器的内存上分配的存储空间;根据所述存储地址将所述目标数据存储至所述第二内存;通过执行所述数据写入指令将所述第二内存中的所述目标数据写入所述GPU。
可选地,在所述根据所述数据交互指令和所述数据写入指令将所述目标数据写入所述GPU之后,所述方法还包括:根据所述数据写入指令释放所述第二内存。
可选地,在所述根据所述数据写入指令释放所述第二内存后,所述方法还包括:向所述终端发送第二响应信息,以便所述终端响应于所述第二响应信息释放所述第一内存。
第二方面,本公开提供一种数据交互的方法,应用于终端,所述方法包括:获取数据交互指令,所述数据交互指令用于指示将所述终端上的图像应用程序对应的目标数据在所述图像应用程序与图形处理器GPU之间进行数据交互,所述GPU预先部署在服务器上;将所述数据交互指令发送至所述服务器,以便所述服务器在确定所述数据交互指令为异步操作指令的情况下,向所述终端发送第一响应信息;响应于所述第一响应信息在所述终端的内存上分配第一内存,并将所述目标数据存储至所述第一内存;向所述服务器发送所述目标数据和数据写入指令,以便所述服务器根据所述数据交互指令和所述数据写入指令将所述目标数据写入所述GPU。
可选地,在所述向所述服务器发送所述目标数据和数据写入指令后,所述方法还包括:接收所述服务器发送的第二响应信息;响应于所述第二响应信息释放所述第一内存。
第三方面,本公开提供一种数据交互的装置,应用于服务器,所述服务器上部署有图形处理器GPU,所述装置包括:第一接收模块,用于接收终端发送的数据交互指令,所述数据交互指令用于指示将所述终端上的图像应用程序对应的目标数据在所述图像应用程序与所述GPU之间进行数据交互;第一发送模块,用于在确定所述数据交互指令为异步操作指令的情况下,向所述终端发送第一响应信息,所述第一响应信息用于指示所述终端在所述终端的内存上分配第一内存,并将所述目标数据存储至所述第一内存;第二接收模块,用于接收所述终端响应于所述第一响应信息发送的所述目标数据以及数据写入指令;数据写入模块,用于根据所述数据交互指令和所述数据写入指令将所述目标数据写入所述GPU。
可选地,所述装置还包括:确定模块,用于确定所述数据交互指令中是否包括预设参数,所述预设参数用于标识所述数据交互指令为指示将所述目标数据写入所述GPU的指令;在确定所述数据交互指令中包括所述预设参数的情况下,确定所述数据交互指令为所述异步操作指令。
可选地,所述数据写入模块,用于执行所述数据交互指令,得到第二内存的存储地址,所述第二内存为所述服务器通过执行所述数据交互指令在所述服务器的内存上分配的存储空间;根据所述存储地址将所述目标数据存储至所述第二内存;通过执行所述数据写入指令将所述第二内存中的所述目标数据写入所述GPU。
可选地,所述装置还包括:第一释放模块,用于根据所述数据写入指令释放所述第二内存。
可选地,所述装置还包括:第二发送模块,用于向所述终端发送第二响应信息,以便所述终端响应于所述第二响应信息释放所述第一内存。
第四方面,本公开提供一种数据交互的装置,应用于终端,所述装置包括:获取模块,用于获取数据交互指令,所述数据交互指令用于指示将所述终端上的图像应用程序对应的目标数据在所述图像应用程序与图形处理器GPU之间进行数据交互,所述GPU预先部署在服务器上;第三发送模块,用于将所述数据交互指令发送至所述服务器,以便所述服务器在确定所述数据交互指令为异步操作指令的情况下,向所述终端发送第一响应信息;内存映射模块,用于响应于所述第一响应信息在所述终端的内存上分配第一内存,并将所述目标数据存储至所述第一内存;第四发送模块,用于向所述服务器发送所述目标数据和数据写入指令,以便所述服务器根据所述数据交互指令和所述数据写入指令将所述目标数据写入所述GPU。
可选地,所述装置还包括:第二释放模块,用于接收所述服务器发送的第二响应信息;响应于所述第二响应信息释放所述第一内存。
第五方面,本公开提供一种非临时性计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现本公开第一方面所述方法的步骤。
第六方面,本公开提供一种电子设备,包括:存储器,其上存储有计算机程序;处理器,用于执行所述存储器中的所述计算机程序,以实现本公开第一方面所述方法的步骤。
第七方面,本公开提供一种非临时性计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现本公开第二方面所述方法的步骤。
第八方面,本公开提供一种电子设备,包括:存储器,其上存储有计算机程序;处理器,用于执行所述存储器中的所述计算机程序,以实现本公开第二方面所述方法的步骤。
通过上述技术方案,服务器接收终端发送的数据交互指令,所述数据交互指令用于指示将所述终端上的图像应用程序对应的目标数据在所述图像应用程序与所述服务器上的GPU之间进行数据交互;在确定所述数据交互指令为异步操作指令的情况下,向所述终端发送第一响应信息,所述第一响应信息用于指示所述终端在所述终端的内存上分配第一内存,并将所述目标数据存储至所述第一内存;接收所述终端响应于所述第一响应信息发送的所述目标数据以及数据写入指令;根据所述数据交互指令和所述数据写入指令将所述目标数据写入所述GPU,这样,服务器在确定该数据交互指令为异步操作指令的情况下,可以直接向终端返回该第一响应信息,以便终端根据该第一响应信息及时进行内存映射,无需等待服务器对该数据交互指令的执行结果,这样将终端与服务器中的数据交互操作解耦,可以提升终端与服务器的数据存取操作的并行度,加速数据存取,从而进一步提升了图像渲染性能。
本公开的其他特征和优点将在随后的具体实施方式部分予以详细说明。
附图说明
附图是用来提供对本公开的进一步理解,并且构成说明书的一部分,与下面的具体实施方式一起用于解释本公开,但并不构成对本公开的限制。在附图中:
图1是现有技术中进行数据交互时的内存分配示意图;
图2是现有技术中将图像数据写入GPU的过程示意图;
图3是根据一示例性实施例示出的第一种数据交互的方法的流程图;
图4是根据一示例性实施例示出的第二种数据交互的方法的流程图;
图5是根据一示例性实施例示出的第三种数据交互的方法的流程图;
图6是根据一示例性实施例示出的第四种数据交互的方法的流程图;
图7是根据一示例性实施例示出的第一种数据交互的装置的框图;
图8是根据一示例性实施例示出的第二种数据交互的装置的框图;
图9是根据一示例性实施例示出的第三种数据交互的装置的框图;
图10是根据一示例性实施例示出的第四种数据交互的装置的框图;
图11是根据一示例性实施例示出的第一种电子设备的结构框图;
图12是根据一示例性实施例示出的第二种电子设备的结构框图。
具体实施方式
以下结合附图对本公开的具体实施方式进行详细说明。应当理解的是,此处所描述的具体实施方式仅用于说明和解释本公开,并不用于限制本公开。
需要说明的是,本公开中所有获取信号、信息或数据的动作都是在遵照所在地国家相应的数据保护法规政策的前提下,并获得由相应装置所有者给予授权的情况下进行的。
本公开主要应用于基于服务器上部署的GPU进行远程图像渲染过程中的数据交互场景中,如图1所示,在图像渲染过程中,物理节点(终端或者服务器)需要映射一段内存空间用于与GPU进行数据交互,顶点数据VertexBuffer、索引数据IndexBuffer、表面数据Surface、纹理对象Texture等数据均通过这种方式写入GPU,在使用API(ApplicationProgramming Interface,应用程序编程接口)劫持技术进行远程图像渲染过程中,终端也会维护相同大小的一段内存,与服务器进行数据同步,图像应用程序可以直接访问终端的内存空间。
图2是现有技术中将图像数据写入GPU的过程示意图,该图像数据写入是指将终端上图像应用程序对应的目标数据写入服务器上的GPU。
上述已经提及,在进行远程图像渲染的过程中,图像渲染指令是同步执行的,终端需要等到上一条渲染指令执行完成后(接收到执行结果),才发起下一条渲染指令,针对图像数据的交互操作,终端也需要等待服务器执行完成才能存取数据,如图2所示,终端在获取到GPU内存映射指令(本公开中描述为数据交互指令)后,可以将该GPU内存映射指令发送至服务器,服务器接收到该GPU内存映射指令后,通过执行该指令在服务器的内存空间中进行内存映射,具体地,该GPU内存映射指令包括当前待渲染的图像对象(如纹理对象、表面数据等)对应的渲染参数,服务器可以根据该渲染参数计算出所需内存大小(例如该内存大小可以表示为X),然后根据该内存大小进行内存分配,也就是说,服务器在执行完该GPU内存映射指令后可以在服务器内存中分配出一段内存大小为X、地址为P的内存空间,之后可以向终端返回该指令的执行结果,终端只有在接收到该指令的执行结果后才可以在本地进行内存映射,即在终端的内存中也分配一段大小为X的内存空间(例如,该内存空间的地址表示为Q)用于存储数据,之后图像应用程序可以将目标数据存入该地址为Q的内存空间中,然后,终端可以将拦截到的释放GPU映射内存指令(在本公开中描述为数据写入指令)转发至服务器,并且一并将该目标数据发送至服务器,服务器在接收到该释放GPU映射内存指令后,首先可以将该目标数据存入地址为P的内存中,从而将终端内存中的目标数据同步至服务器,然后通过执行该释放GPU映射内存指令将该内存P中的目标数据写入GPU中,之后为了节省内存空间,可以将服务器中地址为P的内存空间释放,并向终端返回响应消息,终端在接收到该响应消息后,也可以将终端中内存为Q的内存空间释放。
上述描述了现有技术中将终端上图像应用程序对应的目标数据写入服务器上的GPU的具体实现过程,实际应用场景中的数据交互还包括从GPU读取图像数据至图像应用程序,考虑到大多数应用程序的图像数据存取操作中,数据写入GPU的操作占比高达90%-95%,因此,若可以提高数据写入的效率,可以明显提高图像应用程序图GPU的数据交互效率。
上述写入的过程中,由于图像渲染指令是同步执行的,终端需要等到上一条渲染指令执行完成后(接收到执行结果),才发起下一条渲染指令,针对图像数据的交互操作,GPU需要等待终端发来的内存映射指令执行完才能映射内存,服务器的操作延迟较高,并且终端也需要等待其执行完成才能存取数据,从而降低数据存取性能,由于高延迟的数据交互操作,导致图像应用程序的整体渲染性能下降,进而影响图像应用程序的显示效果。
为解决上述存在的问题,本公开提供一种数据交互的方法、装置、存储介质及电子设备,服务器在确定接收到的数据交互指令为异步操作指令的情况下,可以直接向终端返回该第一响应信息,以便终端根据该第一响应信息及时进行内存映射,无需等待服务器对该数据交互指令的执行结果,终端进行内存映射后直接返回内存地址给图像应用程序写入目标数据,这样将终端与服务器中的数据交互操作解耦,可以提升终端与服务器的数据存取操作的并行度,加速数据存取,从而进一步提升了图像渲染性能。
下面结合附图对本公开的具体实施方式进行详细说明。
图3是根据一示例性实施例示出的一种数据交互的方法的流程图,应用于服务器,如图3所示,该方法包括以下步骤:
在步骤S301中,接收终端发送的数据交互指令,该数据交互指令用于指示将该终端上的图像应用程序对应的目标数据在该图像应用程序与该GPU之间进行数据交互。
其中,该数据交互指令可以包括将该图像应用程序(如游戏软件、视频剪辑软件等)对应的目标数据写入GPU的第一指令,或者包括从GPU中读取该目标数据至图像应用程序的第二指令,例如,该数据交互指令可以包括DirectX中的Lock/LockRect指令或者Map指令;该目标数据可以包括顶点、索引、纹理、图像表面等数据。
实际应用场景中,图像应用程序运行的过程中,终端需要根据用户的触发操作进行实时画面显示,而在显示目标图像之前需要进行图像渲染,在这个过程中,图像应用程序与GPU之间需要进行数据交互,并且图像应用程序可以通过调用OpenGL或者DirectX等图像应用编程接口中的函数生成图像渲染指令,该图像渲染指令中包括该数据交互指令,终端可以基于API劫持技术获取到该数据交互指令,并将获取到的该数据交互指令发送至服务器,以便从服务器上的GPU中读取数据或者在服务器上的GPU中写入数据。
在步骤S302中,在确定该数据交互指令为异步操作指令的情况下,向该终端发送第一响应信息,该第一响应信息用于指示该终端在该终端的内存上分配第一内存,并将该目标数据存储至该第一内存。
如上所述,由于图像渲染操作中的各个图像渲染指令(包括数据交互指令)是同步执行的,现有技术中服务器在接收到终端发送的该数据交互指令后,终端需要等到服务器返回对该数据交互指令的执行结果后才会在终端本地进行内存映射,并进行数据存储后向服务器发出数据写入指令,但是实际数据交互场景中,服务器执行该数据交互指令得到执行结果的过程较漫长,使得服务器的操作延迟较高,进而使得终端侧的内存映射和数据存储也会产生较高的延迟,导致图像应用程序的整体渲染性能下降。
又考虑到实际的数据交互场景中,若从GPU中读取数据至应用程序,需要等到服务器执行完该数据交互指令后,终端才可以获取到从GPU中读取到的数据,因此,从GPU中读取数据的数据交互场景中,该数据交互指令无法与终端实现异步操作,又因为大多数应用程序的图像数据存取操作中,数据写入GPU的操作占比高达90%-95%,因此,若可以提高数据写入的效率,则可以明显提高图像应用程序图GPU的数据交互效率,因此,若确定该数据交互指令为该第一指令,可以确定该数据交互指令为异步操作指令。
因此,在本步骤中,服务器在接收到该数据交互指令后,可以先判断该数据交互指令是否为将目标数据从图像应用程序写入GPU的该第一指令,如果是的情况下,可以确定该数据交互指令可以执行异步操作,即为异步操作指令,此时,无需等待该数据交互指令的执行结果,服务器可以直接向终端返回该第一响应信息,以便终端可以及时根据该第一响应信息进行内存映射及数据存储,提高了终端与服务器两端数据交互指令执行的并行度,提升数据交互效率。
本执行本步骤之前,服务器可以通过以下方式确定接收到的该数据交互指令是否为该异步操作指令:确定该数据交互指令中是否包括预设参数,该预设参数用于标识该数据交互指令为指示将该目标数据写入该GPU的指令;在确定该数据交互指令中包括该预设参数的情况下,确定该数据交互指令为该异步操作指令。
其中,该预设参数可以为标识该指令为只写数据指令的参数。
在步骤S303中,接收该终端响应于该第一响应信息发送的该目标数据以及数据写入指令。
其中,该数据写入指令用于指示将终端第一内存中的目标数据写入GPU中,例如,该数据写入指令可以包括DirectX中的unLock/unLockRect指令或者unMap指令。
在步骤S304中,根据该数据交互指令和该数据写入指令将该目标数据写入该GPU。
服务器在接收到该数据写入指令后,首先可以将终端发送的目标数据存储至服务器在执行完数据交互指令后分配得到的第二内存中,之后可以通过执行该数据写入指令将第二内存中的目标数据写入指GPU中。
因此,在本步骤中,可以执行该数据交互指令,得到第二内存的存储地址,该第二内存为该服务器通过执行该数据交互指令在该服务器的内存上分配的存储空间;根据该存储地址将该目标数据存储至该第二内存;通过执行该数据写入指令将该第二内存中的该目标数据写入该GPU。
采用上述方法,服务器在确定该数据交互指令为异步操作指令的情况下,可以直接向终端返回该第一响应信息,以便终端根据该第一响应信息及时进行内存映射,无需等待服务器对该数据交互指令的执行结果,这样将终端与服务器中的数据交互操作解耦,可以提升终端与服务器的数据存取操作的并行度,加速数据存取,从而进一步提升了图像渲染性能。
图4是根据图3所示实施例示出的一种数据交互方法的流程图,如图4所示,该方法还包括以下步骤:
在步骤S305中,根据该数据写入指令释放该第二内存。
考虑到将目标数据写入该GPU后,本次数据交互操作完成,为了节省内存资源,提高存储空间的利用率,本公开还可以通过执行该数据写入指令来释放该第二内存。
在步骤S306中,向该终端发送第二响应信息,以便该终端响应于该第二响应信息释放该第一内存。
其中,该第二响应信息用于指示终端释放该第一内存。
同样地,服务器在释放相应的内存空间后,为了进一步节省终端侧的内存空间,服务器还可以向终端发送该第二响应信息,以便终端可以响应于该第二响应信息释放该第一内存,以此提高终端侧的存储空间利用率。
图5是根据一示例性实施例示出的一种数据交互的方法的流程图,应用于终端,如图5所示,该方法包括以下步骤:
在步骤S501中,获取数据交互指令,该数据交互指令用于指示将该终端上的图像应用程序对应的目标数据在该图像应用程序与图形处理器GPU之间进行数据交互,该GPU预先部署在服务器上。
其中,该数据交互指令可以包括将该图像应用程序(如游戏软件、视频剪辑软件等)对应的目标数据写入GPU的第一指令,或者包括从GPU中读取该目标数据至图像应用程序的第二指令,该目标数据可以包括顶点、索引、纹理、图像表面等数据,例如,该数据交互指令可以包括DirectX中的Lock/LockRect指令或者Map指令。
在进行远程图像渲染的过程中,图像应用程序与GPU之间需要进行数据交互,并且图像应用程序可以通过调用OpenGL或者DirectX等图像应用编程接口中的函数生成图像渲染指令,该图像渲染指令中包括该数据交互指令,终端可以基于API劫持技术获取到该数据交互指令。
在步骤S502中,将该数据交互指令发送至该服务器,以便该服务器在确定该数据交互指令为异步操作指令的情况下,向该终端发送第一响应信息。
其中,该第一响应消息用于指示该终端在该终端的内存上分配第一内存,并将该目标数据存储至该第一内存。
在步骤S503中,响应于该第一响应信息在该终端的内存上分配第一内存,并将该目标数据存储至该第一内存。
一种可能的实现方式中,终端可以根据数据交互指令中包括的当前待渲染的目标图像对象(如表面数据或者纹理对象等)的渲染参数计算出待分配的第一内存的大小,然后根据该第一内存的大小在终端本地的内存中分配该第一内存,并获取到该第一内存的地址信息,之后可以将该地址信息返回至图像应用程序,该图像应用程序可以根据该地址信息将目标数据存储至该第一内存。
另一种可能的实现方式中,服务器向终端发送的该第一响应信息中可以包括该第一内存的大小(由服务器计算得到),这样,终端可以直接根据该第一响应信息中携带的该第一内存的大小进行内存分配。
在步骤S504中,向该服务器发送该目标数据和数据写入指令,以便该服务器根据该数据交互指令和该数据写入指令将该目标数据写入该GPU。
其中,该数据写入指令用于指示将终端第一内存中的目标数据写入GPU中,例如,该数据写入指令可以包括DirectX中的unLock/unLockRect指令或者unMap指令。
另外,考虑到将目标数据写入该GPU后,本次数据交互操作完成,为了节省内存资源,在执行步骤S504后,终端还可以接收该服务器发送的第二响应信息;终端响应于该第二响应信息释放该第一内存,这样可以提高存储空间的利用率。
采用上述方法,终端向服务器发送数据交互指令,服务器在确定该数据交互指令为异步操作指令的情况下,终端无需等待服务器对该数据交互指令的执行结果,终端可以接收服务器发送的第一响应信息,使得终端可以根据该第一响应信息及时进行内存映射,这样将终端与服务器中的数据交互操作解耦,提升终端与服务器的数据存取操作的并行度,加速数据存取,从而进一步提升了图像渲染性能。
图6是根据一示例性实施例示出的一种数据交互的方法的流程图,如图6所示,该方法包括以下步骤:
在步骤S601中,终端获取数据交互指令,该数据交互指令用于指示将该终端上的图像应用程序对应的目标数据在该图像应用程序与图形处理器GPU之间进行数据交互,该GPU预先部署在服务器上。
其中,该数据交互指令可以包括将该图像应用程序(如游戏软件、视频剪辑软件等)对应的目标数据写入GPU的第一指令,或者包括从GPU中读取该目标数据至图像应用程序的第二指令,该目标数据可以包括顶点、索引、纹理、图像表面等数据,例如,该数据交互指令可以包括DirectX中的Lock/LockRect指令或者Map指令。
实际的应用场景里边在图像应用程序运行的过程中,终端需要根据用户的触发操作进行实时画面显示,即在终端屏幕上显示目标图像,可以理解的是,在显示该目标图像之前需要进行图像渲染,在这个过程中,图像应用程序与GPU之间需要进行数据交互,并且图像应用程序可以通过调用OpenGL或者DirectX等图像应用编程接口中的函数生成该图像渲染指令,该图像渲染指令中包括该数据交互指令,终端可以基于API劫持技术获取到该数据交互指令。
在步骤S602中,终端将该数据交互指令发送至服务器。
在步骤S603中,服务器接收到该数据交互指令后,在确定该数据交互指令为异步操作指令的情况下,向该终端发送第一响应信息。
其中,该第一响应消息用于指示该终端在该终端的内存上分配第一内存,并将该目标数据存储至该第一内存。
如上所述,由于图像渲染操作中的各个图像渲染指令(包括数据交互指令在内)是同步执行的,现有技术中服务器在接收到终端发送的该数据交互指令后,终端需要等到服务器返回对该数据交互指令的执行结果后才会在终端本地进行内存映射,并进行数据存储后向服务器发出数据写入指令,但是实际数据写入场景中,服务器执行该数据交互指令得到执行结果的过程较漫长,使得服务器的操作延迟较高,进而使得终端侧的内存映射和数据存储也会产生较高的延迟,导致图像应用程序的整体渲染性能下降,为解决该问题,在本步骤中,服务器在接收到该数据交互指令后,可以先判断该数据交互指令是否为将目标数据从图像应用程序写入GPU的指令,如果是的情况下,可以确定该数据交互指令可以执行异步操作,即为异步操作指令,此时,无需等待该数据交互指令的执行结果,服务器可以直接向终端返回该第一响应信息,提高了终端与服务器两端数据交互指令执行的并行度,提升数据交互效率。
在执行本步骤之前,服务器可以通过以下方式确定接收到的该数据交互指令是否为该异步操作指令:
确定该数据交互指令中是否包括预设参数,该预设参数用于标识该数据交互指令为指示将该目标数据写入该GPU的指令;例如,该预设参数可以为标识该指令为只写数据指令的参数(如writeonly),在确定该数据交互指令中包括该预设参数的情况下,确定该数据交互指令为该异步操作指令。
在步骤S604中,终端响应于该第一响应信息在该终端的内存上分配第一内存,并将该目标数据存储至该第一内存。
一种可能的实现方式中,终端可以根据数据交互指令中包括的当前待渲染的目标图像对象(如表面数据或者纹理对象等)的渲染参数计算出待分配的第一内存的大小,然后根据该第一内存的大小在终端本地的内存中分配该第一内存,并获取到该第一内存的地址信息,之后可以将该地址信息返回至图像应用程序,该图像应用程序可以根据该地址信息将目标数据存储至该第一内存。
另一种可能的实现方式中,服务器向终端发送的该第一响应信息中可以包括该第一内存的大小(由服务器计算得到),这样,终端可以直接根据该第一响应信息中携带的该第一内存的大小进行内存分配。
在步骤S605中,终端向该服务器发送该目标数据和数据写入指令。
其中,该数据写入指令用于指示将终端第一内存中的目标数据写入GPU中,例如,该数据写入指令可以包括DirectX中的unLock/unLockRect指令或者unMap指令。
在步骤S606中,服务器根据该数据交互指令和该数据写入指令将该目标数据写入该GPU。
服务器在接收到该数据写入指令后,首先可以将终端发送的目标数据存储至服务器在执行完数据交互指令后分配得到的第二内存中,之后可以通过执行该数据写入指令将第二内存中的目标数据写入指GPU中。
因此,在本步骤中,服务器执行该数据交互指令,得到第二内存的存储地址,该第二内存为该服务器通过执行该数据交互指令在该服务器的内存上分配的存储空间;根据该存储地址将该目标数据存储至该第二内存;通过执行该数据写入指令将该第二内存中的该目标数据写入该GPU。
在步骤S607中,服务器根据该数据写入指令释放该第二内存。
考虑到将目标数据写入该GPU后,本次数据交互操作完成,为了节省内存资源,提高存储空间的利用率,本公开还可以通过执行该数据写入指令来释放该第二内存。
在步骤S608中,服务器向该终端发送第二响应信息。
其中,该第二响应信息用于指示终端释放该第一内存。
在步骤S609中,终端响应于该第二响应信息释放该第一内存。
同样地,服务器在释放相应的内存空间后,为了进一步节省终端侧的内存空间,服务器还可以向终端发送该第一响应信息,以便终端可以响应于该第二响应信息释放该第一内存,以此提高终端侧的存储空间利用率。
采用上述方法,服务器在确定该数据交互指令为异步操作指令的情况下,可以直接向终端返回该第一响应信息,以便终端根据该第一响应信息及时进行内存映射,无需等待服务器对该数据交互指令的执行结果,这样将终端与服务器中的数据交互操作解耦,可以提升终端与服务器的数据存取操作的并行度,加速数据存取,从而进一步提升了图像渲染性能;与此同时,加速终端与服务器GPU间的数据存取,不仅适用于图像渲染场景,也为其他远程GPU适用场景(如科学计算,大数据分析等场景)提供了一种通用的数据存取加速方法;另外,在将目标数据写入GPU的操作完成后,终端侧和服务器侧均可以及时释放掉相应的内存空间,这样可以节省内存,提高存储空间利用率。
图7是根据一示例性实施例示出的一种数据交互的装置的框图,应用于服务器,如图7所示,该装置包括:
第一接收模块701,用于接收终端发送的数据交互指令,所述数据交互指令用于指示将所述终端上的图像应用程序对应的目标数据在所述图像应用程序与所述GPU之间进行数据交互;
第一发送模块702,用于在确定所述数据交互指令为异步操作指令的情况下,向所述终端发送第一响应信息,所述第一响应信息用于指示所述终端在所述终端的内存上分配第一内存,并将所述目标数据存储至所述第一内存;
第二接收模块703,用于接收所述终端响应于所述第一响应信息发送的所述目标数据以及数据写入指令;
数据写入模块704,用于根据所述数据交互指令和所述数据写入指令将所述目标数据写入所述GPU。
可选地,图8是根据图7所示实施例示出的一种数据交互的装置的框图,如图8所示,该装置还包括:
确定模块705,用于确定所述数据交互指令中是否包括预设参数,所述预设参数用于标识所述数据交互指令为指示将所述目标数据写入所述GPU的指令;在确定所述数据交互指令中包括所述预设参数的情况下,确定所述数据交互指令为所述异步操作指令。
可选地,所述数据写入模块704,用于执行所述数据交互指令,得到第二内存的存储地址,所述第二内存为所述服务器通过执行所述数据交互指令在所述服务器的内存上分配的存储空间;根据所述存储地址将所述目标数据存储至所述第二内存;通过执行所述数据写入指令将所述第二内存中的所述目标数据写入所述GPU。
可选地,如图8所示,该装置还包括:
第一释放模块706,用于根据所述数据写入指令释放所述第二内存。
可选地,如图8所示,该装置还包括:
第二发送模块707,用于向所述终端发送第二响应信息,以便所述终端响应于所述第二响应信息释放所述第一内存。
图9是根据一示例性实施例示出的一种数据交互的装置的框图,应用于终端,如图9所示,该装置包括:
获取模块901,用于获取数据交互指令,所述数据交互指令用于指示将所述终端上的图像应用程序对应的目标数据在所述图像应用程序与图形处理器GPU之间进行数据交互,所述GPU预先部署在服务器上;
第三发送模块902,用于将所述数据交互指令发送至所述服务器,以便所述服务器在确定所述数据交互指令为异步操作指令的情况下,向所述终端发送第一响应信息;
内存映射模块903,用于响应于所述第一响应信息在所述终端的内存上分配第一内存,并将所述目标数据存储至所述第一内存;
第四发送模块904,用于向所述服务器发送所述目标数据和数据写入指令,以便所述服务器根据所述数据交互指令和所述数据写入指令将所述目标数据写入所述GPU。
可选地,图10是根据图9所示实施例示出的一种数据交互的装置的框图,如图10所示,该装置还包括:
第二释放模块905,用于接收所述服务器发送的第二响应信息;响应于所述第二响应信息释放所述第一内存。
关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
采用上述装置,服务器在确定该数据交互指令为异步操作指令的情况下,可以直接向终端返回该第一响应信息,以便终端根据该第一响应信息及时进行内存映射,无需等待服务器对该数据交互指令的执行结果,这样将终端与服务器中的数据交互操作解耦,可以提升终端与服务器的数据存取操作的并行度,加速数据存取,从而进一步提升了图像渲染性能。
图11是根据一示例性实施例示出的一种电子设备1100的框图。如图11所示,该电子设备1100可以包括:处理器1101,存储器1102。该电子设备1100还可以包括多媒体组件1103,输入/输出(I/O)接口1104,以及通信组件1105中的一者或多者。
其中,处理器1101用于控制该电子设备1100的整体操作,以完成上述的数据交互方法中的全部或部分步骤。存储器1102用于存储各种类型的数据以支持在该电子设备1100的操作,这些数据例如可以包括用于在该电子设备1100上操作的任何应用程序或方法的指令,以及应用程序相关的数据,例如联系人数据、收发的消息、图片、音频、视频等等。该存储器1102可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,例如静态随机存取存储器(Static Random Access Memory,简称SRAM),电可擦除可编程只读存储器(Electrically Erasable Programmable Read-Only Memory,简称EEPROM),可擦除可编程只读存储器(Erasable Programmable Read-Only Memory,简称EPROM),可编程只读存储器(Programmable Read-Only Memory,简称PROM),只读存储器(Read-Only Memory,简称ROM),磁存储器,快闪存储器,磁盘或光盘。多媒体组件1103可以包括屏幕和音频组件。其中屏幕例如可以是触摸屏,音频组件用于输出和/或输入音频信号。例如,音频组件可以包括一个麦克风,麦克风用于接收外部音频信号。所接收的音频信号可以被进一步存储在存储器1102或通过通信组件1105发送。音频组件还包括至少一个扬声器,用于输出音频信号。I/O接口1104为处理器1101和其他接口模块之间提供接口,上述其他接口模块可以是键盘,鼠标,按钮等。这些按钮可以是虚拟按钮或者实体按钮。通信组件1105用于该电子设备1100与其他设备之间进行有线或无线通信。无线通信,例如Wi-Fi,蓝牙,近场通信(Near FieldCommunication,简称NFC),2G、3G、4G、NB-IOT、eMTC、或其他5G等等,或它们中的一种或几种的组合,在此不做限定。因此相应的该通信组件1105可以包括:Wi-Fi模块,蓝牙模块,NFC模块等等。
在一示例性实施例中,电子设备1100可以被一个或多个应用专用集成电路(Application Specific Integrated Circuit,简称ASIC)、数字信号处理器(DigitalSignal Processor,简称DSP)、数字信号处理设备(Digital Signal Processing Device,简称DSPD)、可编程逻辑器件(Programmable Logic Device,简称PLD)、现场可编程门阵列(Field Programmable Gate Array,简称FPGA)、控制器、微控制器、微处理器或其他电子元件实现,用于执行上述的数据交互方法。
在另一示例性实施例中,还提供了一种包括程序指令的计算机可读存储介质,该程序指令被处理器执行时实现上述的数据交互方法的步骤。例如,该计算机可读存储介质可以为上述包括程序指令的存储器1102,上述程序指令可由电子设备1100的处理器1101执行以完成上述的数据交互方法。
图12是根据一示例性实施例示出的一种电子设备1200的框图。例如,电子设备1200可以被提供为一服务器。参照图12,电子设备1200包括处理器1222,其数量可以为一个或多个,以及存储器1232,用于存储可由处理器1222执行的计算机程序。存储器1232中存储的计算机程序可以包括一个或一个以上的每一个对应于一组指令的模块。此外,处理器1222可以被配置为执行该计算机程序,以执行上述的数据交互方法。
另外,电子设备1200还可以包括电源组件1226和通信组件1250,该电源组件1226可以被配置为执行电子设备1200的电源管理,该通信组件1250可以被配置为实现电子设备1200的通信,例如,有线或无线通信。此外,该电子设备1200还可以包括输入/输出(I/O)接口1258。电子设备1200可以操作基于存储在存储器1232的操作系统,例如WindowsServerTM,Mac OS XTM,UnixTM,LinuxTM等等。
在另一示例性实施例中,还提供了一种包括程序指令的计算机可读存储介质,该程序指令被处理器执行时实现上述的数据交互方法的步骤。例如,该非临时性计算机可读存储介质可以为上述包括程序指令的存储器1232,上述程序指令可由电子设备1200的处理器1222执行以完成上述的数据交互方法。
在另一示例性实施例中,还提供一种计算机程序产品,该计算机程序产品包含能够由可编程的装置执行的计算机程序,该计算机程序具有当由该可编程的装置执行时用于执行上述的数据交互方法的代码部分。
以上结合附图详细描述了本公开的优选实施方式,但是,本公开并不限于上述实施方式中的具体细节,在本公开的技术构思范围内,可以对本公开的技术方案进行多种简单变型,这些简单变型均属于本公开的保护范围。
另外需要说明的是,在上述具体实施方式中所描述的各个具体技术特征,在不矛盾的情况下,可以通过任何合适的方式进行组合,为了避免不必要的重复,本公开对各种可能的组合方式不再另行说明。
此外,本公开的各种不同的实施方式之间也可以进行任意组合,只要其不违背本公开的思想,其同样应当视为本公开所公开的内容。

Claims (13)

1.一种数据交互的方法,其特征在于,应用于服务器,所述服务器上部署有图形处理器GPU,所述方法包括:
接收终端发送的数据交互指令,所述数据交互指令用于指示将所述终端上的图像应用程序对应的目标数据在所述图像应用程序与所述GPU之间进行数据交互;
在确定所述数据交互指令为异步操作指令的情况下,向所述终端发送第一响应信息,所述第一响应信息用于指示所述终端在所述终端的内存上分配第一内存,并将所述目标数据存储至所述第一内存;
接收所述终端响应于所述第一响应信息发送的所述目标数据以及数据写入指令;
根据所述数据交互指令和所述数据写入指令将所述目标数据写入所述GPU。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
确定所述数据交互指令中是否包括预设参数,所述预设参数用于标识所述数据交互指令为指示将所述目标数据写入所述GPU的指令;
在确定所述数据交互指令中包括所述预设参数的情况下,确定所述数据交互指令为所述异步操作指令。
3.根据权利要求1所述的方法,其特征在于,所述根据所述数据交互指令和所述数据写入指令将所述目标数据写入所述GPU包括:
执行所述数据交互指令,得到第二内存的存储地址,所述第二内存为所述服务器通过执行所述数据交互指令在所述服务器的内存上分配的存储空间;
根据所述存储地址将所述目标数据存储至所述第二内存;
通过执行所述数据写入指令将所述第二内存中的所述目标数据写入所述GPU。
4.根据权利要求1-3任一项所述的方法,其特征在于,在所述根据所述数据交互指令和所述数据写入指令将所述目标数据写入所述GPU之后,所述方法还包括:
根据所述数据写入指令释放所述第二内存。
5.根据权利要求4所述的方法,其特征在于,在所述根据所述数据写入指令释放所述第二内存后,所述方法还包括:
向所述终端发送第二响应信息,以便所述终端响应于所述第二响应信息释放所述第一内存。
6.一种数据交互的方法,其特征在于,应用于终端,所述方法包括:
获取数据交互指令,所述数据交互指令用于指示将所述终端上的图像应用程序对应的目标数据在所述图像应用程序与图形处理器GPU之间进行数据交互,所述GPU预先部署在服务器上;
将所述数据交互指令发送至所述服务器,以便所述服务器在确定所述数据交互指令为异步操作指令的情况下,向所述终端发送第一响应信息;
响应于所述第一响应信息在所述终端的内存上分配第一内存,并将所述目标数据存储至所述第一内存;
向所述服务器发送所述目标数据和数据写入指令,以便所述服务器根据所述数据交互指令和所述数据写入指令将所述目标数据写入所述GPU。
7.根据权利要求6所述的方法,其特征在于,在所述向所述服务器发送所述目标数据和数据写入指令后,所述方法还包括:
接收所述服务器发送的第二响应信息;
响应于所述第二响应信息释放所述第一内存。
8.一种数据交互的装置,其特征在于,应用于服务器,所述服务器上部署有图形处理器GPU,所述装置包括:
第一接收模块,用于接收终端发送的数据交互指令,所述数据交互指令用于指示将所述终端上的图像应用程序对应的目标数据在所述图像应用程序与所述GPU之间进行数据交互;
第一发送模块,用于在确定所述数据交互指令为异步操作指令的情况下,向所述终端发送第一响应信息,所述第一响应信息用于指示所述终端在所述终端的内存上分配第一内存,并将所述目标数据存储至所述第一内存;
第二接收模块,用于接收所述终端响应于所述第一响应信息发送的所述目标数据以及数据写入指令;
数据写入模块,用于根据所述数据交互指令和所述数据写入指令将所述目标数据写入所述GPU。
9.一种数据交互的装置,其特征在于,应用于终端,所述装置包括:
获取模块,用于获取数据交互指令,所述数据交互指令用于指示将所述终端上的图像应用程序对应的目标数据在所述图像应用程序与图形处理器GPU之间进行数据交互,所述GPU预先部署在服务器上;
第三发送模块,用于将所述数据交互指令发送至所述服务器,以便所述服务器在确定所述数据交互指令为异步操作指令的情况下,向所述终端发送第一响应信息;
内存映射模块,用于响应于所述第一响应信息在所述终端的内存上分配第一内存,并将所述目标数据存储至所述第一内存;
第四发送模块,用于向所述服务器发送所述目标数据和数据写入指令,以便所述服务器根据所述数据交互指令和所述数据写入指令将所述目标数据写入所述GPU。
10.一种非临时性计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现权利要求1-5中任一项所述方法的步骤。
11.一种电子设备,其特征在于,包括:
存储器,其上存储有计算机程序;
处理器,用于执行所述存储器中的所述计算机程序,以实现权利要求1-5中任一项所述方法的步骤。
12.一种非临时性计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现权利要求6或7所述方法的步骤。
13.一种电子设备,其特征在于,包括:
存储器,其上存储有计算机程序;
处理器,用于执行所述存储器中的所述计算机程序,以实现权利要求6或7所述方法的步骤。
CN202210272583.8A 2022-03-18 2022-03-18 数据交互的方法、装置、存储介质及电子设备 Pending CN114820272A (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN202210272583.8A CN114820272A (zh) 2022-03-18 2022-03-18 数据交互的方法、装置、存储介质及电子设备
PCT/CN2022/085961 WO2023173516A1 (zh) 2022-03-18 2022-04-08 数据交互的方法、装置、存储介质及电子设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210272583.8A CN114820272A (zh) 2022-03-18 2022-03-18 数据交互的方法、装置、存储介质及电子设备

Publications (1)

Publication Number Publication Date
CN114820272A true CN114820272A (zh) 2022-07-29

Family

ID=82530259

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210272583.8A Pending CN114820272A (zh) 2022-03-18 2022-03-18 数据交互的方法、装置、存储介质及电子设备

Country Status (2)

Country Link
CN (1) CN114820272A (zh)
WO (1) WO2023173516A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116450074A (zh) * 2023-06-15 2023-07-18 摩尔线程智能科技(北京)有限责任公司 图像显示方法及装置

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117573397B (zh) * 2024-01-15 2024-04-19 北京趋动智能科技有限公司 内存优化方法、系统和存储介质

Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150113035A1 (en) * 2012-06-19 2015-04-23 Square Enix Holdings Co., Ltd. Processing system, information processing apparatus, control method, program and storage medium
CN105427236A (zh) * 2015-12-18 2016-03-23 魅族科技(中国)有限公司 一种图像渲染方法及装置
CN106254311A (zh) * 2016-07-15 2016-12-21 腾讯科技(深圳)有限公司 直播方法和装置、直播数据流展示方法和装置
CN106559579A (zh) * 2016-11-30 2017-04-05 努比亚技术有限公司 移动终端和cpu/gpu调度参数更新方法
CN106709064A (zh) * 2017-01-17 2017-05-24 广东欧珀移动通信有限公司 一种数据处理方法、装置及服务器
CN109271327A (zh) * 2017-07-18 2019-01-25 杭州海康威视数字技术股份有限公司 内存管理方法及装置
CN109951400A (zh) * 2019-03-12 2019-06-28 Oppo广东移动通信有限公司 终端的指令发送方法、装置、电子设备及可读存储介质
KR102086757B1 (ko) * 2019-07-31 2020-03-09 서강대학교 산학협력단 Gpu 메모리 스케줄러 및 이를 이용한 gpu 메모리 선점 방법
CN111951365A (zh) * 2020-07-27 2020-11-17 西安万像电子科技有限公司 图像渲染处理方法、设备及存储介质
CN112612526A (zh) * 2020-12-24 2021-04-06 深圳市九洲电器有限公司 应用程序控制方法、装置、终端设备以及存储介质
US20210240616A1 (en) * 2020-01-31 2021-08-05 Kove Ip, Llc External memory as an extension to local primary memory

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104679486B (zh) * 2013-11-28 2019-05-28 华为技术有限公司 一种图形数据的处理方法、装置及系统
CN111861854A (zh) * 2019-04-30 2020-10-30 华为技术有限公司 用于图形渲染的方法及装置
CN110580674B (zh) * 2019-07-24 2024-01-16 西安万像电子科技有限公司 信息处理方法、装置及系统
CN112614202B (zh) * 2020-12-24 2023-07-14 北京元心科技有限公司 Gui渲染显示的方法、终端、服务器、电子设备及存储介质
CN112835843A (zh) * 2021-01-26 2021-05-25 西安万像电子科技有限公司 数据渲染方法及系统
CN114077508B (zh) * 2022-01-19 2022-10-11 维塔科技(北京)有限公司 一种远程图像渲染方法、装置、电子设备以及介质

Patent Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150113035A1 (en) * 2012-06-19 2015-04-23 Square Enix Holdings Co., Ltd. Processing system, information processing apparatus, control method, program and storage medium
CN105427236A (zh) * 2015-12-18 2016-03-23 魅族科技(中国)有限公司 一种图像渲染方法及装置
CN106254311A (zh) * 2016-07-15 2016-12-21 腾讯科技(深圳)有限公司 直播方法和装置、直播数据流展示方法和装置
CN106559579A (zh) * 2016-11-30 2017-04-05 努比亚技术有限公司 移动终端和cpu/gpu调度参数更新方法
CN106709064A (zh) * 2017-01-17 2017-05-24 广东欧珀移动通信有限公司 一种数据处理方法、装置及服务器
CN109271327A (zh) * 2017-07-18 2019-01-25 杭州海康威视数字技术股份有限公司 内存管理方法及装置
CN109951400A (zh) * 2019-03-12 2019-06-28 Oppo广东移动通信有限公司 终端的指令发送方法、装置、电子设备及可读存储介质
KR102086757B1 (ko) * 2019-07-31 2020-03-09 서강대학교 산학협력단 Gpu 메모리 스케줄러 및 이를 이용한 gpu 메모리 선점 방법
US20210240616A1 (en) * 2020-01-31 2021-08-05 Kove Ip, Llc External memory as an extension to local primary memory
CN111951365A (zh) * 2020-07-27 2020-11-17 西安万像电子科技有限公司 图像渲染处理方法、设备及存储介质
CN112612526A (zh) * 2020-12-24 2021-04-06 深圳市九洲电器有限公司 应用程序控制方法、装置、终端设备以及存储介质

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116450074A (zh) * 2023-06-15 2023-07-18 摩尔线程智能科技(北京)有限责任公司 图像显示方法及装置
CN116450074B (zh) * 2023-06-15 2023-09-05 摩尔线程智能科技(北京)有限责任公司 图像显示方法及装置

Also Published As

Publication number Publication date
WO2023173516A1 (zh) 2023-09-21

Similar Documents

Publication Publication Date Title
CN109240677B (zh) 一种图层处理方法及装置
CN109213611B (zh) 跨进程通讯方法、装置、终端及存储介质
EP3951595A1 (en) Method and apparatus for graphics rendering
CN107223264B (zh) 一种渲染方法及装置
CN114820272A (zh) 数据交互的方法、装置、存储介质及电子设备
CN107292807B (zh) 一种图形合成方法、窗口设置方法及系统
JP7100154B2 (ja) プロセッサコアのスケジューリング方法、装置、端末及び記憶媒体
CN111737019B (zh) 一种显存资源的调度方法、装置及计算机存储介质
US20220121451A1 (en) Inter-core data processing method, system on chip and electronic device
US9396014B2 (en) Data swap in virtual machine environment
CN106683035B (zh) Gpu加速方法和装置
CN111198739A (zh) 一种应用视图的渲染方法、装置、设备和存储介质
CN116821040B (zh) 基于gpu直接存储器访问的显示加速方法、装置及介质
CN114581580A (zh) 渲染图像的方法、装置、存储介质及电子设备
CN114302040A (zh) 多应用共享单一摄像头的方法及相关产品
CN112835730A (zh) 图像存储、内存分配、图像合成方法、装置、设备及介质
CN113127228A (zh) 图形渲染方法、服务器和计算机可读存储介质
CN113521728A (zh) 云应用的实现方法、装置、电子设备和存储介质
US10929079B2 (en) Video display method, electronic device and computer program product
WO2023035619A1 (zh) 一种场景渲染方法、装置、设备及系统
WO2021016815A1 (zh) 数据包写入方法及装置、控制终端和可移动平台
KR101520067B1 (ko) 윈도우 시스템을 구현한 그래픽 처리 방법 및 그 장치
CN114661465A (zh) 资源管理的方法、装置、存储介质及电子设备
CN109710183B (zh) 一种数据同步方法及装置
CN111866065A (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
CB02 Change of applicant information

Address after: 1022, Floor 10, No. 1, Zhongguancun Street, Haidian District, Beijing 100085

Applicant after: Vita Technology (Beijing) Co.,Ltd.

Address before: 819-1, floor 7, No. 8, Haidian North 2nd Street, Haidian District, Beijing 100080

Applicant before: Vita Technology (Beijing) Co.,Ltd.

CB02 Change of applicant information