CN113034659A - 三维渲染数据处理方法、装置、电子设备和可读存储介质 - Google Patents
三维渲染数据处理方法、装置、电子设备和可读存储介质 Download PDFInfo
- Publication number
- CN113034659A CN113034659A CN202110562574.8A CN202110562574A CN113034659A CN 113034659 A CN113034659 A CN 113034659A CN 202110562574 A CN202110562574 A CN 202110562574A CN 113034659 A CN113034659 A CN 113034659A
- Authority
- CN
- China
- Prior art keywords
- data
- original data
- dimensional rendering
- original
- threads
- 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
Images
Classifications
-
- 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
- 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/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
- G06F9/4881—Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
-
- 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/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation 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/5038—Allocation 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 the execution order of a plurality of tasks, e.g. taking priority or time dependency constraints into consideration
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Computer Graphics (AREA)
- Image Generation (AREA)
Abstract
本申请实施例提供了一种三维渲染数据处理方法、装置、电子设备和可读存储介质,涉及互联网技术领域。通过接收服务端发送的至少一个待渲染图形的原始数据。将各原始数据发送至不同的子线程,利用不同的子线程对各原始数据进行初步数据处理,得到至少一个待绘制数据。根据各待绘制数据进行三维渲染处理,得到所有待渲染图形对应的三维渲染图形结果。无需更改客户端的硬件资源,提高了三维渲染绘图的效率和性能。
Description
技术领域
本申请涉及互联网技术领域,具体而言,涉及一种三维渲染数据处理方法、装置、电子设备和可读存储介质。
背景技术
随着互联网技术的发展,各种资源信息得到高度共享,其中,通过互联网提供的万维网服务进行信息共享的方式,俨然成为人们日常生活、工作和娱乐中不可或缺的一部分。
WEB(World Wide Web,万维网)端的信息是通过浏览器进行展示呈现的,而如何将各种应用程序,如游戏中的各三维模型对象在WEB端上更好的模拟展现出来是现今互联网络技术的一大热点问题。
传统Web架构应用基于单线程处理数据和渲染页面,主要使用提升硬件性能、优化数据处理算法等方式提高绘图的效率和性能,但这种方式过分依赖于硬件技术和算法性能,难以在相同硬件技术的情况下大幅度提高针对大数据量的数据进行三维渲染绘图的效率和性能。
发明内容
有鉴于此,本申请实施例提供了一种三维渲染数据处理方法、装置、电子设备和可读存储介质,以改善上述问题。
第一方面,本申请提供一种三维渲染数据处理方法,应用于与服务端通信连接的客户端,所述方法包括:
接收所述服务端发送的至少一个待渲染图形的原始数据;
将各所述原始数据发送至不同的子线程,利用不同的子线程对各所述原始数据进行初步数据处理,得到至少一个待绘制数据;
根据各所述待绘制数据进行三维渲染处理,得到所有所述待渲染图形对应的三维渲染图形结果。
在可选的实施方式中,每个所述原始数据包括优先级,所述将各所述原始数据发送至不同的子线程,利用不同的子线程对各所述原始数据进行初步数据处理,得到至少一个待绘制数据的步骤包括:
根据各所述原始数据的优先级,将各所述原始数据发送至不同的子线程;
利用不同的子线程,基于各所述原始数据的类型,对各所述原始数据进行初步数据处理,得到至少一个待绘制数据。
在可选的实施方式中,每个所述原始数据包括标志位及数据量信息,所述利用不同的子线程,基于各所述原始数据的类型,对各所述原始数据进行初步数据处理,得到至少一个待绘制数据的步骤包括:
针对每个所述原始数据,利用该原始数据包括的标志位确定该原始数据的类型;
针对每个所述原始数据,根据该原始数据的数据量信息确定该原始数据的数据量类型;
利用不同的所述子线程,根据各所述原始数据的类型及数据量类型,对各所述原始数据进行初步数据处理,得到至少一个待绘制数据。
在可选的实施方式中,所述数据量类型包括大数据量及小数据量,所述利用不同的所述子线程,根据各所述原始数据的类型及数据量类型,对各所述原始数据进行初步数据处理,得到至少一个待绘制数据的步骤包括:
获取所有所述原始数据的数据量类型为大数据量的原始数据,将该原始数据作为目标原始数据;
利用数据抽取算法对每个所述目标原始数据进行数据抽取处理,得到中间原始数据;
利用不同的所述子线程,根据各所述原始数据的绘图类型对各所述原始数据及各所述中间原始数据进行初步数据处理,得到至少一个待绘制数据。
在可选的实施方式中,所述原始数据包括标志位,所述根据各所述原始数据的优先级,将各所述原始数据发送至不同的子线程的步骤包括:
针对每个所述原始数据利用该原始数据包括的标志位确定该待渲染图形的绘图类型;
根据预存的绘图类型与优先级的对应关系,确定每个所述原始数据的优先级;
按照优先级顺序对全部所述原始数据进行排序,获取前预设个原始数据,将前预设个原始数据发送至不同的子线程。
在可选的实施方式中,所述根据各所述原始数据的优先级,将各所述原始数据发送至不同的子线程的步骤包括:
显示三维渲染处理界面;
响应用户在所述三维渲染处理界面进行的选取操作,为每个所述原始数据分配优先级;
按照优先级顺序对全部所述原始数据进行排序,获取前预设个原始数据,将前预设个原始数据发送至不同的子线程。
在可选的实施方式中,所述客户端部署有通讯子线程,所述通讯子线程包括通讯组件,所述接收所述服务端发送的多个待渲染图形的原始数据的步骤包括:
利用所述通讯子线程包括的通讯组件接收所述服务端发送的至少一个待渲染图形的原始数据;
接收所述通讯子线程发送的至少一个待渲染图形的原始数据。
第二方面,本申请提供一种三维渲染数据处理装置,应用于与服务端通信连接的客户端,所述装置包括:
接收模块,用于接收所述服务端发送的至少一个待渲染图形的原始数据;
初步处理模块,用于将各所述原始数据发送至不同的子线程,利用不同的子线程对各所述原始数据进行初步数据处理,得到至少一个待绘制数据;
三维渲染模块,用于根据各所述待绘制数据进行三维渲染处理,得到所有所述待渲染图形对应的三维渲染图形结果。
第三方面,本申请提供一种电子设备,所述电子设备包括处理器、存储器及总线,所述存储器存储有所述处理器可执行的机器可读指令,当电子设备运行时,所述处理器及所述存储器之间通过总线通信,所述处理器执行所述机器可读指令,以执行上述的三维渲染数据处理方法的步骤。
第四方面,本申请提供一种可读存储介质,所述可读存储介质中存储有计算机程序,所述计算机程序被执行时实现上述的三维渲染数据处理方法。
本申请实施例提供了一种三维渲染数据处理方法、装置、电子设备和可读存储介质,通过接收服务端发送的至少一个待渲染图形的原始数据。将各原始数据发送至不同的子线程,利用不同的子线程对各原始数据进行初步数据处理,得到至少一个待绘制数据。根据各待绘制数据进行三维渲染处理,得到所有待渲染图形对应的三维渲染图形结果。无需更改客户端的硬件资源,提高了三维渲染绘图的效率。
为使本申请的上述目的、特征和优点能更明显易懂,下文特举一些举例,并配合所附附图,作详细说明。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1为本申请实施例提供的一种电子设备的结构框图。
图2为本申请实施例提供的一种三维渲染数据处理方法的流程示意图。
图3为本申请实施例提供的一种三维渲染数据处理方法的数据交互示意图之一。
图4为本申请实施例提供的一种三维渲染数据处理方法的数据交互示意图之二。
图5为本申请实施例提供的一种三维渲染数据处理装置的功能模块框图。
图标:100-电子设备;110-存储器;120-处理器;130-三维渲染数据处理装置;131-接收模块;132-初步处理模块;133-三维渲染模块;140-通信单元。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本申请实施例的组件可以以各种不同的配置来布置和设计。
因此,以下对在附图中提供的本申请的实施例的详细描述并非旨在限制要求保护的本申请的范围,而是仅仅表示本申请的选定实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
此外,若出现术语“第一”、“第二”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
需要说明的是,在不冲突的情况下,本申请的实施例中的特征可以相互结合。
如背景技术所介绍,随着互联网技术的发展,各种资源信息得到高度共享,其中,通过互联网提供的万维网服务进行信息共享的方式,俨然成为人们日常生活、工作和娱乐中不可或缺的一部分。
WEB端的信息是通过浏览器进行展示呈现的,而如何将各种应用程序,如游戏中的各三维模型对象在WEB端上更好的模拟展现出来是现今互联网络技术的一大热点问题。
经发明人研究发现,随着计算机技术和人机交互技术的发展,对Web架构三维动态绘图的性能要求也越来越高。在大数据量下绘制多个三维动态图形时,由于难以充分利用中央处理器和图形处理器的处理能力,浏览器也会遇到性能瓶颈,导致Web架构绘图性能会严重下降。大数据量下,绘图刷新帧率会下降,一个页面绘制多个三维动态图形时,彼此会相互影响绘图性能。
传统Web架构应用基于单线程处理数据和渲染页面,主要使用提升硬件性能、优化数据处理算法等方式提高绘图的性能,但这种方式过分依赖于硬件技术和算法性能,难以在相同硬件技术的情况下大幅度提高大数据量Web架构绘图的性能。
有鉴于此,本申请实施例提供了一种三维渲染数据处理方法、装置、电子设备和可读存储介质,通过主线程接收原始数据,在多个子线程中完成对原始数据的初步数据处理,将原始数据处理成绘图所需的数据,然后在主线程中进行绘制,充分利用了计算机中央处理器和图形处理器的处理能力,从而提高了三维渲染绘图的效率和性能。
以上现有技术中的方案所存在的缺陷,均是申请人在经过实践并仔细研究后得出的结果,因此,上述问题的发现过程以及下文中本申请实施例针对上述问题所提出的解决方案,都应该是申请人在本申请过程中对本申请做出的贡献。
下面结合附图,对本申请的一些实施方式作详细说明。在不冲突的情况下,下述的实施例及实施例中的关键可以相互组合。
请结合参阅图1,图1为本申请实施例提供的一种电子设备100的结构框图。设备可以包括处理器120、存储器110、三维渲染数据处理装置130及通信单元140,存储器110存储有处理器120可执行的机器可读指令,当电子设备100运行时,处理器120及存储器110之间通过总线通信,处理器120执行机器可读指令,并执行三维渲染数据处理方法。
存储器110、处理器120以及通信单元140各元件相互之间直接或间接地电性连接,以实现信号的传输或交互。
例如,这些元件相互之间可通过一条或多条通讯总线或信号线实现电性连接。三维渲染数据处理装置130包括至少一个可以软件或固件(firmware)的形式存储于存储器110中的软件功能模块。处理器120用于执行存储器110中存储的可执行模块,例如三维渲染数据处理装置130所包括的软件功能模块或计算机程序。
其中,存储器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)等。
处理器120可以是一种集成电路芯片,具有信号处理能力。上述处理器120可以是通用处理器,包括中央处理器(Central Processing Unit,简称CPU)、网络处理器(NetworkProcessor,简称NP)等。
还可以是数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本申请实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
本申请实施例中,存储器110用于存储程序,处理器120用于在接收到执行指令后,执行程序。本申请实施例任一实施方式所揭示的流程定义的方法可以应用于处理器120中,或者由处理器120实现。
通信单元140用于通过网络建立电子设备100与其他电子设备之间的通信连接,并用于通过网络收发数据。
在一些实施例中,网络可以是任何类型的有线或者无线网络,或者是他们的结合。仅作为示例,网络可以包括有线网络、无线网络、光纤网络、远程通信网络、内联网、因特网、局域网(Local Area Network,LAN)、广域网(Wide Area Network,WAN)、无线局域网(Wireless Local Area Networks,WLAN)、城域网(Metropolitan Area Network,MAN)、广域网(Wide Area Network,WAN)、公共电话交换网(Public Switched Telephone Network,PSTN)、蓝牙网络、ZigBee网络、或近场通信(Near Field Communication,NFC)网络等,或其任意组合。
在本申请实施例中,电子设备100可以是但不限于智能手机、个人电脑、平板电脑等具有处理功能的设备。
可以理解,图1所示的结构仅为示意。电子设备100还可以具有比图1所示更多或者更少的组件,或者具有与图1所示不同的配置。图1所示的各组件可以采用硬件、软件或其组合实现。
可选地,该方法应用于与服务端通信连接的客户端,客户端可以为图1中示出的电子设备100。下面基于图1示出的电子设备100的结构图对本申请实施例提供的三维渲染数据处理方法的步骤进行详细阐述。
请结合参阅图2,图2为本申请实施例提供的三维渲染数据处理方法的流程示意图。
步骤S1,接收服务端发送的至少一个待渲染图形的原始数据。
步骤S2,将各原始数据发送至不同的子线程,利用不同的子线程对各原始数据进行初步数据处理,得到至少一个待绘制数据。
步骤S3,根据各待绘制数据进行三维渲染处理,得到所有待渲染图形对应的三维渲染图形结果。
可以理解的是,步骤S1至步骤S3可以通过客户端中部署的主线程执行。子线程可以在接收到原始数据后根据需求开启,也可以提前部署在客户端中。
请结合参阅图3,图3为本申请实施例提供的一种三维渲染数据处理方法的数据交互示意图之一。可选地,可提前在客户端内部署主线程和至少一个子线程,例如图3中示出的主线程、子线程1和子线程2。还可以在主线程接收到原始数据后,根据待渲染图形的个数和种类部署子线程,例如,在接收到待渲染图像的原始数据后,待渲染图形包括两个且种类不同,则部署子线程1和子线程2。
如图3所示,在主线程接收到原始数据1后,首先将原始数据1引用传递的方式发送给子线程1,在接收到原始数据2后,将原始数据2采用引用传递的方式发送给子线程2。子线程1则对原始数据1进行初步数据处理,得到待绘制数据1,并将待绘制数据1采用引用传递的方式发送给主线程。同样地,子线程2对原始数据2进行初步数据处理,得到待绘制数据2,并将待绘制数据2采用引用传递的方式发送给主线程。
主线程在接收到待绘制数据1后,利用待绘制数据1进行三维渲染处理,得到三维渲染结果。主线程在接收到待绘制数据2时,利用待绘制数据2进行三维渲染处理,得到三维渲染结果。
如此,本申请实施例提供的三维渲染数据处理方法,通过接收原始数据,在多个子线程中完成对原始数据的初步数据处理,将原始数据处理成绘图所需的数据,然后在主线程中进行绘制,充分利用计算机中央处理器和图形处理器的处理能力,从而提高了三维渲染绘图的性能。
请结合参阅图4,图4为本申请实施例提供的一种三维渲染数据处理方法的数据交互示意图之二。在可选的实施方式中,客户端部署有通讯子线程,通讯子线程包括通讯组件,图2中示出的步骤S1,接收服务端发送的多个待渲染图形的原始数据可通过如下方法实现:
利用通讯子线程包括的通讯组件接收服务端发送的至少一个待渲染图形的原始数据。接收通讯子线程发送的至少一个待渲染图形的原始数据。
作为一种可选的实施方式,该通讯子线程中的通选组件可采用多线程方式与服务端进行全双工通讯,将服务端发送的至少一个待渲染图形的原始数据由计算机可识别的二进制数据转换为结构化的普通数据。然后将转换后的数据发送至主线程。
作为另一种可选的实施方式,通讯子线程中的通选组件可直接将至少一个待渲染图形的原始数据采用引用传递的方式发送至主线程。
如此,将通讯组件放在通讯子线程中,接收由服务端推送的大量原始数据,在通讯子线程接收到原始数据后,将原始数据发送至主线程,使得数据传输不会因为数据计算和页面渲染而被阻塞,能有效提升客户端接收服务器数据的能力。
由于客户端的硬件资源始终是有限的,当需要在客户端上同时绘制多个待绘制图形时,可能会出现硬件资源不能同时满足所有线程使用,就需要根据原始数据的优先级,确定哪个子线程具有更高的优先级,从而优先让该子线程使用资源,下面对上述方法进行详细阐述。
当只需要对一个待绘制图形进行三维渲染处理时,客户端的系统界面只显示一个图形,主线程开启一个子线程,子线程拥有仅次于主线程的优先级;当需要对多个待绘制图形同时进行三维渲染处理是,客户端的系统界面需要同时显示绘制多个图形,主线程为每一个图形开启一个子线程,并根据现实需求设置子线程的优先级。
在可选的实施方式中,每个原始数据包括优先级,图2中示出的步骤S2,将各原始数据发送至不同的子线程,利用不同的子线程对各原始数据进行初步数据处理,得到至少一个待绘制数据可通过以下方式实现:
根据各原始数据的优先级,将各原始数据发送至不同的子线程。利用不同的子线程,基于各原始数据的类型,对各原始数据进行初步数据处理,得到至少一个待绘制数据。
在一种可选的实施方式中,可根据不同图形的类型在实际应用中的重要程度和使用频率,对图形对应的原始数据分配优先级。然后将优先级高的待绘制图形优先发送给子线程。如,原始数据包括标志位,根据各原始数据的优先级,将各原始数据发送至不同的子线程的步骤包括:
针对每个原始数据利用该原始数据包括的标志位确定该待渲染图形的绘图类型。
根据预存的绘图类型与优先级的对应关系,确定每个原始数据的优先级。
按照优先级顺序对全部原始数据进行排序,获取前预设个原始数据,将前预设个原始数据发送至不同的子线程。
在本申请的应用场景中,一般需要绘制A图、B图、C图和D图等图型,在现实需求中,A图相对于其他图形更加常用和重要,因此可以默认A图的优先级较高,同时将处理A图的子线程设置为较高的优先级。其次是其他类型的图形,例如按照优先级排序,A图>B图>C图>D图。
可提前对不同类型的图形设置不同的标志位,例如,A图的标志位可以是00,B图的标志位可以是01,C图的标志位可以是10,D图的标志位可以是11。如此,可根据原始数据包括的标志位确定不同待渲染图形的绘图类型。
例如,假设在某一次三维渲染处理过程中,主线程获取到的原始数据1的标志位为01,原始数据2的标志位为11,原始数据3的标志位为00,并且客户端的资源仅能部署两个子线程。根据标志位与绘图类型的对应关系,以及绘图类型与优先级的对应关系可知,原始数据1的绘图类型为B图,原始数据2的绘图类型为D图,原始数据3的绘图类型为A图。按照优先级排序可知,原始数据3优先于原始数据1,原始数据1优先于原始数据2。
此时,可以优先将优先级较高的原始数据3发送至子线程1。将优先级次高的原始数据1发送至子线程2。等待子线程空闲时,再将原始数据2发送至空闲的子线程。
作为另一种可选的实施方式,还可以接收客户端的使用者的选取操作,确定每个原始数据的优先级,如,根据各原始数据的优先级,将各原始数据发送至不同的子线程的步骤包括:
显示三维渲染处理界面。
响应用户在三维渲染处理界面进行的选取操作,为每个原始数据分配优先级。
按照优先级顺序对全部原始数据进行排序,获取前预设个原始数据,将前预设个原始数据发送至不同的子线程。
例如,假设在某一次三维渲染处理过程中,主线程获取到4个待绘制图形的原始数据,原始数据的绘图类型分别为A图、B图、C图及D图,并且客户端的资源仅能部署两个子线程。
用户通过选取操作,将C图的优先级设置为最高,其次优先级依次为B图、D图、A图。那么主线程则优先将C图的原始数据发送至子线程1、将B图的原始数据发送至子线程2。等待子线程空闲时,再将D图的原始数据发送至空闲的子线程,A图也是如此。
又例如,可以提前设置默认优先级A图>B图>C图>D图,当用户对C图进行了选取操作时,被选中的图形便具有了最高的优先级,此时优先级的排序变成了:C图>A图>B图>D图。
在根据待渲染图形的优先级分配不同的子线程后,子线程还可以基于原始数据的类型,对原始数据进行初步数据处理,得到至少一个待绘制数据,该方法可通过以下方式实现:
作为一种可选的实施方式,每个原始数据包括标志位及数据量信息。
针对每个原始数据,利用该原始数据包括的标志位确定该原始数据的类型。
针对每个原始数据,根据该原始数据的数据量信息确定该原始数据的数据量类型。
利用不同的子线程,根据各原始数据的类型及数据量类型,对各原始数据进行初步数据处理,得到至少一个待绘制数据。
其中,数据量类型包括大数据量及小数据量,数据量类型的确定可通过区分依据为多次绘图试验得出,例如,针对每种图形,使用原始数据量进行绘图,浏览器绘图刷新帧率低为大数据量,浏览器绘图刷新帧率高为小数据量。
又例如,还可以通过预先对配置文件进行配置,设置合理的数据量分界值,将数据量大于数据量分界值的原始数据划分为大数据量,将数据量小于或等于数据量分界值的原始数据划分为小数据量。
针对数据量类型为大数据量的原始数据,由于数据量过大,绘制性能可能较低,绘制速率较低,因此,可通过对原始数据进行数据抽取后,再进行初步数据处理和三维渲染处理。如,获取所有原始数据的数据量类型为大数据量的原始数据,将该原始数据作为目标原始数据。利用数据抽取算法对每个目标原始数据进行数据抽取处理,得到中间原始数据。利用不同的子线程,根据各原始数据的绘图类型对各原始数据及各中间原始数据进行初步数据处理,得到至少一个待绘制数据。
其中,数据抽取算法分为线性抽取、峰值抽取和均值抽取等,子线程可以根据需要选择不同的抽取算法对大数据量的原始数据进行数据抽取。
进一步地,作为一种可选的实施方式,针对不同的原始数据的类型,可通过子线程按照以下方式进行初步数据处理,得到待绘制数据:
针对A图原始数据类型为一维的数据,需要绘制线形三维动态图形的情况。此时子线程可以利用该图形的原始数据计算该待绘制图形每一个点的Y轴坐标,根据原始数据获取Y轴坐标对应的数据下标计算X轴坐标,并使用固定的Z轴坐标。
针对B图原始数据类型为一维的数据,需要绘制点型三维动态图形的情况。此时子线程可以根据该图形的原始数据计算点的颜色,根据原始数据对应的数据下标计算X轴坐标,根据获取原始制数据的相对时间计算点的Y轴坐标,并使用固定的Z轴坐标。
针对C图原始数据类型为二维的数据,需要绘制点型三维动态图形,此时数据处理线程需要根据原始数据计算点的颜色,根据原始数据的一维数组下标计算点的X轴坐标,根据原始数据的二维数组下标确定点的Y轴坐标,根据获取原始数据的相对时间计算点的Z轴坐标。
也就是说,经过子线程进行初步数据处理后,得到的待绘制数据为一系列可供主线程直接进行三维渲染处理的三维坐标点。如此,方便了主线程直接利用待绘制数据进行三维渲染处理。
比较可知,基于单线程的传统Web架构大数据量绘图的刷新帧率较低,约为二、三十帧,采用本申请实施例提供的多线程方法对大数据量进行三维渲染绘图,其刷新帧率能稳定提升到五六十帧,大幅度提高了三维动态绘图性能。
同时传统Web架构只能利用20%左右的中央处理器资源,采用本申请实施例提供的多线程方法能显著提升应用利用的中央处理器资源,有效突破浏览器性能瓶颈。
并且传统Web架构在同一页面绘制多个三维动态图形时,多个图形之间会相互影响,造成所有图形刷新帧率降低。采用本申请实施例提供的多线程方法对大数据量进行三维渲染绘图时,多个三维动态图形会充分利用更多的硬件资源,减小相互之间绘图性能的影响,保持较高的刷新帧率。
基于同一发明构思,请结合参阅图5,图5为本申请实施例提供的三维渲染数据处理方法功能模块框图。本申请实施例中还提供了与图2示出的三维渲染数据处理方法对应的三维渲染数据处理装置130,装置包括:
接收模块131,用于接收服务端发送的至少一个待渲染图形的原始数据。
初步处理模块132,用于将各原始数据发送至不同的子线程,利用不同的子线程对各原始数据进行初步数据处理,得到至少一个待绘制数据。
三维渲染模块133,用于根据各待绘制数据进行三维渲染处理,得到所有待渲染图形对应的三维渲染图形结果。
由于本申请实施例中的装置解决问题的原理与本申请实施例上述三维渲染数据处理方法相似,因此装置的实施原理可以参见方法的实施原理,重复之处不再赘述。
本申请实施例也提供了一种可读存储介质,可读存储介质中存储有计算机程序,计算机程序被执行时实现上述的三维渲染数据处理方法。
综上所述,本申请实施例提供了一种三维渲染数据处理方法、装置、电子设备和可读存储介质,通过接收服务端发送的至少一个待渲染图形的原始数据。将各原始数据发送至不同的子线程,利用不同的子线程对各原始数据进行初步数据处理,得到至少一个待绘制数据。根据各待绘制数据进行三维渲染处理,得到所有待渲染图形对应的三维渲染图形结果。无需更改客户端的硬件资源,提高了三维渲染绘图的效率和性能。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。
Claims (10)
1.一种三维渲染数据处理方法,其特征在于,应用于与服务端通信连接的客户端,所述方法包括:
接收所述服务端发送的至少一个待渲染图形的原始数据;
将各所述原始数据发送至不同的子线程,利用不同的子线程对各所述原始数据进行初步数据处理,得到至少一个待绘制数据;
根据各所述待绘制数据进行三维渲染处理,得到所有所述待渲染图形对应的三维渲染图形结果。
2.根据权利要求1所述的三维渲染数据处理方法,其特征在于,每个所述原始数据包括优先级,所述将各所述原始数据发送至不同的子线程,利用不同的子线程对各所述原始数据进行初步数据处理,得到至少一个待绘制数据的步骤包括:
根据各所述原始数据的优先级,将各所述原始数据发送至不同的子线程;
利用不同的子线程,基于各所述原始数据的类型,对各所述原始数据进行初步数据处理,得到至少一个待绘制数据。
3.根据权利要求2所述的三维渲染数据处理方法,其特征在于,每个所述原始数据包括标志位及数据量信息,所述利用不同的子线程,基于各所述原始数据的类型,对各所述原始数据进行初步数据处理,得到至少一个待绘制数据的步骤包括:
针对每个所述原始数据,利用该原始数据包括的标志位确定该原始数据的类型;
针对每个所述原始数据,根据该原始数据的数据量信息确定该原始数据的数据量类型;
利用不同的所述子线程,根据各所述原始数据的类型及数据量类型,对各所述原始数据进行初步数据处理,得到至少一个待绘制数据。
4.根据权利要求3所述的三维渲染数据处理方法,其特征在于,所述数据量类型包括大数据量及小数据量,所述利用不同的所述子线程,根据各所述原始数据的类型及数据量类型,对各所述原始数据进行初步数据处理,得到至少一个待绘制数据的步骤包括:
获取所有所述原始数据的数据量类型为大数据量的原始数据,将该原始数据作为目标原始数据;
利用数据抽取算法对每个所述目标原始数据进行数据抽取处理,得到中间原始数据;
利用不同的所述子线程,根据各所述原始数据的绘图类型对各所述原始数据及各所述中间原始数据进行初步数据处理,得到至少一个待绘制数据。
5.根据权利要求2所述的三维渲染数据处理方法,其特征在于,所述原始数据包括标志位,所述根据各所述原始数据的优先级,将各所述原始数据发送至不同的子线程的步骤包括:
针对每个所述原始数据利用该原始数据包括的标志位确定该待渲染图形的绘图类型;
根据预存的绘图类型与优先级的对应关系,确定每个所述原始数据的优先级;
按照优先级顺序对全部所述原始数据进行排序,获取前预设个原始数据,将前预设个原始数据发送至不同的子线程。
6.根据权利要求2所述的三维渲染数据处理方法,其特征在于,所述根据各所述原始数据的优先级,将各所述原始数据发送至不同的子线程的步骤包括:
显示三维渲染处理界面;
响应用户在所述三维渲染处理界面进行的选取操作,为每个所述原始数据分配优先级;
按照优先级顺序对全部所述原始数据进行排序,获取前预设个原始数据,将前预设个原始数据发送至不同的子线程。
7.根据权利要求1所述的三维渲染数据处理方法,其特征在于,所述客户端部署有通讯子线程,所述通讯子线程包括通讯组件,所述接收所述服务端发送的多个待渲染图形的原始数据的步骤包括:
利用所述通讯子线程包括的通讯组件接收所述服务端发送的至少一个待渲染图形的原始数据;
接收所述通讯子线程发送的至少一个待渲染图形的原始数据。
8.一种三维渲染数据处理装置,其特征在于,应用于与服务端通信连接的客户端,所述装置包括:
接收模块,用于接收所述服务端发送的至少一个待渲染图形的原始数据;
初步处理模块,用于将各所述原始数据发送至不同的子线程,利用不同的子线程对各所述原始数据进行初步数据处理,得到至少一个待绘制数据;
三维渲染模块,用于根据各所述待绘制数据进行三维渲染处理,得到所有所述待渲染图形对应的三维渲染图形结果。
9.一种电子设备,其特征在于,所述电子设备包括处理器、存储器及总线,所述存储器存储有所述处理器可执行的机器可读指令,当电子设备运行时,所述处理器及所述存储器之间通过总线通信,所述处理器执行所述机器可读指令,以执行权利要求1-7任意一项所述的三维渲染数据处理方法的步骤。
10.一种可读存储介质,其特征在于,所述可读存储介质中存储有计算机程序,所述计算机程序被执行时实现权利要求1-7任意一项所述的三维渲染数据处理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110562574.8A CN113034659A (zh) | 2021-05-24 | 2021-05-24 | 三维渲染数据处理方法、装置、电子设备和可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110562574.8A CN113034659A (zh) | 2021-05-24 | 2021-05-24 | 三维渲染数据处理方法、装置、电子设备和可读存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113034659A true CN113034659A (zh) | 2021-06-25 |
Family
ID=76455653
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110562574.8A Pending CN113034659A (zh) | 2021-05-24 | 2021-05-24 | 三维渲染数据处理方法、装置、电子设备和可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113034659A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2023045207A1 (zh) * | 2021-09-27 | 2023-03-30 | 上海商汤智能科技有限公司 | 任务处理方法及装置、电子设备、存储介质和计算机程序 |
CN117078501A (zh) * | 2023-10-17 | 2023-11-17 | 中科星图深海科技有限公司 | 一种提高海洋环境数据二维成像效率的方法 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103019741A (zh) * | 2012-12-30 | 2013-04-03 | 上海创图网络科技发展有限公司 | webmax游戏引擎及应用其开发网页游戏的方法 |
CN109861948A (zh) * | 2017-11-30 | 2019-06-07 | 腾讯科技(成都)有限公司 | 虚拟现实数据处理方法、装置、存储介质和计算机设备 |
CN109908574A (zh) * | 2019-02-22 | 2019-06-21 | 网易(杭州)网络有限公司 | 游戏角色控制方法、装置、设备和存储介质 |
CN111240817A (zh) * | 2020-01-06 | 2020-06-05 | 北京小米移动软件有限公司 | 资源调度方法、资源调度装置及存储介质 |
CN111813536A (zh) * | 2019-04-11 | 2020-10-23 | 华为技术有限公司 | 任务处理方法、装置、终端以及计算机可读存储介质 |
CN112784200A (zh) * | 2021-01-28 | 2021-05-11 | 百度在线网络技术(北京)有限公司 | 页面数据处理方法、装置、设备、介质和计算机程序产品 |
-
2021
- 2021-05-24 CN CN202110562574.8A patent/CN113034659A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103019741A (zh) * | 2012-12-30 | 2013-04-03 | 上海创图网络科技发展有限公司 | webmax游戏引擎及应用其开发网页游戏的方法 |
CN109861948A (zh) * | 2017-11-30 | 2019-06-07 | 腾讯科技(成都)有限公司 | 虚拟现实数据处理方法、装置、存储介质和计算机设备 |
CN109908574A (zh) * | 2019-02-22 | 2019-06-21 | 网易(杭州)网络有限公司 | 游戏角色控制方法、装置、设备和存储介质 |
CN111813536A (zh) * | 2019-04-11 | 2020-10-23 | 华为技术有限公司 | 任务处理方法、装置、终端以及计算机可读存储介质 |
CN111240817A (zh) * | 2020-01-06 | 2020-06-05 | 北京小米移动软件有限公司 | 资源调度方法、资源调度装置及存储介质 |
CN112784200A (zh) * | 2021-01-28 | 2021-05-11 | 百度在线网络技术(北京)有限公司 | 页面数据处理方法、装置、设备、介质和计算机程序产品 |
Non-Patent Citations (1)
Title |
---|
陆兴华 等: ""基于多线程交互的Android动态视点随动技术"", 《智能计算机与应用》 * |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2023045207A1 (zh) * | 2021-09-27 | 2023-03-30 | 上海商汤智能科技有限公司 | 任务处理方法及装置、电子设备、存储介质和计算机程序 |
CN117078501A (zh) * | 2023-10-17 | 2023-11-17 | 中科星图深海科技有限公司 | 一种提高海洋环境数据二维成像效率的方法 |
CN117078501B (zh) * | 2023-10-17 | 2023-12-29 | 中科星图深海科技有限公司 | 一种提高海洋环境数据二维成像效率的方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106021421B (zh) | 一种加速网页渲染的方法及装置 | |
CN113034659A (zh) | 三维渲染数据处理方法、装置、电子设备和可读存储介质 | |
US20090002368A1 (en) | Method, apparatus and a computer program product for utilizing a graphical processing unit to provide depth information for autostereoscopic display | |
US9899002B2 (en) | Information processing methods for displaying parts of an object on multiple electronic devices | |
CN111950056B (zh) | 建筑信息化模型bim展示方法及相关设备 | |
CN103559730B (zh) | 一种渲染方法及装置 | |
CN108173742B (zh) | 一种图像数据处理方法、装置 | |
CN112102437A (zh) | 一种基于Canvas的雷达图生成方法、装置、存储介质及终端 | |
CN105630525B (zh) | 一种页面同步方法及装置 | |
US20110145730A1 (en) | Utilization of Browser Space | |
CN113010252B (zh) | 应用页面的展示方法、电子设备及存储介质 | |
WO2022262404A1 (zh) | 图片展示方法、图片展示装置和电子设备 | |
EP2824600A1 (en) | Method and device for processing animated emoticon | |
CN107221020B (zh) | 一种文字纹理绘制方法及装置 | |
CN108027980A (zh) | 画面显示的方法和终端 | |
CN113839998B (zh) | 图像数据传输方法、装置、设备、存储介质及程序产品 | |
CN111796825B (zh) | 一种弹幕的绘制方法、装置、设备和存储介质 | |
CN112614210A (zh) | 工程图纸显示方法、系统及相关装置 | |
CN106548501B (zh) | 一种图像绘制方法及设备 | |
CN111111175A (zh) | 一种游戏画面生成方法、装置和移动终端 | |
CN115700484A (zh) | 渲染方法、装置、设备和存储介质 | |
CN108156504A (zh) | 一种视频显示方法及装置 | |
CN113835890A (zh) | 一种渲染数据处理方法、装置、设备和存储介质 | |
CN114416619B (zh) | 基于串口屏的图片显示方法、装置、存储介质及电子设备 | |
CN111013144B (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: 20210625 |