CN105761200A - 用于纹理处理的方法、设备、模拟器和电子设备 - Google Patents
用于纹理处理的方法、设备、模拟器和电子设备 Download PDFInfo
- Publication number
- CN105761200A CN105761200A CN201610148146.XA CN201610148146A CN105761200A CN 105761200 A CN105761200 A CN 105761200A CN 201610148146 A CN201610148146 A CN 201610148146A CN 105761200 A CN105761200 A CN 105761200A
- Authority
- CN
- China
- Prior art keywords
- texture
- data texturing
- worker thread
- message
- compressed textures
- 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
Classifications
-
- 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
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/005—General purpose rendering architectures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T9/00—Image coding
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Multimedia (AREA)
- Computer Graphics (AREA)
- Image Generation (AREA)
Abstract
本发明公开了一种用于纹理处理的方法、设备、模拟器和电子设备。该用于纹理处理的方法包括:获取以第一压缩纹理格式压缩的第一纹理数据;通过消息将第一纹理数据传递给纹理上传辅助线程;以及在纹理上传辅助线程对第一纹理数据进行处理期间,执行其他后续处理。通过本发明,可以使得程序运行更加流畅。
Description
技术领域
本发明涉及在一个操作系统中模拟另一个操作系统的模拟器中的纹理处理,更具体来说,涉及一种用于纹理处理的方法、用于纹理处理的设备、模拟器和电子设备。
背景技术
目前,很多用户希望能够在Windows操作系统中使用为手机设计的软件,例如手机游戏等。例如,手机的操作系统是Android操作系统。在这种情况下,可以使用模拟器,以在Windows操作系统中模拟Android操作系统的运行环境,从而可以直接使用所述软件。所述模拟器例如可以是现有技术中的猩猩助手模拟器,它可以在Windows操作系统中模拟Android操作系统。
通常来说,手机游戏所支持的压缩纹理格式是ETC1压缩纹理格式。当Windows操作系统中使用手机游戏中的纹理时,需要将以ETC1格式压缩的纹理数据转换成RGB格式的纹理数据,以进行渲染(显示)。
本发明人认识到,现有技术中在模拟器中对纹理数据的处理会产生两个技术问题。
第一,对ETC1格式的纹理数据进行解码的速度很慢。例如,目前可获得的“大话西游”游戏经常需要上传2048×2048的纹理数据。将这种尺寸的ETC1格式的纹理数据解码成RGB格式的纹理数据需要耗时100ms左右(例如,在使用Inteli5处理器的情况下)。假设游戏帧率是60帧每秒(fps),每帧的渲染时间不超过16.67ms。上述解码处理需要6帧以上的时间。
第二,上述解码所生成的RGB格式的纹理数据占用巨大的内存和/或显存。以2048×2048的纹理数据为例,所生成的RGB格式的纹理数据的字节数是2048×2048×3。在手机中使用的ETC1格式的纹理数据的字节数是使用2048×2048×8/16,它是RGB格式的纹理数据的1/6。
因此,有必要针对上述现有技术中的至少一个技术问题进行改进。
发明内容
本发明的一个目的是提供一种用于纹理处理的新技术方案。
根据本发明的第一方面,提供了一种用于纹理处理的方法,包括:获取以第一压缩纹理格式压缩的第一纹理数据;通过消息将第一纹理数据传递给纹理上传辅助线程;以及当纹理上传辅助线程对第一纹理数据进行处理期间,执行其他后续处理。
优选地,所述方法还包括:在纹理上传辅助线程中,将第一纹理数据解码成RGB纹理数据;将RGB纹理数据编码成以第二压缩纹理格式压缩的第二纹理数据;以及将第二纹理数据上传以用于显示。
优选地,第一压缩纹理格式是ETC1格式,以及第二压缩纹理格式是s3tc格式。
优选地,通过消息将第一纹理数据传递给纹理上传辅助线程包括:初始化消息队列和纹理上传辅助线程;将所述消息放置到消息队列;纹理上传辅助线程从消息队列中获取所述消息。
优选地,所述消息还包括OpenGL上下文、纹理的长度和宽度和OpenGL纹理对象的句柄中的至少一个。
根据本发明的第二方面,提供了一种用于纹理处理的设备,包括:用于获取以第一压缩纹理格式压缩的第一纹理数据的装置;用于通过消息将第一纹理数据传递给纹理上传辅助线程的装置;以及用于当纹理上传辅助线程对第一纹理数据进行处理期间执行其他后续处理的装置。
优选地,所述设备还包括:用于在纹理上传辅助线程中将第一纹理数据解码成RGB纹理数据的装置;用于将RGB纹理数据编码成以第二压缩纹理格式压缩的第二纹理数据的装置;以及用于将第二纹理数据上传以用于显示的装置。
优选地,第一压缩纹理格式是ETC1格式,以及第二压缩纹理格式是s3tc格式。
优选地,用于通过消息将第一纹理数据传递给纹理上传辅助线程的装置包括:用于初始化消息队列和纹理上传辅助线程的装置;用于将所述消息放置到消息队列的装置;用于纹理上传辅助线程从消息队列中获取所述消息的装置。
优选地,所述消息还包括OpenGL上下文、纹理的长度和宽度和OpenGL纹理对象的句柄中的至少一个。
根据本发明的第三方面,提供了一种模拟器,用于在Windows操作系统中模拟Android操作系统,包括根据本发明的用于纹理处理的设备。
根据本发明的第四方面,提供了一种模拟器,用于在Windows操作系统中模拟Android操作系统,被设计成用于执行如下操作:获取以第一压缩纹理格式压缩的第一纹理数据;通过消息将第一纹理数据传递给纹理上传辅助线程;以及当纹理上传辅助线程对第一纹理数据进行处理期间,执行其他后续处理。
根据本发明的第五方面,提供了一种电子设备,该电子设备运行Windows操作系统,它包括根据本发明的模拟器。
根据本发明的第六方面,提供了一种电子设备,包括存储器和处理器,其中,所述存储器用于存储指令,所述指令用于控制所述处理器进行操作以执行根据本发明的方法。
通过本发明的一个实施例,通过使用异步的处理方式,可以减少纹理处理在主线程中占用的时间,使得程序运行更加流畅。
通过以下参照附图对本发明的示例性实施例的详细描述,本发明的其它特征及其优点将会变得清楚。
附图说明
被结合在说明书中并构成说明书的一部分的附图示出了本发明的实施例,并且连同其说明一起用于解释本发明的原理。
图1是根据本发明的一个实施例的用于纹理处理的方法的流程图。
图2是根据本发明的一个实施例的模拟器的框图。
图3是根据本发明的一个实施例的电子设备的框图
具体实施方式
现在将参照附图来详细描述本发明的各种示例性实施例。应注意到:除非另外具体说明,否则在这些实施例中阐述的部件和步骤的相对布置、数字表达式和数值不限制本发明的范围。
以下对至少一个示例性实施例的描述实际上仅仅是说明性的,决不作为对本发明及其应用或使用的任何限制。
对于相关领域普通技术人员已知的技术、方法和设备可能不作详细讨论,但在适当情况下,所述技术、方法和设备应当被视为说明书的一部分。
在这里示出和讨论的所有例子中,任何具体值应被解释为仅仅是示例性的,而不是作为限制。因此,示例性实施例的其它例子可以具有不同的值。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步讨论。
下面,参照附图描述根据本发明的各个实施例和例子。
<方法>
图1是根据本发明的一个实施例的用于纹理处理的方法的流程图。
根据图1的方法可以用于模拟器中的纹理处理。例如,当在Windows操作系统下模拟Android系统的操作环境时可以使用图1所示的方法。所述模拟器例如是猩猩助手模拟器。例如,通过使用所述模拟器,可以在Windows操作系统下运行手机中通常使用的Android游戏。
如图1所示,在步骤S1100,获取以第一压缩纹理格式压缩的第一纹理数据。
例如,所述第一纹理数据是用于Android操作系统的。所述第一压缩纹理格式例如是ETC1压缩格式。
在步骤S1200,通过消息将第一纹理数据传递给纹理上传辅助线程S1300。
在这里,可以采用生产者/消费者模式来进行处理。例如,首先,初始化消息队列和纹理上传辅助线程。将所述消息放置到消息队列。纹理上传辅助线程从消息队列中获取所述消息。例如,除了第一纹理数据之外,所述消息还可以包括OpenGL上下文、纹理的长度和宽度和OpenGL纹理对象的句柄中的至少一个。可以采用这样的方式来实现第一纹理数据的传递。
更具体来说,可以使用多线程异步实现接口glCompressedTexImage2D来实现上述传递。
例如,在生产者方面,消息队列接受来自主线程的消息。该消息包含如下字段:OpenGL上下文、纹理的长度和宽度、以ETC1压缩格式编码的第一纹理数据和OpenGL纹理对象的句柄。
OpenGL纹理对象的句柄可能只在当前的上下文下有效,即,如果没有上下文,就无法处理OpenGL纹理对象。但是,在异步操作的情况下,使用原有的上下文进行操作可能会产生问题。例如,纹理上传辅助线程可能会和原线程(所谓的主线程)产生冲突和/或竞争。因此,在这里,通过消息传递OpenGL上下文。在传递OpenGL上下文和OpenGL纹理对象的句柄的情况下,可以对OpenGL上下文进行共享。进行共享的上下文使用相同的资源池,因此,所述句柄能够在两个共享的上下文(主线程中的上下文和辅助线程中的上下文)中表示同一个对象。进行共享的上下文可以具有不同的状态。
在Windows操作系统中可以有两种办法共享所述上下文。
在第一种方法中,首先创建新的OpenGL上下文。之后,调用wglShareList函数。使用wglShareList函数可以为两个上下文(原OpenGL上下文和新的OpenGL上下文)建立共享关系。
在第二种方法中,可以使用wglCreateContextAttribARB函数直接创建具有与原OpenGL上下文(用于传入所述消息的上下文)具有共享关系的新的OpenGL上下文。
在这里,需要对所述第一纹理数据进行深拷贝,因为,当退出glCompressedTexImage2D函数时,所述第一纹理数据无效,并无法被纹理上传辅助线程使用。
当主线程(生产者)把消息中的各个字段填好并将消息放入消息队列之后,对于主线程来说,纹理上传的操作已经完成,主线程可以继续其他后续操作。
在消费者方面,在纹理上传辅助线程中,首先,将第一纹理数据解码成RGB纹理数据。接着,将RGB纹理数据编码成以第二压缩纹理格式压缩的第二纹理数据。然后,将第二纹理数据上传以用于显示(渲染)。
一般来说,Windows操作系统的压缩纹理格式是s3tc压缩纹理格式。s3tc压缩纹理格式可以达到与ETC1类似的压缩比。这样,相对于RGB纹理数据,s3tc压缩纹理格式的纹理数据也能够降低数据量。例如,在运行前面举例说明的“大话西游”游戏时,可以将纹理数据的数据量从1.8G降低到400MB。因此,在这个例子中,第一压缩纹理格式是ETC1格式,以及第二压缩纹理格式是s3tc格式。
在步骤S1300,当纹理上传辅助线程对第一纹理数据进行处理期间,执行其他后续处理。
例如,所述在纹理上传辅助线程中对第一纹理数据进行的处理包括对第一纹理数据进行处理以用于显示的相关处理。
这里的后续处理指的是在纹理上传处理之后的处理。在不使用本发明的异步纹理处理的情况下,所述后续处理需要等待纹理上传处理完成之后才能被执行。根据软件(例如游戏软件)的不同,所述后续处理可以是不同的,并且这些后续处理本身不是本发明所关注的,因此,在这里不对它们进行详细描述。
如前面所述,通过根据本发明的方案,当主线程通过消息把与纹理处理有关数据传递给了纹理上传辅助线程之后,对于主线程来说,纹理上传处理就结束了,而不必等待纹理处理真正完成。这减少了例如渲染指令执行等处理所占用的时间。这可以使得软件运行更加流畅。特别地,当所述软件是游戏软件时,这使得游戏的运行更加流畅,减少了游戏的卡顿。
更特别地,在使用第二纹理数据(s3tc压缩纹理格式的纹理数据)的情况下,要将第一纹理数据(ETC1压缩纹理格式的纹理数据)解码成RGB纹理数据(这需要大约100ms的时间),然后,将RGB纹理数据编码成第二纹理数据(这需要大约300ms的时间)。因此,纹理数据的解码和编码处理需要大约400ms的时间。在这种情况下,本发明的采用纹理上传辅助线程的处理方式是更加有利的。可以在实际的纹理处理期间,执行其他后续处理,而不必等待所述纹理处理真正全部完成。通过这种方式,用户感觉软件运行得更加流畅。
从这个方面来说,本发明的方案还可以兼顾纹理处理的耗时和显存占用的问题。
<纹理处理设备>
本领域技术人员应当理解,在电子技术领域中,可以通过软件、硬件以及软件和硬件结合的方式,将上述方法体现在产品中。本领域技术人员很容易基于上面公开的方法,产生一种用于纹理处理的设备,包括:用于获取以第一压缩纹理格式压缩的第一纹理数据的装置;用于通过消息将第一纹理数据传递给纹理上传辅助线程的装置;以及用于当纹理上传辅助线程对第一纹理数据进行处理期间执行其他后续处理的装置。例如,所述设备还包括:用于在纹理上传辅助线程中将第一纹理数据解码成RGB纹理数据的装置;用于将RGB纹理数据编码成以第二压缩纹理格式压缩的第二纹理数据的装置;以及用于将第二纹理数据上传以用于显示的装置。例如,第一压缩纹理格式是ETC1格式,以及第二压缩纹理格式是s3tc格式。例如,用于通过消息将第一纹理数据传递给纹理上传辅助线程的装置包括:用于初始化消息队列和纹理上传辅助线程的装置;用于将所述消息放置到消息队列的装置;用于纹理上传辅助线程从消息队列中获取所述消息的装置。例如,所述消息还包括OpenGL上下文、纹理的长度和宽度和OpenGL纹理对象的句柄中的至少一个。
本领域技术人员应当明白,可以通过各种方式来实现上述装置。例如,可以通过指令配置处理器来实现上述装置。例如,可以将指令存储在ROM中,并且当启动设备时,将指令从ROM读取到可编程器件中来实现上述装置。例如,可以将上述装置固化到专用器件(例如ASIC)中。可以将上述装置分成相互独立的单元,或者可以将它们合并在一起实现。上述装置可以通过上述各种实现方式中的一种来实现,或者可以通过上述各种实现方式中的两种或更多种方式的组合来实现。对于本领域技术人员来说,这些实施方式都是等价的。
<模拟器>
本发明的技术方案可以应用于模拟器。所述模拟器可以用于在Windows操作系统中模拟Android操作系统。
图2示出了根据本发明的一个实施例的模拟器的框图。如图2所示,模拟器2000包括纹理处理设备2010。纹理处理设备2010例如是根据本发明的用于纹理处理的设备。
此外,本领域技术人员公知的是,随着诸如大规模集成电路技术的电子信息技术的发展和软件硬件化的趋势,要明确划分计算机系统软、硬件界限已经显得比较困难了。因为,任何操作可以软件来实现,也可以由应当来实现。任何指令的执行可以由硬件完成,同样也可以由软件来完成。对于某一机器功能采用硬件实现方案还是软件实现方案,取决于价格、速度、可靠性、存储容量、变更周期等非技术性因素。因此,对于电子信息技术领域的普通技术人员来说,更为直接和清楚地描述一个技术方案的方式是描述该方案中的各个操作。在知道所要执行的操作的情况下,本领域技术人员可以基于对所述非技术性因素的考虑直接设计出期望的产品。从这个方面来说,在另一个实施例中,还提供了一种模拟器,用于在Windows操作系统中模拟Android操作系统,被设计成用于执行如下操作:获取以第一压缩纹理格式压缩的第一纹理数据;通过消息将第一纹理数据传递给纹理上传辅助线程;以及当纹理上传辅助线程对第一纹理数据进行处理期间,执行其他后续处理。
<电子设备>
可以在电子设备中实现本发明的技术方案。该电子设备运行Windows操作系统,并且该电子设备包括根据本发明的模拟器。
此外,图3示出了根据本发明的一个实施例的电子设备的示意性框图。图3中的电子设备3000例如是笔记本电脑、台式机等。
如图3所示,电子设备3000可以包括处理器3010、存储器3020、接口装置3030、通信装置3040、显示装置3050、输入装置3060、扬声器3070、麦克风3080,等等。
处理器3010例如可以是中央处理器CPU、微处理器MCU等。存储器3020例如包括ROM(只读存储器)、RAM(随机存取存储器)、诸如硬盘的非易失性存储器等。接口装置3030例如包括USB接口、耳机接口等。
通信装置3040例如能够进行有有线或无线通信。
显示装置3050例如是液晶显示屏、触摸显示屏等。输入装置3060例如可以包括触摸屏、键盘等。用户可以通过扬声器3070和麦克风3080输入/输出语音信息。
图3所示的电子设备仅是解释性的,并且决不是为了要限制本发明、其应用或用途。
在这个实施例中,所述存储器3020用于存储指令,所述指令用于控制所述处理器3010进行操作以执行图1所示的用于纹理处理的方法。本领域技术人员应当理解,尽管在图3中示出了多个装置,但是,本发明可以仅涉及其中的部分装置,例如,处理器3010和存储装置3020等。技术人员可以根据本发明所公开方案设计指令。指令如何控制处理器进行操作,这是本领域公知,故在此不再详细描述。
本发明可以是设备、方法和/或计算机程序产品。计算机程序产品可以包括计算机可读存储介质,其上载有用于使处理器实现本发明的各个方面的计算机可读程序指令。
计算机可读存储介质可以是可以保持和存储由指令执行设备使用的指令的有形设备。计算机可读存储介质例如可以是――但不限于――电存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备或者上述的任意合适的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、静态随机存取存储器(SRAM)、便携式压缩盘只读存储器(CD-ROM)、数字多功能盘(DVD)、记忆棒、软盘、机械编码设备、例如其上存储有指令的打孔卡或凹槽内凸起结构、以及上述的任意合适的组合。这里所使用的计算机可读存储介质不被解释为瞬时信号本身,诸如无线电波或者其他自由传播的电磁波、通过波导或其他传输媒介传播的电磁波(例如,通过光纤电缆的光脉冲)、或者通过电线传输的电信号。
这里所描述的计算机可读程序指令可以从计算机可读存储介质下载到各个计算/处理设备,或者通过网络、例如因特网、局域网、广域网和/或无线网下载到外部计算机或外部存储设备。网络可以包括铜传输电缆、光纤传输、无线传输、路由器、防火墙、交换机、网关计算机和/或边缘服务器。每个计算/处理设备中的网络适配卡或者网络接口从网络接收计算机可读程序指令,并转发该计算机可读程序指令,以供存储在各个计算/处理设备中的计算机可读存储介质中。
用于执行本发明操作的计算机程序指令可以是汇编指令、指令集架构(ISA)指令、机器指令、机器相关指令、微代码、固件指令、状态设置数据、或者以一种或多种编程语言的任意组合编写的源代码或目标代码,所述编程语言包括面向对象的编程语言—诸如Smalltalk、C++等,以及常规的过程式编程语言—诸如“C”语言或类似的编程语言。计算机可读程序指令可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络—包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。在一些实施例中,通过利用计算机可读程序指令的状态信息来个性化定制电子电路,例如可编程逻辑电路、现场可编程门阵列(FPGA)或可编程逻辑阵列(PLA),该电子电路可以执行计算机可读程序指令,从而实现本发明的各个方面。
这里参照根据本发明实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图描述了本发明的各个方面。应当理解,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,都可以由计算机可读程序指令实现。
这些计算机可读程序指令可以提供给通用计算机、专用计算机或其它可编程数据处理装置的处理器,从而生产出一种机器,使得这些指令在通过计算机或其它可编程数据处理装置的处理器执行时,产生了实现流程图和/或框图中的一个或多个方框中规定的功能/动作的装置。也可以把这些计算机可读程序指令存储在计算机可读存储介质中,这些指令使得计算机、可编程数据处理装置和/或其他设备以特定方式工作,从而,存储有指令的计算机可读介质则包括一个制造品,其包括实现流程图和/或框图中的一个或多个方框中规定的功能/动作的各个方面的指令。
也可以把计算机可读程序指令加载到计算机、其它可编程数据处理装置、或其它设备上,使得在计算机、其它可编程数据处理装置或其它设备上执行一系列操作步骤,以产生计算机实现的过程,从而使得在计算机、其它可编程数据处理装置、或其它设备上执行的指令实现流程图和/或框图中的一个或多个方框中规定的功能/动作。
附图中的流程图和框图显示了根据本发明的多个实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或指令的一部分,所述模块、程序段或指令的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。对于本领域技术人员来说公知的是,通过硬件方式实现、通过软件方式实现以及通过软件和硬件结合的方式实现都是等价的。
以上已经描述了本发明的各实施例,上述说明是示例性的,并非穷尽性的,并且也不限于所披露的各实施例。在不偏离所说明的各实施例的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。本文中所用术语的选择,旨在最好地解释各实施例的原理、实际应用或对市场中的技术的技术改进,或者使本技术领域的其它普通技术人员能理解本文披露的各实施例。本发明的范围由所附权利要求来限定。
Claims (14)
1.一种用于纹理处理的方法,包括:
获取以第一压缩纹理格式压缩的第一纹理数据;
通过消息将第一纹理数据传递给纹理上传辅助线程;以及
在纹理上传辅助线程对第一纹理数据进行处理期间,执行其他后续处理。
2.根据权利要求1所述的方法,还包括:
在纹理上传辅助线程中,将第一纹理数据解码成RGB纹理数据;
将RGB纹理数据编码成以第二压缩纹理格式压缩的第二纹理数据;以及
将第二纹理数据上传以用于显示。
3.根据权利要求2所述的方法,其中,第一压缩纹理格式是ETC1格式,以及第二压缩纹理格式是s3tc格式。
4.根据权利要求1所述的方法,其中,通过消息将第一纹理数据传递给纹理上传辅助线程包括:
初始化消息队列和纹理上传辅助线程;
将所述消息放置到消息队列;
纹理上传辅助线程从消息队列中获取所述消息。
5.根据权利要求1所述的方法,其中,所述消息还包括OpenGL上下文、纹理的长度和宽度和OpenGL纹理对象的句柄中的至少一个。
6.一种用于纹理处理的设备,包括:
用于获取以第一压缩纹理格式压缩的第一纹理数据的装置;
用于通过消息将第一纹理数据传递给纹理上传辅助线程的装置;以及
用于在纹理上传辅助线程对第一纹理数据进行处理期间执行其他后续处理的装置。
7.根据权利要求6所述的设备,还包括:
用于在纹理上传辅助线程中将第一纹理数据解码成RGB纹理数据的装置;
用于将RGB纹理数据编码成以第二压缩纹理格式压缩的第二纹理数据的装置;以及
用于将第二纹理数据上传以用于显示的装置。
8.根据权利要求7所述的设备,其中,第一压缩纹理格式是ETC1格式,以及第二压缩纹理格式是s3tc格式。
9.根据权利要求6所述的设备,其中,用于通过消息将第一纹理数据传递给纹理上传辅助线程的装置包括:
用于初始化消息队列和纹理上传辅助线程的装置;
用于将所述消息放置到消息队列的装置;
用于纹理上传辅助线程从消息队列中获取所述消息的装置。
10.根据权利要求6所述的设备,其中,所述消息还包括OpenGL上下文、纹理的长度和宽度和OpenGL纹理对象的句柄中的至少一个。
11.一种模拟器,用于在Windows操作系统中模拟Android操作系统,包括根据权利要求6所述的用于纹理处理的设备。
12.一种模拟器,用于在Windows操作系统中模拟Android操作系统,被设计成用于执行如下操作:
获取以第一压缩纹理格式压缩的第一纹理数据;
通过消息将第一纹理数据传递给纹理上传辅助线程;以及
当纹理上传辅助线程对第一纹理数据进行处理期间,执行其他后续处理。
13.一种电子设备,该电子设备运行Windows操作系统,它包括根据权利要求11或12所述的模拟器。
14.一种电子设备,包括存储器和处理器,其中,所述存储器用于存储指令,所述指令用于控制所述处理器进行操作以执行根据权利要求1所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610148146.XA CN105761200A (zh) | 2016-03-15 | 2016-03-15 | 用于纹理处理的方法、设备、模拟器和电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610148146.XA CN105761200A (zh) | 2016-03-15 | 2016-03-15 | 用于纹理处理的方法、设备、模拟器和电子设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN105761200A true CN105761200A (zh) | 2016-07-13 |
Family
ID=56333241
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610148146.XA Pending CN105761200A (zh) | 2016-03-15 | 2016-03-15 | 用于纹理处理的方法、设备、模拟器和电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105761200A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108268226A (zh) * | 2016-12-30 | 2018-07-10 | 乐视汽车(北京)有限公司 | 同步终端屏幕的画面至车机的方法、终端及系统 |
US20190087212A1 (en) * | 2016-08-10 | 2019-03-21 | Beijing Qihoo Technology Company Limited | Android simulator and method for implementing android simulator |
CN113079408A (zh) * | 2019-12-17 | 2021-07-06 | 北京嗨动视觉科技有限公司 | 视频播放方法、装置和系统 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101236485A (zh) * | 2008-01-28 | 2008-08-06 | 国电信息中心 | 一种多屏3d同步显示的方法、装置及系统 |
CN101375313A (zh) * | 2006-01-24 | 2009-02-25 | 诺基亚公司 | 用于计算机图形的图像压缩 |
CN102368329A (zh) * | 2011-10-24 | 2012-03-07 | 龙芯中科技术有限公司 | 图形系统中纹理图像透明度通道处理系统与装置和方法 |
CN102682465A (zh) * | 2011-02-14 | 2012-09-19 | 宏达国际电子股份有限公司 | 3d格式转换系统和方法 |
CN102799456A (zh) * | 2012-07-24 | 2012-11-28 | 上海晨思电子科技有限公司 | 一种游戏引擎加载资源文件的方法、装置和计算机 |
US20130215129A1 (en) * | 2000-07-31 | 2013-08-22 | Phillip C. Keslin | System, Method, and Computer Program Product for Remote Graphics Processing |
CN103309690A (zh) * | 2012-03-12 | 2013-09-18 | 联想(北京)有限公司 | 处理数据的方法和电子设备 |
US20140050414A1 (en) * | 2011-04-29 | 2014-02-20 | Telefonaktiebolaget L M Ericsson (Publ) | Encoder, Decoder and Methods Thereof for Texture Compression |
-
2016
- 2016-03-15 CN CN201610148146.XA patent/CN105761200A/zh active Pending
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20130215129A1 (en) * | 2000-07-31 | 2013-08-22 | Phillip C. Keslin | System, Method, and Computer Program Product for Remote Graphics Processing |
CN101375313A (zh) * | 2006-01-24 | 2009-02-25 | 诺基亚公司 | 用于计算机图形的图像压缩 |
CN101236485A (zh) * | 2008-01-28 | 2008-08-06 | 国电信息中心 | 一种多屏3d同步显示的方法、装置及系统 |
CN102682465A (zh) * | 2011-02-14 | 2012-09-19 | 宏达国际电子股份有限公司 | 3d格式转换系统和方法 |
US20140050414A1 (en) * | 2011-04-29 | 2014-02-20 | Telefonaktiebolaget L M Ericsson (Publ) | Encoder, Decoder and Methods Thereof for Texture Compression |
CN102368329A (zh) * | 2011-10-24 | 2012-03-07 | 龙芯中科技术有限公司 | 图形系统中纹理图像透明度通道处理系统与装置和方法 |
CN103309690A (zh) * | 2012-03-12 | 2013-09-18 | 联想(北京)有限公司 | 处理数据的方法和电子设备 |
CN102799456A (zh) * | 2012-07-24 | 2012-11-28 | 上海晨思电子科技有限公司 | 一种游戏引擎加载资源文件的方法、装置和计算机 |
Non-Patent Citations (2)
Title |
---|
岳洋: "用电脑玩手机APP海马玩模拟器测评", 《计算机与网络》 * |
柳佳佳,等: "基于OpenGL的二维矢量地图可视化技术研究", 《测绘科学》 * |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20190087212A1 (en) * | 2016-08-10 | 2019-03-21 | Beijing Qihoo Technology Company Limited | Android simulator and method for implementing android simulator |
CN108268226A (zh) * | 2016-12-30 | 2018-07-10 | 乐视汽车(北京)有限公司 | 同步终端屏幕的画面至车机的方法、终端及系统 |
CN113079408A (zh) * | 2019-12-17 | 2021-07-06 | 北京嗨动视觉科技有限公司 | 视频播放方法、装置和系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11900233B2 (en) | Method and system for interactive imitation learning in video games | |
US11308671B2 (en) | Method and apparatus for controlling mouth shape changes of three-dimensional virtual portrait | |
US20190005013A1 (en) | Conversation system-building method and apparatus based on artificial intelligence, device and computer-readable storage medium | |
JP2022521614A (ja) | 画像処理方法及び装置、電子デバイス並びに記憶媒体 | |
CN106982249A (zh) | 多线程分段下载方法、设备、客户端设备及电子设备 | |
CN107168780A (zh) | 虚拟现实场景的加载方法、设备及虚拟现实设备 | |
CN105681974A (zh) | 多音源切换方法、装置及音频设备 | |
CN107908447A (zh) | 应用切换方法、设备及虚拟现实设备 | |
CN106530096A (zh) | 表情符号处理方法、设备及电子设备 | |
CN106598246A (zh) | 基于虚拟现实的互动控制方法及装置 | |
CN105761200A (zh) | 用于纹理处理的方法、设备、模拟器和电子设备 | |
CN113190314A (zh) | 互动内容生成方法、装置、存储介质及电子设备 | |
CN108846886A (zh) | 一种ar表情的生成方法、客户端、终端和存储介质 | |
CN105760066A (zh) | 一种页面更新方法及装置 | |
CN107203425A (zh) | 轻应用的切换方法、设备及电子设备 | |
CN109327698A (zh) | 动态预览图的生成方法、系统、介质和电子设备 | |
CN107291340A (zh) | 实现界面效果的方法、计算设备及存储介质 | |
CN107959845A (zh) | 图像数据传输的方法、装置、客户端装置及头戴显示设备 | |
CN114339069A (zh) | 视频处理方法、装置、电子设备及计算机存储介质 | |
CN109445573A (zh) | 一种用于虚拟化身形象互动的方法与装置 | |
CN105955686A (zh) | 一种安卓设备的分辨率切换方法及安卓设备 | |
CN111506841B (zh) | 网页展示方法、装置、设备及可读存储介质 | |
CN109091866B (zh) | 显示控制方法、装置、计算机可读介质及电子设备 | |
CN107093209A (zh) | 图像处理方法、设备及虚拟现实设备 | |
CN105787987A (zh) | 一种纹理处理方法及电子设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into 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: 20160713 |