CN107223264A - 一种渲染方法及装置 - Google Patents

一种渲染方法及装置 Download PDF

Info

Publication number
CN107223264A
CN107223264A CN201680006926.9A CN201680006926A CN107223264A CN 107223264 A CN107223264 A CN 107223264A CN 201680006926 A CN201680006926 A CN 201680006926A CN 107223264 A CN107223264 A CN 107223264A
Authority
CN
China
Prior art keywords
user
rendering
thread
task data
data
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.)
Granted
Application number
CN201680006926.9A
Other languages
English (en)
Other versions
CN107223264B (zh
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.)
Cloudminds Robotics Co Ltd
Original Assignee
Cloudminds Inc
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 Cloudminds Inc filed Critical Cloudminds Inc
Publication of CN107223264A publication Critical patent/CN107223264A/zh
Application granted granted Critical
Publication of CN107223264B publication Critical patent/CN107223264B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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
    • 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

Landscapes

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

Abstract

本申请的实施例公开一种渲染方法及装置,涉及图像处理技术领域,能够降低CPU负载率,提高GPU与CPU间的带宽利用率。该方法包括在用户对应的用户线程中,配置所述用户提交的渲染任务数据的渲染过程状态;将至少一个在用户线程中为所述渲染任务数据配置的渲染过程状态后的缓存数据发送至渲染主线程;通过所述渲染主线程将所述缓存数据发送至图形处理器GPU进行图形渲染。本申请的实施例用于图形渲染。

Description

