CN107203434A - 一种纹理共享的方法、装置以及计算机可读存储介质 - Google Patents

一种纹理共享的方法、装置以及计算机可读存储介质 Download PDF

Info

Publication number
CN107203434A
CN107203434A CN201710483679.8A CN201710483679A CN107203434A CN 107203434 A CN107203434 A CN 107203434A CN 201710483679 A CN201710483679 A CN 201710483679A CN 107203434 A CN107203434 A CN 107203434A
Authority
CN
China
Prior art keywords
shared
texture
client
information
establishment
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
CN201710483679.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.)
Wuhan Douyu Network Technology Co Ltd
Original Assignee
Wuhan Douyu Network Technology 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 Wuhan Douyu Network Technology Co Ltd filed Critical Wuhan Douyu Network Technology Co Ltd
Priority to CN201710483679.8A priority Critical patent/CN107203434A/zh
Publication of CN107203434A publication Critical patent/CN107203434A/zh
Pending legal-status Critical Current

Links

Classifications

    • 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/54Interprogram communication
    • G06F9/544Buffers; Shared memory; Pipes

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Image Generation (AREA)

Abstract

本发明提供了一种纹理共享的方法、装置以及计算机可读存储介质,涉及图像处理领域,该方法包括:第一客户端创建共享纹理,所述共享纹理包含第一客户端的画面信息;获取所述共享纹理的创建信息,所述创建信息内至少包括标识所述共享纹理地址的标识信息;将所述创建信息写入共享内存,以使第二客户端基于所述创建信息获取到包含所述第一客户端画面信息的所述共享纹理。运用该方法可以缓解需要将一个程序的画面展示在另一个程序中时,存在的操作性能较低的问题。

Description

一种纹理共享的方法、装置以及计算机可读存储介质
技术领域
本发明涉及图像处理领域,具体而言,涉及一种纹理共享的方法、装置以及计算机可读存储介质。
背景技术
在程序开发过程中,经常会遇到需要将A进程(例如游戏程序)的画面实时展示在B进程(例如直播软件程序)中,即需要B进程去获取A进程内存中的画面信息。针对此类情况,现有技术中一般采用的方法是先将A进程GPU(Graphics Process Unit)中的图像像素拷贝到系统内存中,然后将拷贝到系统内存中的图像像素传递到B进程,B进程再将接收到的图像像素拷贝到B进程GPU中,从而在窗口展示出A进程的画面。
由于GPU与内存之间的信息拷贝较为耗时,且现有技术需要不断地将A进程中的图像像素内容拷贝到内存中,再将内存中的图像像素内容拷贝进B进程,从而使得A进程运行时存在性能瓶颈,使得整体操作性能比较低。
发明内容
有鉴于此,本发明实施例的目的在于提供一种纹理共享的方法、装置以及计算机可读存储介质,以缓解需要将一个程序的画面展示在一个程序中时,存在的操作性能较低的问题。
第一方面,本发明实施例提供了一种纹理共享的方法,所述方法包括:第一客户端创建共享纹理,所述共享纹理包含第一客户端的画面信息;获取所述共享纹理的创建信息,所述创建信息内至少包括标识所述共享纹理地址的标识信息;将所述创建信息写入共享内存,以使第二客户端基于所述创建信息获取到包含所述第一客户端画面信息的所述共享纹理。通过该方法,可以缓解需要将一个程序的画面展示在另一个程序中时,存在的操作性能较低的问题。
第二方面,本发明实施例提供了一种纹理共享的方法,所述方法包括:第二客户端获取由第一客户端预先写入到共享内存的用于创建共享纹理的创建信息,所述创建信息内至少包括标识所述共享纹理地址的标识信息;基于所述创建信息,获取由所述第一客户端创建的包含所述第一客户端画面信息的所述共享纹理;基于所述共享纹理,绘制所述画面信息。通过该方法,可以缓解需要将一个程序的画面展示在另一个程序中时,存在的操作性能较低的问题。
第三方面,本发明实施例提供了一种纹理共享的装置,所述装置包括:创建模块、获取模块以及写入模块。创建模块,用于创建共享纹理,所述共享纹理包含第一客户端的画面信息;获取模块,用于获取所述共享纹理的创建信息,所述创建信息内至少包括标识所述共享纹理地址的标识信息;写入模块,用于将所述创建信息写入共享内存,以使第二客户端基于所述创建信息获取到包含所述第一客户端画面信息的所述共享纹理。通过该装置,可以缓解需要将一个程序的画面展示在另一个程序中时,存在的操作性能较低的问题。
第四方面,本发明实施例提供了一种纹理共享的装置,所述装置包括:第一获取模块、第二获取模块以及绘制模块。第一获取模块,用于获取由第一客户端预先写入到共享内存的用于创建共享纹理的创建信息,所述创建信息内至少包括标识所述共享纹理地址的标识信息;第二获取模块,用于基于所述创建信息,获取由所述第一客户端创建的包含所述第一客户端画面信息的所述共享纹理;绘制模块,用于基于所述共享纹理,绘制所述画面信息。通过该装置,可以缓解需要将一个程序的画面展示在另一个程序中时,存在的操作性能较低的问题。
第五方面,本发明实施例提供了一种计算机可读存储介质,所述可读存储介质存储有处理器可执行的程序代码,所述程序代码被配置成使所述处理器执行上述任一实施例所述方法。
与现有技术相比,本发明各实施例提出的一种纹理共享的方法、装置以及计算机可读存储介质的有益效果是:第一客户端通过创建包含所述第一客户端画面信息的共享纹理,并将表征该共享纹理地址的标识信息写入共享内存,使得第二客户端可以通过读取该共享内存,便可以获取到包含标识信息的创建信息,并通过该标识信息获取到所述共享纹理,从而获取到第一客户端的画面信息。与现有技术中,至少节约了将第一客户端显存中的画面信息拷贝到第一客户端的内存中、将第一客户端内存中的画面信息拷贝到第二客户端内存中,将第二客户端内存中的画面信息拷贝到第二客户端的显存中这三部分的时间,缓解了需要将第一客户端的画面展示在第二客户端中时,存在的操作性能较低的问题。
为使本发明的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1为本发明实施例提供的用户终端的结构框图;
图2为本发明第一实施例提供的纹理共享的方法的流程图;
图3为本发明第二实施例提供的纹理共享的方法的流程图;
图4为本发明第三实施例提供的纹理共享的装置的结构框图;
图5为本发明第四实施例提供的纹理共享的装置的结构框图。
具体实施方式
下面将结合本发明实施例中附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。同时,在本发明的描述中,术语“第一”、“第二”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
如图1所示,是所述用户终端100的方框示意图。所述用户终端100可以是个人电脑(personal computer,PC)、平板电脑等。
所述用户终端100包括:纹理共享的装置、存储器110、存储控制器120、处理器130、外设接口140、输入输出单元150、音频单元160、显示单元170。
所述存储器110、存储控制器120、处理器130、外设接口140、输入输出单元150、音频单元160以及显示单元170各元件相互之间直接或间接地电性连接,以实现数据的传输或交互。例如,这些元件相互之间可通过一条或多条通讯总线或信号线实现电性连接。所述纹理共享的装置包括至少一个可以软件或固件(firmware)的形式存储于所述存储器110中或固化在客户端的操作系统(operating system,OS)中的软件功能模块。所述处理器130用于执行存储器110中存储的可执行模块,例如所述纹理共享的装置包括的软件功能模块或计算机程序。
其中,存储器110可以是,但不限于,随机存取存储器(Random Access Memory,RAM),只读存储器(Read Only Memory,ROM),可编程只读存储器(Programmable Read-OnlyMemory,PROM),可擦除只读存储器(Erasable Programmable Read-Only Memory,EPROM),电可擦除只读存储器(Electric Erasable Programmable Read-Only Memory,EEPROM)等。其中,存储器110用于存储程序,所述处理器130在接收到执行指令后,执行所述程序,前述本发明实施例任一实施例揭示的流程定义的用户终端100所执行的方法可以应用于处理器130中,或者由处理器130实现。
处理器130可能是一种集成电路芯片,具有信号的处理能力。上述的处理器130可以是通用处理器,包括中央处理器(Central Processing Unit,简称CPU)、网络处理器(Network Processor,简称NP)等;还可以是数字信号处理器(DSP)、专用集成电路(ASIC)、现成可编程门阵列(FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本发明实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
所述外设接口140将各种输入/输出装置耦合至处理器130以及存储器110。在一些实施例中,外设接口140,处理器130以及存储控制器120可以在单个芯片中实现。在其他一些实例中,他们可以分别由独立的芯片实现。
输入输出单元150用于提供给用户输入数据实现用户与用户终端100的交互。所述输入输出单元150可以是,但不限于,鼠标和键盘等。
音频单元160向用户提供音频接口,其可包括一个或多个麦克风、一个或者多个扬声器以及音频电路。
显示单元170在用户终端100与用户之间提供一个交互界面(例如用户操作界面)或用于显示图像数据给用户参考。在本实施例中,所述显示单元170可以是液晶显示器或触控显示器。若为触控显示器,其可为支持单点和多点触控操作的电容式触控屏或电阻式触控屏等。支持单点和多点触控操作是指触控显示器能感应到来自该触控显示器上一个或多个位置处同时产生的触控操作,并将该感应到的触控操作交由处理器130进行计算和处理。
第一实施例
请参照图2,图2是本发明第一实施例提供的一种纹理共享的方法的流程图,所述方法应用于第一客户端。下面将对图2所示的流程进行详细阐述,所述方法包括:
步骤S110:第一客户端创建共享纹理,所述共享纹理包含第一客户端的画面信息。
其中,所述第一客户端可以是安装在用户终端上的A进程,例如游戏程序。相应地,第二客户端可以是安装在用户终端上的B进程,例如直播软件。
进一步地,第一客户端可以基于Direct3D9创建包含第一客户端画面信息的共享纹理。由于本发明实施例中需要对创建的纹理进行共享,因此,于本实施例中,需要选择支持纹理共享的,版本不低于Direct3DCreate9Ex的Direct3D9。下文将以Direct3DCreate9Ex为例进行说明。
下面将对第一客户端创建共享纹理的步骤进行描述:
首先,第一客户端需要对Direct3D9运行环境进行初始化。
进一步地,第一客户端可以调用Direct3DCreate9Ex系统API函数,创建一个IDirect3D9Ex接口,该接口是Direct3D9的设备接口,第一客户端可以通过该接口的CreateDeviceEx方法创建一个IDirect3DDevice9Ex接口,IDirect3DDevice9Ex接口是一个C++对象,代表了用来显示3D图形的物理硬件设备。至此,第一客户端完成对Direct3D9运行环境的初始化。
第一客户端可以在Direct3DCreate9Ex版本下,调用IDirect3DDevice9Ex接口的共享纹理创建函数CreateTexture,通过向所述共享纹理创建函数内写入创建信息,创建所述共享纹理。
其中,所述创建信息内可以包括需要创建的共享纹理的尺寸信息(宽度以及高度)、该共享纹理的使用方式信息、该共享纹理的像素格式信息、该共享纹理的内存模型信息以及该共享纹理的标识信息。
进一步地,可以把共享纹理的尺寸信息传入到CreateTexture函数的第一个和第二个参数中;由于要创建共享纹理,那么该纹理一定是一个渲染目标,其使用方式信息应该为D3DUSAGE_RENDERTARGET,将该值传入到CreateTexture函数的第四个参数中;由于该纹理只支持ARGB格式,那么该共享纹理的像素格式信息为D3DFMT_A8R8G8B8格式,将该值传入到CreateTexture函数的第五个参数中;由于该共享纹理只能够在第一客户端的显存中创建,因此该共享纹理的内存模型信息为D3DPOOL_DEFAULT,将该值传入到CreateTexture函数的第六个参数中;由于需要第二客户端使用该共享纹理,所以必须使得第二客户端可以获取到与该共享纹理相对应的地址的标识信息。作为一种实施方式,所述标识信息可以是共享纹理的句柄。第一客户端可以指定一个值为0的HANDLE变量sharedHandle,将sharedHandle的地址传入到CreateTexture函数的第八个参数中。
通过以上步骤,第一客户端完成共享纹理的创建。
步骤S120:获取所述共享纹理的创建信息,所述创建信息内至少包括标识所述共享纹理地址的标识信息。
其中,所述标识信息可以是所述共享纹理的句柄。
步骤S130:将所述创建信息写入共享内存,以使第二客户端基于所述创建信息获取到包含所述第一客户端画面信息的所述共享纹理。
因为需要第二客户端使用第一客户端创建好的共享纹理,所以需要将至少包含有所述共享纹理地址的标识信息的创建信息传递给第二客户端。进一步地,第一客户端在创建好共享纹理后,可以通过将所述共享纹理的创建信息写入到共享内存的方式,将至少包含有所述共享纹理地址的标识信息的创建信息进行共享,以使第二客户端可以通过读取该共享内存,便可以获取到创建信息。
当然,所述创建信息内还可以包括标识信息、表征所述共享纹理尺寸的尺寸信息,所述第一客户端将所述标识信息以及所述尺寸信息一并写入所述共享内存。
本发明第一实施例提供的一种纹理共享的方法的,第一客户端通过创建包含所述第一客户端画面信息的共享纹理,并将表征该共享纹理地址的标识信息写入共享内存,使得第二客户端可以通过读取该共享内存,便可以获取到包含标识信息的创建信息,并通过该标识信息获取到所述共享纹理,从而获取到第一客户端的画面信息。与现有技术中,至少节约了将第一客户端显存中的画面信息拷贝到第一客户端的内存中、将第一客户端内存中的画面信息拷贝到第二客户端内存中,将第二客户端内存中的画面信息拷贝到第二客户端的显存中这三部分的时间,该方法不影响第一客户端的性能,从而使得效率非常的高效,缓解了需要将第一客户端的画面展示在第二客户端中时,存在的操作性能较低的问题。
第二实施例
请参照图3,图3是本发明第二实施例提供的一种纹理共享的方法的流程图,所述方法应用于第二客户端。下面将对图3所示的流程进行详细阐述,所述方法包括:
步骤S210:第二客户端获取由第一客户端预先写入到共享内存的用于创建共享纹理的创建信息,所述创建信息内至少包括标识所述共享纹理地址的标识信息。
当然,于第一实施例相似地,第二客户端在获取第一客户端预先写入到共享内存的用于创建共享纹理的创建信息之前,需要完成对Direct3D9运行环境的初始化。其初始化步骤与第一实施例相似,此处就不再进行过多地赘述。
在初始化完成后,所述第二客户端可以通过调用系统映射函数MapViewOfFile,获取由第一客户端预先写入到所述共享内存内的用于创建所述共享纹理的创建信息。
其中,所述创建信息中,至少包括表征所述共享纹理地址的标识信息,即共享纹理的句柄—sharedHandle。当然,所述创建信息中,还可以包括表征所述共享纹理尺寸的尺寸信息,如共享纹理的宽度textureWidth,共享纹理的高度textureHeight。
步骤S220:基于所述创建信息,获取由所述第一客户端创建的包含所述第一客户端画面信息的所述共享纹理。
第二客户端可以同样调用IDirect3DDevice9Ex的CreateTexture函数,将创建信息中的参数传入到CreateTexture函数中,从而获取在第一客户端中创建的共享纹理。
步骤S230:基于所述共享纹理,绘制所述画面信息。
第二客户端可以调用IDirect3DDevice9Ex的Draw方法,绘制该共享纹理,从而实现将第一客户端的图像,实时的绘制在第二客户端中。
第三实施例
请参照图4,图4是本发明第三实施例提供的一种纹理共享的装置400的结构框图。下面将对图4所示的结构框图进行阐述,所示装置包括:创建模块410、获取模块420以及写入模块430。
创建模块410,用于创建共享纹理,所述共享纹理包含第一客户端的画面信息;
获取模块420,用于获取所述共享纹理的创建信息,所述创建信息内至少包括标识所述共享纹理地址的标识信息;
写入模块430,用于将所述创建信息写入共享内存,以使第二客户端基于所述创建信息获取到包含所述第一客户端画面信息的所述共享纹理。
进一步地,请继续参看图4,所述创建模块410还可以包括:调用子模块411以及创建执行子模块412。
调用子模块411,用于调用共享纹理创建函数CreateTexture;
创建执行子模块412,用于向所述共享纹理创建函数内写入创建信息,创建所述共享纹理。
本实施例对纹理共享的装置400的各功能模块实现各自功能的过程,请参见上述图1至图3所示实施例中描述的内容,此处不再赘述。
第四实施例
请参照图5,图5是本发明第四实施例提供的一种纹理共享的装置500的结构框图。下面将对图5所示的结构框图进行阐述,所示装置包括:第一获取模块510、第二获取模块520以及绘制模块530。
第一获取模块510,用于获取由第一客户端预先写入到共享内存的用于创建共享纹理的创建信息,所述创建信息内至少包括标识所述共享纹理地址的标识信息;
第二获取模块520,用于基于所述创建信息,获取由所述第一客户端创建的包含所述第一客户端画面信息的所述共享纹理;
绘制模块530,用于基于所述共享纹理,绘制所述画面信息。
本实施例对纹理共享的装置500的各功能模块实现各自功能的过程,请参见上述图1至图3所示实施例中描述的内容,此处不再赘述。
综上所述,本发明实施例提出的一种纹理共享的方法、装置以及计算机可读存储介质,第一客户端通过创建包含所述第一客户端画面信息的共享纹理,并将表征该共享纹理地址的标识信息写入共享内存,使得第二客户端可以通过读取该共享内存,便可以获取到包含标识信息的创建信息,并通过该标识信息获取到所述共享纹理,从而获取到第一客户端的画面信息。与现有技术中,至少节约了将第一客户端显存中的画面信息拷贝到第一客户端的内存中、将第一客户端内存中的画面信息拷贝到第二客户端内存中,将第二客户端内存中的画面信息拷贝到第二客户端的显存中这三部分的时间,该方法不影响第一客户端的性能,从而使得效率非常的高效,缓解了需要将第一客户端的画面展示在第二客户端中时,存在的操作性能较低的问题。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,也可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,附图中的流程图和框图显示了根据本发明的多个实施例的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
另外,在本发明各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。
所述功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。

Claims (10)

1.一种纹理共享的方法,其特征在于,所述方法包括:
第一客户端创建共享纹理,所述共享纹理包含第一客户端的画面信息;
获取所述共享纹理的创建信息,所述创建信息内至少包括标识所述共享纹理地址的标识信息;
将所述创建信息写入共享内存,以使第二客户端基于所述创建信息获取到包含所述第一客户端画面信息的所述共享纹理。
2.根据权利要求1所述的方法,其特征在于,所述第一客户端创建共享纹理,包括:
所述第一客户端调用共享纹理创建函数CreateTexture;
向所述共享纹理创建函数内写入创建信息,创建所述共享纹理。
3.根据权利要求1所述的方法,其特征在于,所述创建信息包括标识信息、表征所述共享纹理尺寸的尺寸信息,所述将所述创建信息写入共享内存,包括:所述第一客户端将所述标识信息以及所述尺寸信息写入所述共享内存。
4.根据权利要求1-3中任一项所述的方法,其特征在于,所述标识信息是所述共享纹理的句柄。
5.一种纹理共享的方法,其特征在于,所述方法包括:
第二客户端获取由第一客户端预先写入到共享内存的用于创建共享纹理的创建信息,所述创建信息内至少包括标识所述共享纹理地址的标识信息;
基于所述创建信息,获取由所述第一客户端创建的包含所述第一客户端画面信息的所述共享纹理;
基于所述共享纹理,绘制所述画面信息。
6.根据权利要求5所述的方法,其特征在于,所述第二客户端获取由第一客户端预先写入到共享内存的用于创建共享纹理的创建信息,包括:
所述第二客户端通过调用系统映射函数MapViewOfFile,获取由第一客户端预先写入到所述共享内存内的用于创建所述共享纹理的创建信息。
7.一种纹理共享的装置,其特征在于,所述装置包括:
创建模块,用于创建共享纹理,所述共享纹理包含第一客户端的画面信息;
获取模块,用于获取所述共享纹理的创建信息,所述创建信息内至少包括标识所述共享纹理地址的标识信息;
写入模块,用于将所述创建信息写入共享内存,以使第二客户端基于所述创建信息获取到包含所述第一客户端画面信息的所述共享纹理。
8.根据权利要求7所述的装置,其特征在于,所述创建模块,包括:
调用子模块,用于调用共享纹理创建函数CreateTexture;
创建执行子模块,用于向所述共享纹理创建函数内写入创建信息,创建所述共享纹理。
9.一种纹理共享的装置,其特征在于,所述装置包括:
第一获取模块,用于获取由第一客户端预先写入到共享内存的用于创建共享纹理的创建信息,所述创建信息内至少包括标识所述共享纹理地址的标识信息;
第二获取模块,用于基于所述创建信息,获取由所述第一客户端创建的包含所述第一客户端画面信息的所述共享纹理;
绘制模块,用于基于所述共享纹理,绘制所述画面信息。
10.一种计算机可读存储介质,其特征在于,所述可读存储介质存储有处理器可执行的程序代码,所述程序代码被配置成使所述处理器执行所述权利要求1-6任一项所述方法。
CN201710483679.8A 2017-06-22 2017-06-22 一种纹理共享的方法、装置以及计算机可读存储介质 Pending CN107203434A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710483679.8A CN107203434A (zh) 2017-06-22 2017-06-22 一种纹理共享的方法、装置以及计算机可读存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710483679.8A CN107203434A (zh) 2017-06-22 2017-06-22 一种纹理共享的方法、装置以及计算机可读存储介质

Publications (1)

Publication Number Publication Date
CN107203434A true CN107203434A (zh) 2017-09-26

Family

ID=59908108

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710483679.8A Pending CN107203434A (zh) 2017-06-22 2017-06-22 一种纹理共享的方法、装置以及计算机可读存储介质

Country Status (1)

Country Link
CN (1) CN107203434A (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108509272A (zh) * 2018-03-22 2018-09-07 武汉斗鱼网络科技有限公司 将gpu显存纹理拷贝到系统内存的方法、装置及电子设备
CN110489083A (zh) * 2018-05-14 2019-11-22 武汉斗鱼网络科技有限公司 一种纹理共享的方法、计算机设备和存储介质
CN111831353A (zh) * 2020-07-09 2020-10-27 平行云科技(北京)有限公司 基于OpenXR标准的运行库、数据交互方法、设备及介质
CN113051219A (zh) * 2019-12-26 2021-06-29 贵州白山云科技股份有限公司 一种数据库管理方法、装置、设备及存储介质
CN116055540A (zh) * 2023-01-13 2023-05-02 北京曼恒数字技术有限公司 虚拟内容的显示系统、方法、设备及计算机可读介质

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108509272A (zh) * 2018-03-22 2018-09-07 武汉斗鱼网络科技有限公司 将gpu显存纹理拷贝到系统内存的方法、装置及电子设备
CN110489083A (zh) * 2018-05-14 2019-11-22 武汉斗鱼网络科技有限公司 一种纹理共享的方法、计算机设备和存储介质
CN110489083B (zh) * 2018-05-14 2022-06-21 武汉斗鱼网络科技有限公司 一种纹理共享的方法、计算机设备和存储介质
CN113051219A (zh) * 2019-12-26 2021-06-29 贵州白山云科技股份有限公司 一种数据库管理方法、装置、设备及存储介质
CN111831353A (zh) * 2020-07-09 2020-10-27 平行云科技(北京)有限公司 基于OpenXR标准的运行库、数据交互方法、设备及介质
CN111831353B (zh) * 2020-07-09 2024-02-20 平行云科技(北京)有限公司 基于OpenXR标准的运行库、数据交互方法、设备及介质
CN116055540A (zh) * 2023-01-13 2023-05-02 北京曼恒数字技术有限公司 虚拟内容的显示系统、方法、设备及计算机可读介质
CN116055540B (zh) * 2023-01-13 2023-12-19 北京曼恒数字技术有限公司 虚拟内容的显示系统、方法、设备及计算机可读介质

Similar Documents

Publication Publication Date Title
CN107203434A (zh) 一种纹理共享的方法、装置以及计算机可读存储介质
CN107515759B (zh) 截屏方法、装置、电子设备及可读存储介质
TWI686768B (zh) 在移動設備上動畫展現圖像的方法和裝置
WO2017166210A1 (zh) 应用程序的处理方法及终端设备
CN107818008B (zh) 页面加载方法及装置
CN106941567A (zh) 显示网络图片的方法、装置以及用户终端
KR101975049B1 (ko) Ui 제어의 배경을 설정하는 방법 및 장치, 및 단말
CN110148203B (zh) 游戏中虚拟建筑模型的生成方法、装置、处理器及终端
US11561637B2 (en) Method and device of drawing handwriting track, electronic apparatus, medium, and program product
CN111450529B (zh) 游戏地图的获取方法、装置、存储介质及电子装置
US20160196008A1 (en) Implementing desktops on a mobile terminal
CN106951267A (zh) 屏幕尺寸自适应方法及装置
CN111833417A (zh) 安卓应用程序实现黑白模式的方法及系统
CN108509241B (zh) 一种图像的全屏显示方法、全屏显示装置及移动终端
CN114051145A (zh) 一种视频压缩处理方法、装置及介质
CN110502205A (zh) 图片显示边缘处理方法、装置、电子设备和可读存储介质
CN103400565A (zh) 一种基于gdi的界面分块刷新方法
CN110765384A (zh) 客户端的分辨率适配方法、存储介质及终端
CN107391148B (zh) 视图元素保存方法、装置、电子设备及计算机存储介质
CN109064537A (zh) 基于3d渲染引擎的图像生成方法以及装置
CN107329654A (zh) 绘制元素浮层的方法、装置以及计算机可读存储介质
CN112367295B (zh) 插件展示方法及装置、存储介质及电子设备
CN114625997A (zh) 页面渲染方法及装置、电子设备、计算机可读介质
CN114972558A (zh) 书写笔迹绘制方法、装置、介质以及交互平板
WO2020211029A1 (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
RJ01 Rejection of invention patent application after publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20170926