一种渲染方法及装置
技术领域
本申请的实施例涉及图像处理技术领域,尤其涉及一种渲染方法及装置。
背景技术
在三维图形处理领域,通常对图形的处理需要经过复杂的渲染计算过程。一般来说,渲染分实时渲染和非实时渲染,实时渲染需要在I秒内产出若干张图片,主要用于三维游戏、三维模型动态实时展示;非实时渲染一般耗时较长,旨在产出物理真实的效果图,主要用于影视动漫、广告策划、室内设计、工业设计等领域。
一般在进行实时渲染过程中,数据先由CPU(Central Processing Unit,中央处理器)处理再传输到GPU(Graphics Processing Unit,图形处理器)处理,最后生成最终的已渲染的画面。如图1所示,在CPU中,渲染子系统开启主线程、并创建针对三个用户的用户线程(用户线程1、用户线程2、用户线程3),对于每个用户通过各自提交的渲染任务数据,均需要通过主线程设置渲染过程状态后再传输到GPU处理。为提高实时渲染的速度,当数据传输延时可以忽略时,一种方案是可以将数据传输至后台的云端服务器进行实时渲染的相关计算。如图1所示,现阶段三维图形渲染在进行渲染之前,需要通过CPU设定对于当前场景的渲染过程状态,在渲染过程状态设置中一般需要设定各种参数,在云端服务器上进行实时渲染时,虽然CPU的运算能力强于普通PC(personal computer,个人电脑),但是在基于C/S(Client/Server,客户机和服务器)架构的云端服务器上实现时,每时每刻都有成千上万的用户终端接入,当用户终端接入增多时,对于每一个用户,均存在渲染过程状态的设定,而现有技术中渲染过程状态的设定都被图形API限制于一个线程/进程之中,受限于主线程缓存FIFO(First-In First-Out,先入先出)的处理方式,如图2所示,每一个用户的图像帧的渲染过程可能需要在主线程中依次处理;而针对每一个用户的一个渲染过程均需包含如图3所示的一个渲染过程状态设置流程:绑定顶点(通常为通过bindvertex函数申请内存)>设置视图(通常为通过setviewport函数实现)>绑定渲染管道(通常通过bindpipeline函数实现)>绘制(通常为通过Draw函数实现),最终按照上述的设置对用户提交的一个图像帧进行绘制。而上述过程中bindvertex、以及bindpipelin通常是通过在一个OpenGL Contex(OpenGraphics Library Contex,开放图形库上下文中进行修改),而现有渲染API(ApplicationProgramming Interface,应用程序编程接口)限制只能在主线程的一个OpenGL Contex对每个用户的渲染过程状态进行修改,因此渲染过程状态设定操作所花费的计算时间就不能被简单的忽略了,而CPU多核多进程根本对此不能起到作用。
这样,当接入的用户终端量上升时,渲染任务量增大,云端服务器单个CPU负载率过高,其他CPU无法分担渲染工作,同时由于CPU端处理延迟增大,造成GPU与CPU间的带宽并不能有效利用,GPU并不能发挥最大效用。
发明内容
本申请的实施例提供一种渲染方法及装置,能够降低CPU负载率,提高GPU与CPU间的带宽利用率。
第一方面、一种渲染方法,包括:
在用户对应的用户线程中,配置所述用户提交的渲染任务数据的渲染过程状态;
将至少一个在用户线程中为所述渲染任务数据配置渲染过程状态后的缓存数据发送至渲染主线程;
通过所述渲染主线程将所述缓存数据发送至图形处理器GPU进行图形渲染。
第二方面,提供一种渲染装置,包括:
配置单元,用于在用户对应的用户线程中,配置所述用户提交的渲染任务数据的渲染过程状态;
转发单元,用于将所述配置单元通过至少一个在用户线程中为所述渲染任务数据配置渲染过程状态后缓存数据发送至渲染主线程;
发送单元,用于通过所述渲染主线程将所述缓存数据发送至图形处理器进行图形渲染。
第三方面,提供电子设备,包括:存储器、通信接口和处理器,所述存储器用于存储计算机执行代码,所述处理器用于执行所述计算机执行代码控制执行上述的渲染方法,所述通信接口用于所述渲染装置与外部设备的数据传输。
第四方面,提供一种计算机存储介质,用于储存为渲染装置所用的计算机软件指令,其包含执行上述的渲染方法所设计的程序代码。
第五方面,一种计算机程序,可直接加载到计算机的内部存储器中,并含有软件代码,所述计算机程序经由计算机载入并执行后能够实现上述述渲染方法。
在上述方案中,渲染装置可以在用户对应的用户线程中,配置所述用户提交的渲染任务数据的渲染过程状态;将至少一个在用户线程中为所述渲染任务数据配置渲染过程状态后的缓存数据发送至渲染主线程;通过所述渲染主线程将所述缓存数据发送至图形处理器GPU进行图形渲染,由于渲染装置能够在用户对应的用户线程中为用户提交的渲染任务数据配置渲染过程状态,之后将配置渲染过程状态后的缓存数据发送至渲染主线程处理,相比于现有技术避免了由一个线程配置所有用户对应的渲染过程状态,这样很好地发挥了CPU多核多进程的优势,由于在各自的用户线程配置了用户提交的渲染任务数据的渲染过程状态,这样主线程只需要将渲染过程状态对应的缓存数据并行发送给GPU,因此能够降低CPU负载率,提高GPU与CPU间的带宽利用率。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为现有技术提供的实施例提供的一种渲染方法的逻辑结构图;
图2为现有技术提供的实施例提供的一种主线程中用户的图像帧处理顺序逻辑图;
图3为现有技术提供的实施例提供的一种主线程中渲染状态配置过程示意图;
图4为本申请的实施例提供的一种渲染方法的流程图;
图5为本申请的实施例提供的一种主线程中渲染状态配置过程示意图;
图6为本申请实施例提供的一种渲染方法的逻辑结构图;
图7为本申请的实施例提供的一种渲染装置的结构图;
图8A为本申请的另一实施例提供的一种渲染装置的结构图;
图8B为本申请的又一实施例提供的一种渲染装置的结构图。
具体实施方式
本申请实施例描述的系统架构以及业务场景是为了更加清楚的说明本申请实施例的技术方案,并不构成对于本申请实施例提供的技术方案的限定,本领域普通技术人员可知,随着系统架构的演变和新业务场景的出现,本申请实施例提供的技术方案对于类似的技术问题,
同样适用。
需要说明的是,本申请实施例中,“示例性的”或者“例如”等词用于表示作例子、例证或说明。本申请实施例中被描述为“示例性的”或者“例如”的任何实施例或设计方案不应被解释为比其它实施例或设计方案更优选或更具优势。确切而言,使用“示例性的”或者“例如”等词旨在以具体方式呈现相关概念。
需要说明的是,本申请实施例中,“的(英文:of)”,“相应的(英文:corresponding,relevant)”和“对应的(英文:corresponding)”有时可以混用,应当指出的是,在不强调其区别时,其所要表达的含义是一致的。
本申请的实施例提供的用户终端可以为个人计算机((英文全称:personalcomputer,缩写:PC)、上网本、个人数字助理(英文:Personal Digital Assistant,简称:PDA)等,或者上述用户终端可以为安装有可执行本申请实施例提供的方法的软件客户端或软件系统或软件应用的PC等,具体的硬件实现环境可以通用计算机形式,或者是ASIC的方式,也可以是FPGA,或者是一些可编程的扩展平台例如Tensilica的Xtensa平台等等。本申请的实施例提供的服务器包括本地域名服务器、本地代理服务器,网络服务器,本申请的实施例提供服务器用于响应服务请求提供计算服务。基本构成包括处理器、硬盘、内存、系统总线等,和通用的计算机架构类似。
本申请的基本原理为将渲染过程状态的设置过程从主线程剥离至每个用户对应的用户线程,很好地发挥了CPU多核多进程的优势,由于在各自的用户线程配置了用户提交的渲染任务数据的渲染过程状态,这样主线程只需要渲染过程状态的缓存数据初始化为GPU能够处理的数据降低CPU负载率,提高GPU与CPU间的带宽利用率。
本申请的实施例提供的渲染方法可以应用于用户终端,也可以应用于基于C/S架构的云端服务器。
参照图4所示,本申请的实施例提供一种渲染方法,包括如下步骤:
101、在用户对应的用户线程中,配置所述用户提交的渲染任务数据的渲染过程状态。
在步骤101之前首选需要通过为每个用户创建一个用户线程。其中渲染任务数据至少包括如下状态参数:场景、场景中的元素、用户姿态;例如对于游戏场景,包含的元素有人、动物、植物、建筑、交通工具、武器等;元素的姿态可以为人或动物的姿态。步骤101具体为根据所述状态参数在用户对应的用户线程中,配置所述用户提交的渲染任务的渲染过程状态。示例性的,渲染过程状态通常设置为渲染任务数据的Context(上下文),Context包括当前渲染管线中的所有状态,如绑定的Shader(着色器),Render Target(渲染目标)等。在OpenGL(Open Graphics Library,开放图形库)中Context和单一线程是绑定的,所以所有需要作用于Context的操作,例如改变渲染过程状态:绑定Shader,调用Draw Call(绘制调用),都只能在单一线程上进行。具体的,参照图5所示,步骤101包括如下步骤:
S1、在用户线程通过绑定顶点操作为用户提交的渲染任务数据申请内存。
S2、在用户线程为渲染任务数据设置视图。
S3、在用户线程为渲染任务数据绑定渲染管道。
其中步骤S1中绑定顶点操作通常通过bindvertex函数实现,在S2中设置视图操作通常通过setviewport函数实现,在步骤S3中绑定渲染管道通常通过bindpipeline函数实现。此外为了避免每一个用户渲染过程状态不停改变带来额外开销的影响,该方案还包括步骤S4在用户线程为渲染任务数据绑定描述符,其中描述符用于指示绑定渲染管道使用的资源。其中绑定描述符操作通过binddescriptor函数实现。由于descriptor描述bindpipeline阶段所需要的资源,当真正需要改变bindpipeline阶段的参数时只需要从资源相应的位置读入即可。
102、将至少一个在用户线程中为渲染任务数据配置渲染过程状态后的缓存数据发送至渲染主线程。
其中在步骤102中,当包含多个用户线程是,各个用户线程将各自配置的渲染过程状态对应的缓存数据(buffer)并行的发送给渲染主线程,其中,为了步骤102之后还包括:通过所述渲染主线程为所述至少一个用户线程对应的缓存数据建立缓存队列,这样在步骤103中渲染主线程直接将缓存队列里的缓存数据并行发送至GPU。
103、通过渲染主线程将缓存数据发送至图形处理器GPU进行渲染。
具体的参照图6所示,基于Vulkan架构(一个跨平台的2D和3D绘图应用程序接口API),对本申请的实施例说明如下:渲染子系统运行一个渲染主线程,并通过创建三个用户线程,用户一线程、用户二线程以及用户三线程,每个用户线程针对各自用户提交的渲染任务数据设置渲染过程状态(render process state),该过程参照上述步骤101的描述不再赘述;之后各个用户配置渲染过程状态后的缓存数据并行发送至渲染主线程,这里缓存数据存储在缓存区域(通常为:commend buffer),在渲染主线程维护一个缓存区域队列(例如commend buffer queue)存储缓存数据,由于各个用户线程将各个用户渲染过程状态对应的缓存数据并行发送至渲染主线程的任务递交时间是不能忽略的。因此,这里通常在渲染主线程中设置init fence(初始化栅栏),当各个用户线程将各个用户渲染过程状态对应的缓存数据并行发送至渲染主线程全部完成后,通过触发fence释放,由渲染主线程将缓存区域队列中的数据递交至GPU。
在上述方案中,可以在用户对应的用户线程中,配置所述用户提交的渲染任务数据的渲染过程状态;将至少一个在用户线程中所述渲染任务数据配置渲染过程状态后的缓存数据发送至渲染主线程;通过所述渲染主线程将所述缓存数据发送至图形处理器GPU进行图形渲染,由于能够在用户对应的用户线程中为用户提交的渲染任务数据配置渲染过程状态,之后将配置渲染过程状态后的缓存数据发送至渲染主线程处理,相比于现有技术避免了由一个线程配置所有用户对应的渲染过程状态,这样很好地发挥了CPU多核多进程的优势,由于在各自的用户线程配置了用户提交的渲染任务数据的渲染过程状态,这样主线程只需要将渲染过程状态对应的缓存数据并行发送给GPU,因此能够降低CPU负载率,提高GPU与CPU间的带宽利用率。
可以理解的是,通过其包含的硬件结构和/或软件模块实现上述实施例提供的功能。本领域技术人员应该很容易意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,本申请能够以硬件或硬件和计算机软件的结合形式来实现。某个功能究竟以硬件还是计算机软件驱动硬件的方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
本申请实施例可以根据上述方法示例对渲染装置进行功能模块的划分,例如,可以对应各个功能划分各个功能模块,也可以将两个或两个以上的功能集成在一个处理模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。需要说明的是,本申请实施例中对模块的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
在采用对应各个功能划分各个功能模块的情况下,图7示出了上述实施例中所涉及的渲染装置的一种可能的结构示意图,渲染装置包括:配置单元71、转发单元72和发送单元73。配置单元71,用于在用户对应的用户线程中,配置所述用户提交的渲染任务数据的渲染过程状态;转发单元72,用于将所述配置单元71通过至少一个在用户线程中为所述渲染任务数据配置渲染过程状态后缓存数据发送至渲染主线程;发送单元73用于通过所述渲染主线程将所述缓存数据发送至图形处理器进行图形渲染。可选的,还包括缓存单元74,用于通过所述渲染主线程为所述至少一个用户线程对应的所述缓存数据建立缓存队列;所述发送单元73具体用于将所述缓存数据建立缓存队列发送至图形处理器GPU进行图形渲染。其中,所述配置单元71具体用于在所述用户线程通过绑定顶点操作为用户提交的渲染任务数据申请内存;在所述用户线程为所述渲染任务数据设置视图;在所述用户线程为所述渲染任务数据绑定渲染管道。所述配置单元71还用于在所述用户线程为所述渲染任务数据绑定描述符,其中所述描述符用于指示绑定渲染管道使用的资源。可选的,渲染任务数据至少包括如下状态参数:场景、场景中的元素、元素的姿态;配置单元71具体用于根据所述状态参数在用户对应的用户线程中,配置所述用户提交的渲染任务数据的渲染过程状态。可选的还包括:线程控制单元75,用于为每一个用户创建一个用户线程。其中,上述方法实施例涉及的各步骤的所有相关内容均可以援引到对应功能模块的功能描述,在此不再赘述。
图8A示出了本申请一个实施例中所涉及的电子设备的一种可能的结构示意图。电子设备包括:通信模块81和处理模块82。处理模块82用于对渲染动作进行控制管理,例如,处理模块82用于支持渲染装置执行配置单元71、转发单元72以及线程控制单元75执行的方法。通信模块81用于支持渲染装置与其他设备的数据传输,实施发送单元73执行的方法。电子设备还可以包括存储模块83,用于存储辅助显示装置的程序代码和数据,例如执行缓存单元74执行的方法。
其中,处理模块82可以是处理器或控制器,例如可以是中央处理器(CentralProcessing Unit,CPU),通用处理器,数字信号处理器(Digital Signal Processor,DSP),专用集成电路(Application-Specific Integrated Circuit,ASIC),现场可编程门阵列(Field Programmable Gate Array,FPGA)或者其他可编程逻辑器件、晶体管逻辑器件、硬件部件或者其任意组合。其可以实现或执行结合本申请公开内容所描述的各种示例性的逻辑方框,模块和电路。所述处理器也可以是实现计算功能的组合,例如包含一个或多个微处理器组合,DSP和微处理器的组合等等。通信模块81可以是收发器、收发电路或通信接口等。存储模块可以是存储器。
当处理模块82为处理器,通信模块81为通信接口,存储模块83为存储器时,本申请实施例所涉及的电子设备可以为图8B所示的电子设备。
参阅图8B所示,该电子设备包括:处理器91、通信接口92、存储器93以及总线94。其中,通信接口92以及存储器93通过总线94耦接处理器91;总线94可以是外设部件互连标准(Peripheral Component Interconnect,PCI)总线或扩展工业标准结构(ExtendedIndustry Standard Architecture,EISA)总线等。所述总线可以分为地址总线、数据总线、控制总线等。为便于表示,图8B中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
结合本申请公开内容所描述的方法或者算法的步骤可以硬件的方式来实现,也可以是由处理器执行软件指令的方式来实现。软件指令可以由相应的软件模块组成,软件模块可以被存放于随机存取存储器(Random Access Memory,RAM)、闪存、只读存储器(ReadOnly Memory,ROM)、可擦除可编程只读存储器(Erasable Programmable ROM,EPROM)、电可擦可编程只读存储器(Electrically EPROM,EEPROM)、寄存器、硬盘、移动硬盘、只读光盘(CD-ROM)或者本领域熟知的任何其它形式的存储介质中。一种示例性的存储介质耦合至处理器,从而使处理器能够从该存储介质读取信息,且可向该存储介质写入信息。当然,存储介质也可以是处理器的组成部分。处理器和存储介质可以位于ASIC中。另外,该ASIC可以位于核心网接口设备中。当然,处理器和存储介质也可以作为分立组件存在于核心网接口设备中。
本领域技术人员应该可以意识到,在上述一个或多个示例中,本申请所描述的功能可以用硬件、软件、固件或它们的任意组合来实现。当使用软件实现时,可以将这些功能存储在计算机可读介质中或者作为计算机可读介质上的一个或多个指令或代码进行传输。计算机可读介质包括计算机存储介质和通信介质,其中通信介质包括便于从一个地方向另一个地方传送计算机程序的任何介质。存储介质可以是通用或专用计算机能够存取的任何可用介质。
以上所述的具体实施方式,对本申请的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本申请的具体实施方式而已,并不用于限定本申请的保护范围,凡在本申请的技术方案的基础之上,所做的任何修改、等同替换、改进等,均应包括在本申请的保护范围之内。

Claims (15)

1.一种渲染方法,其特征在于,包括:
在用户对应的用户线程中,配置该用户提交的渲染任务数据的渲染过程状态;
将至少一个在用户线程中为所述渲染任务数据配置渲染过程状态后的缓存数据发送至渲染主线程;
通过所述渲染主线程将所述缓存数据发送至图形处理器GPU进行图形渲染。
2.根据权利要求1所述的渲染方法,其特征在于,所述方法还包括:
通过所述渲染主线程为所述至少一个用户线程对应的所述缓存数据建立缓存队列;
所述通过所述渲染主线程将所述缓存数据发送至图形处理器GPU进行图形渲染,包括:
将所述缓存数据建立缓存队列发送至图形处理器GPU进行图形渲染。
3.根据权利要求1所述的渲染方法,其特征在于,所述在用户对应的用户线程中,配置所述用户提交的渲染任务数据的渲染过程状态,包括:
在所述用户线程通过绑定顶点操作为用户提交的渲染任务数据申请内存;
在所述用户线程为所述渲染任务数据设置视图;
在所述用户线程为所述渲染任务数据绑定渲染管道。
4.根据权利要求3所述的渲染方法,其特征在于,所述方法还包括:
在所述用户线程为所述渲染任务数据绑定描述符,其中所述描述符用于指示绑定渲染管道使用的资源。
5.根据权利要求1所述的渲染方法,其特征在于,
所述渲染任务数据至少包括如下状态参数:场景、场景中的元素、元素的姿态;
所述在用户对应的用户线程中,配置所述用户提交的渲染任务数据的渲染过程状态,包括:根据所述状态参数在用户对应的用户线程中,配置所述用户提交的渲染任务数据的渲染过程状态。
6.根据权利要求1所述的渲染方法,其特征在于,所述方法还包括:为每一个用户创建一个用户线程。
7.一种渲染装置,其特征在于,包括:
配置单元,用于在用户对应的用户线程中,配置所述用户提交的渲染任务数据的渲染过程状态;
转发单元,用于将所述配置单元通过至少一个在用户线程中为所述渲染任务数据配置渲染过程状态后缓存数据发送至渲染主线程;
发送单元,用于通过所述渲染主线程将所述缓存数据发送至图形处理器进行图形渲染。
8.根据权利要求7所述的渲染装置,其特征在于,还包括:
缓存单元,用于通过所述渲染主线程为所述至少一个用户线程对应的所述缓存数据建立缓存队列;
所述发送单元具体用于将所述缓存数据建立缓存队列发送至图形处理器GPU进行图形渲染。
9.根据权利要求7所述的渲染装置,其特征在于,所述配置单元具体用于在所述用户线程通过绑定顶点操作为用户提交的渲染任务数据申请内存;在所述用户线程为所述渲染任务数据设置视图;在所述用户线程为所述渲染任务数据绑定渲染管道。
10.根据权利要求9所述的渲染装置,其特征在于,所述配置单元还用于在所述用户线程为所述渲染任务数据绑定描述符,其中所述描述符用于指示绑定渲染管道使用的资源。
11.根据权利要求7所述的渲染装置,其特征在于,
所述渲染任务数据至少包括如下状态参数:场景、场景中的元素、元素的姿态;
所述配置单元具体用于根据所述状态参数在用户对应的用户线程中,配置所述用户提交的渲染任务数据的渲染过程状态。
12.根据权利要求7所述的渲染装置,其特征在于,还包括:线程控制单元,用于为每一个用户创建一个用户线程。
13.一种电子设备,其特征在于,包括:存储器、通信接口和处理器,所述存储器和所述通信接口耦合至所述处理器,所述存储器用于存储计算机执行代码,所述处理器用于执行所述计算机执行代码控制执行权利要求1至6任一项所述的渲染方法,所述通信接口用于所述渲染装置与外部设备的数据传输。
14.一种计算机存储介质,其特征在于,用于储存为渲染装置所用的计算机软件指令,其包含执行权利要求1~6任一项所述的渲染方法所设计的程序代码。
15.一种计算机程序产品,其特征在于,可直接加载到计算机的内部存储器中,并含有软件代码,所述计算机程序经由计算机载入并执行后能够实现权利要求1~6任一项所述渲染方法。
CN201680006926.9A 2016-12-26 2016-12-26 一种渲染方法及装置 Active CN107223264B (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2016/112185 WO2018119602A1 (zh) 2016-12-26 2016-12-26 一种渲染方法及装置

Publications (2)

Publication Number Publication Date
CN107223264A true CN107223264A (zh) 2017-09-29
CN107223264B CN107223264B (zh) 2022-07-08

Family

ID=59928219

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201680006926.9A Active CN107223264B (zh) 2016-12-26 2016-12-26 一种渲染方法及装置

Country Status (2)

Country Link
CN (1) CN107223264B (zh)
WO (1) WO2018119602A1 (zh)

Cited By (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108509240A (zh) * 2018-03-09 2018-09-07 广东欧珀移动通信有限公司 图片绘制方法及相关产品
CN108898644A (zh) * 2018-06-22 2018-11-27 北京佳格天地科技有限公司 一种栅格数据动态渲染方法、系统和存储介质
CN110377258A (zh) * 2019-07-17 2019-10-25 Oppo广东移动通信有限公司 图像渲染方法、装置、电子设备及存储介质
CN110555900A (zh) * 2019-09-05 2019-12-10 网易(杭州)网络有限公司 渲染指令的处理方法及装置、存储介质、电子设备
CN110751592A (zh) * 2019-08-21 2020-02-04 北京达佳互联信息技术有限公司 图形资源转换方法、装置、电子设备及存储介质
CN111210381A (zh) * 2019-12-31 2020-05-29 广州市百果园信息技术有限公司 数据处理方法、装置、终端设备和计算机可读介质
WO2020156264A1 (zh) * 2019-01-30 2020-08-06 华为技术有限公司 渲染方法及装置
WO2020192608A1 (zh) * 2019-03-26 2020-10-01 华为技术有限公司 图形渲染方法、装置和计算机可读存储介质
CN111739136A (zh) * 2019-06-14 2020-10-02 腾讯科技(深圳)有限公司 渲染方法、计算机设备和存储介质
CN113838180A (zh) * 2020-06-24 2021-12-24 华为技术有限公司 一种渲染指令处理方法及其相关设备
WO2022095808A1 (zh) * 2020-11-06 2022-05-12 华为技术有限公司 基于Vulkan实现图形渲染的方法及相关装置
WO2022100132A1 (zh) * 2020-11-13 2022-05-19 华为技术有限公司 一种数据处理方法、装置和电子设备
CN117369936A (zh) * 2023-12-04 2024-01-09 武汉凌久微电子有限公司 一种显示内容渲染方法及渲染系统
CN112346890B (zh) * 2020-11-13 2024-03-29 武汉蓝星科技股份有限公司 一种复杂图形离屏渲染方法及系统

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109064538B (zh) * 2018-08-01 2023-05-12 Oppo广东移动通信有限公司 视图渲染方法、装置、存储介质及智能终端
CN111696186B (zh) * 2019-02-27 2023-09-26 杭州海康威视系统技术有限公司 界面渲染方法及装置
CN110659094A (zh) * 2019-09-11 2020-01-07 北京达佳互联信息技术有限公司 一种对象渲染及其控制方法、装置、设备及介质
CN113730922B (zh) * 2021-09-03 2024-06-04 网易(杭州)网络有限公司 图形渲染方法、装置、电子设备及存储介质
CN116661939A (zh) * 2023-07-31 2023-08-29 北京趋动智能科技有限公司 页面渲染方法、装置、存储介质及电子设备

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1758286A (zh) * 2005-11-16 2006-04-12 华中科技大学 基于图像的三维远程可视化方法
US20070091097A1 (en) * 2005-10-18 2007-04-26 Via Technologies, Inc. Method and system for synchronizing parallel engines in a graphics processing unit
CN101563712A (zh) * 2006-12-22 2009-10-21 高通股份有限公司 快速像素渲染处理
CN102147722A (zh) * 2011-04-08 2011-08-10 深圳中微电科技有限公司 实现中央处理器和图形处理器功能的多线程处理器及方法
CN103399729A (zh) * 2013-06-28 2013-11-20 广州市动景计算机科技有限公司 一种HTML5 Canvas应用处理方法、装置及处理器
CN103870242A (zh) * 2012-12-12 2014-06-18 辉达公司 优化线程栈存储器的管理的系统、方法和计算机程序产品
CN105741227A (zh) * 2016-01-26 2016-07-06 网易(杭州)网络有限公司 渲染方法和装置
CN105869106A (zh) * 2016-04-27 2016-08-17 中国电子科技集团公司第二十八研究所 一种改进的三维实体云绘制方法

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9881391B2 (en) * 2013-10-02 2018-01-30 Microsoft Technology Licensing, Llc Procedurally defined texture maps
CN106060655B (zh) * 2016-08-04 2021-04-06 腾讯科技(深圳)有限公司 一种视频处理方法、服务器及终端

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070091097A1 (en) * 2005-10-18 2007-04-26 Via Technologies, Inc. Method and system for synchronizing parallel engines in a graphics processing unit
CN1758286A (zh) * 2005-11-16 2006-04-12 华中科技大学 基于图像的三维远程可视化方法
CN101563712A (zh) * 2006-12-22 2009-10-21 高通股份有限公司 快速像素渲染处理
CN102147722A (zh) * 2011-04-08 2011-08-10 深圳中微电科技有限公司 实现中央处理器和图形处理器功能的多线程处理器及方法
CN103870242A (zh) * 2012-12-12 2014-06-18 辉达公司 优化线程栈存储器的管理的系统、方法和计算机程序产品
CN103399729A (zh) * 2013-06-28 2013-11-20 广州市动景计算机科技有限公司 一种HTML5 Canvas应用处理方法、装置及处理器
CN105741227A (zh) * 2016-01-26 2016-07-06 网易(杭州)网络有限公司 渲染方法和装置
CN105869106A (zh) * 2016-04-27 2016-08-17 中国电子科技集团公司第二十八研究所 一种改进的三维实体云绘制方法

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
EILEMANN, S等: "Parallel Rendering on Hybrid Multi-GPU Clusters", 《EUROGRAPHICS SYMPOSIUM ON PARALLEL GRAPHICS AND VISUALIZATION》 *
李钦等: "分块LOD大规模地形实时渲染算法", 《计算机辅助设计与图形学学报》 *
李雪敏等: "一种基于GeoMipMaps的大规模地形实时可视化方法", 《计算机工程与科学》 *

Cited By (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108509240A (zh) * 2018-03-09 2018-09-07 广东欧珀移动通信有限公司 图片绘制方法及相关产品
CN108898644A (zh) * 2018-06-22 2018-11-27 北京佳格天地科技有限公司 一种栅格数据动态渲染方法、系统和存储介质
CN108898644B (zh) * 2018-06-22 2022-09-16 北京佳格天地科技有限公司 一种栅格数据动态渲染方法、系统和存储介质
US11710266B2 (en) 2019-01-30 2023-07-25 Huawei Technologies Co., Ltd. Rendering method and apparatus
WO2020156264A1 (zh) * 2019-01-30 2020-08-06 华为技术有限公司 渲染方法及装置
WO2020192608A1 (zh) * 2019-03-26 2020-10-01 华为技术有限公司 图形渲染方法、装置和计算机可读存储介质
US11908039B2 (en) 2019-03-26 2024-02-20 Huawei Technologies Co., Ltd. Graphics rendering method and apparatus, and computer-readable storage medium
CN111739136A (zh) * 2019-06-14 2020-10-02 腾讯科技(深圳)有限公司 渲染方法、计算机设备和存储介质
CN110377258B (zh) * 2019-07-17 2023-05-02 Oppo广东移动通信有限公司 图像渲染方法、装置、电子设备及存储介质
CN110377258A (zh) * 2019-07-17 2019-10-25 Oppo广东移动通信有限公司 图像渲染方法、装置、电子设备及存储介质
CN110751592A (zh) * 2019-08-21 2020-02-04 北京达佳互联信息技术有限公司 图形资源转换方法、装置、电子设备及存储介质
CN110555900A (zh) * 2019-09-05 2019-12-10 网易(杭州)网络有限公司 渲染指令的处理方法及装置、存储介质、电子设备
CN111210381A (zh) * 2019-12-31 2020-05-29 广州市百果园信息技术有限公司 数据处理方法、装置、终端设备和计算机可读介质
CN113838180A (zh) * 2020-06-24 2021-12-24 华为技术有限公司 一种渲染指令处理方法及其相关设备
WO2022095808A1 (zh) * 2020-11-06 2022-05-12 华为技术有限公司 基于Vulkan实现图形渲染的方法及相关装置
WO2022100132A1 (zh) * 2020-11-13 2022-05-19 华为技术有限公司 一种数据处理方法、装置和电子设备
CN112346890B (zh) * 2020-11-13 2024-03-29 武汉蓝星科技股份有限公司 一种复杂图形离屏渲染方法及系统
CN117369936A (zh) * 2023-12-04 2024-01-09 武汉凌久微电子有限公司 一种显示内容渲染方法及渲染系统
CN117369936B (zh) * 2023-12-04 2024-03-08 武汉凌久微电子有限公司 一种显示内容渲染方法及渲染系统

Also Published As

Publication number Publication date
CN107223264B (zh) 2022-07-08
WO2018119602A1 (zh) 2018-07-05

Similar Documents

Publication Publication Date Title
CN107223264A (zh) 一种渲染方法及装置
CN103270492B (zh) 用于网络使能应用的硬件加速图形的方法和系统
US8527739B2 (en) Iterative process partner pairing scheme for global reduce operation
CN103942087B (zh) 虚拟机热迁移方法及相关装置和集群系统
WO2022127278A1 (zh) 一种虚拟场景的渲染方法和装置
CN105579959B (zh) 硬件加速器虚拟化
US8638336B2 (en) Methods and systems for remoting three dimensional graphical data
US20170161865A1 (en) Method and System to Virtualize Graphic Processing Services
CN107690622A (zh) 实现硬件加速处理的方法、设备和系统
EP3108452B1 (en) Shader pipeline with shared data channels
CN105786589A (zh) 一种云渲染系统、服务器及方法
CN107818056A (zh) 一种队列管理方法及装置
JP2016524242A (ja) 頂点シェーダのフロント・エンドとしてコンピュート・シェーダを使用すること
WO2015078156A1 (zh) 一种图形数据的处理方法、装置及系统
JP2014530403A (ja) タイル単位レンダラーを用いてレイヤリングするシステムおよび方法
WO2022089592A1 (zh) 一种图形渲染方法及其相关设备
CN104025185A (zh) 用于使用gpu控制器来预加载缓存的机制
US20080100626A1 (en) Network distributed physics computations
WO2022095808A1 (zh) 基于Vulkan实现图形渲染的方法及相关装置
CN107247629A (zh) 云计算系统及用于控制服务器的云计算方法和装置
KR20120059590A (ko) 범용 사용을 위한 내부의, 처리-유닛 메모리
CN108762934B (zh) 远程图形传输系统、方法及云服务器
CN113515396A (zh) 图形渲染方法、装置、电子设备与存储介质
CN108109191A (zh) 渲染方法及系统
CN110555900B (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
TA01 Transfer of patent application right

Effective date of registration: 20210204

Address after: 201111 2nd floor, building 2, no.1508, Kunyang Road, Minhang District, Shanghai

Applicant after: Dalu Robot Co.,Ltd.

Address before: 518000 Room 201, building A, 1 front Bay Road, Shenzhen Qianhai cooperation zone, Shenzhen, Guangdong

Applicant before: CLOUDMINDS (SHENZHEN) ROBOTICS SYSTEMS Co.,Ltd.

TA01 Transfer of patent application right
CB02 Change of applicant information

Address after: 201111 Building 8, No. 207, Zhongqing Road, Minhang District, Shanghai

Applicant after: Dayu robot Co.,Ltd.

Address before: 201111 2nd floor, building 2, no.1508, Kunyang Road, Minhang District, Shanghai

Applicant before: Dalu Robot Co.,Ltd.

CB02 Change of applicant information
GR01 Patent grant
GR01 Patent grant