CN116524104A - 渲染数据处理方法、装置、设备及存储介质 - Google Patents
渲染数据处理方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN116524104A CN116524104A CN202310805837.2A CN202310805837A CN116524104A CN 116524104 A CN116524104 A CN 116524104A CN 202310805837 A CN202310805837 A CN 202310805837A CN 116524104 A CN116524104 A CN 116524104A
- Authority
- CN
- China
- Prior art keywords
- rendering
- event
- abnormal
- rendering event
- performance 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
Links
- 238000009877 rendering Methods 0.000 title claims abstract description 1229
- 238000003860 storage Methods 0.000 title claims abstract description 27
- 238000003672 processing method Methods 0.000 title claims abstract description 24
- 230000002159 abnormal effect Effects 0.000 claims abstract description 503
- 230000002547 anomalous effect Effects 0.000 claims abstract description 79
- 238000012545 processing Methods 0.000 claims abstract description 23
- 239000000463 material Substances 0.000 claims description 81
- 230000008859 change Effects 0.000 claims description 66
- 238000000034 method Methods 0.000 claims description 64
- 230000011218 segmentation Effects 0.000 claims description 23
- 238000004458 analytical method Methods 0.000 abstract description 45
- 238000013473 artificial intelligence Methods 0.000 abstract description 2
- 238000010586 diagram Methods 0.000 description 27
- 230000008569 process Effects 0.000 description 23
- 239000012634 fragment Substances 0.000 description 14
- 230000006870 function Effects 0.000 description 7
- 238000005457 optimization Methods 0.000 description 7
- 238000011161 development Methods 0.000 description 6
- 230000018109 developmental process Effects 0.000 description 6
- 238000005520 cutting process Methods 0.000 description 5
- 238000000926 separation method Methods 0.000 description 5
- 238000004590 computer program Methods 0.000 description 4
- 238000007405 data analysis Methods 0.000 description 4
- 238000004891 communication Methods 0.000 description 3
- 238000012217 deletion Methods 0.000 description 3
- 230000037430 deletion Effects 0.000 description 3
- 238000013507 mapping Methods 0.000 description 3
- 238000005070 sampling Methods 0.000 description 3
- 230000000694 effects Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000004040 coloring Methods 0.000 description 1
- 238000010835 comparative analysis Methods 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 239000002245 particle Substances 0.000 description 1
- 230000002085 persistent effect Effects 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 239000012780 transparent material Substances 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/50—Lighting effects
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/50—Controlling the output signals based on the game progress
- A63F13/52—Controlling the output signals based on the game progress involving aspects of the displayed game scene
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Computer Graphics (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Multimedia (AREA)
- Processing Or Creating Images (AREA)
Abstract
本申请提供一种渲染数据处理方法、装置、设备及存储介质,应用于云服务器、人工智能等各种场景,该方法包括:获取目标应用程序的第一场景对应的第一图像文件;根据每个第一渲染事件与其他第一渲染事件之间的事件依赖关系,以及每个第一渲染事件的名称描述信息,从至少一个第一渲染事件中确定出第一非异常渲染事件;基于第一非异常渲染事件的名称描述信息和第一非异常渲染事件的父事件的名称描述信息,确定第一非异常渲染事件的模型性能数据;根据第一非异常渲染事件的模型性能数据、着色器性能数据和纹理性能数据,生成第一图像文件的第一渲染性能数据。本申请实施例能够降低渲染性能数据的分析成本,提高渲染性能数据的分析效率。
Description
技术领域
本申请属于计算机技术领域,具体涉及一种渲染数据处理方法、装置、设备及存储介质。
背景技术
通常,电子设备的操作***的渲染模块(图像渲染功能)用于对三维模型进行渲染以生成应用程序的画面,例如:生成运行的游戏的画面。其中,三维模型的渲染性能数据是影响画面显示效果的重要因素。
相关技术中的游戏场景渲染性能分析主要依靠客户端账号的手动分析,例如,依靠客户端账号手动分析场景的截帧文件,得到场景中的材质、合批次数、面数、纹理等渲染性能数据。然而相关技术中的分析方式分析一个场景的单个截帧文件大概需要2小时-0.5天,导致渲染性能数据的分析成本较高,分析效率较低,且分析准确率较低,从而导致无法准确对渲染性能数据进行优化。
发明内容
为了解决上述技术问题,本申请提供一种渲染数据处理方法、装置、设备及存储介质。
一方面,本申请提出了一种渲染数据处理方法,所述方法包括:
获取目标应用程序的第一场景对应的第一图像文件;所述第一图像文件为所述目标应用程序运行时,在所述第一场景对第一预设模型进行渲染所生成的图像所对应的文件;所述第一图像文件包括至少一个第一渲染事件;
根据每个所述第一渲染事件与其他第一渲染事件之间的事件依赖关系,以及每个所述第一渲染事件的名称描述信息,从所述至少一个第一渲染事件中确定出第一非异常渲染事件;所述其他第一渲染事件为所述至少一个第一渲染事件中,除每个所述第一渲染事件之外的渲染事件;
获取所述第一非异常渲染事件的着色器性能数据和纹理性能数据;以及基于所述第一非异常渲染事件的名称描述信息和所述第一非异常渲染事件的父事件的名称描述信息,确定所述第一非异常渲染事件的模型性能数据;所述模型性能数据为与所述第一预设模型相关联的性能数据;
根据所述第一非异常渲染事件的模型性能数据、着色器性能数据和纹理性能数据,生成所述第一场景对应的第一图像文件的第一渲染性能数据。
另一方面,本申请提出了一种渲染数据处理装置,所述装置包括:
第一图像文件获取模块,用于获取目标应用程序的第一场景对应的第一图像文件;所述第一图像文件为所述目标应用程序运行时,在所述第一场景对第一预设模型进行渲染所生成的图像所对应的文件;所述第一图像文件包括至少一个第一渲染事件;
非异常渲染事件确定模块,用于根据每个所述第一渲染事件与其他第一渲染事件之间的事件依赖关系,以及每个所述第一渲染事件的名称描述信息,从所述至少一个第一渲染事件中确定出第一非异常渲染事件;所述其他第一渲染事件为所述至少一个第一渲染事件中,除每个所述第一渲染事件之外的渲染事件;
性能数据确定模块,用于获取所述第一非异常渲染事件的着色器性能数据和纹理性能数据;以及基于所述第一非异常渲染事件的名称描述信息和所述第一非异常渲染事件的父事件的名称描述信息,确定所述第一非异常渲染事件的模型性能数据;所述模型性能数据为与所述第一预设模型相关联的性能数据;
渲染性能数据生成模块,用于根据所述第一非异常渲染事件的模型性能数据、着色器性能数据和纹理性能数据,生成所述第一场景对应的第一图像文件的第一渲染性能数据。
另一方面,本申请提出了一种渲染数据处理的电子设备,所述电子设备包括处理器和存储器,存储器中存储有至少一条指令或至少一段程序,至少一条指令或至少一段程序由处理器加载并执行以实现如上述所述的渲染数据处理方法。
另一方面,本申请提出了一种计算机可读存储介质,所述计算机可读存储介质中存储有至少一条指令或至少一段程序,所述至少一条指令或所述至少一段程序由处理器加载并执行以实现如上述所述的渲染数据处理方法。
另一方面,本申请提出了一种计算机程序产品,所述计算机程被处理器执行时实现如上述所述的渲染数据处理方法。
本申请实施例提出的渲染数据处理方法、装置、设备及存储介质,通过获取目标应用程序的第一场景对应的第一图像文件;该第一图像文件包括至少一个第一渲染事件;根据每个第一渲染事件与其他第一渲染事件之间的事件依赖关系,以及每个第一渲染事件的名称描述信息,从至少一个第一渲染事件中确定出第一非异常渲染事件;获取第一非异常渲染事件的着色器性能数据和纹理性能数据;以及基于第一非异常渲染事件的名称描述信息和第一非异常渲染事件的父事件的名称描述信息,确定第一非异常渲染事件的模型性能数据;根据第一非异常渲染事件的模型性能数据、着色器性能数据和纹理性能数据,生成第一场景对应的第一图像文件的第一渲染性能数据的方案,能够自动获取第一非异常渲染事件的着色器性能数据和纹理性能数据,以及根据第一非异常渲染事件的名称描述信息和第一非异常渲染事件的父事件的名称描述信息,自动确定第一非异常渲染事件的模型性能数据,并根据第一非异常渲染事件的模型性能数据、着色器性能数据和纹理性能数据,自动生成第一场景对应的第一图像文件的第一渲染性能数据,从而降低渲染性能数据的分析成本,提高渲染性能数据的分析效率,进而提高确定场景性能问题的便捷性以及提高对渲染性能数据进行优化的准确率。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案和优点,下面将对实施例或现有技术描述中所需要使用的附图作简单的介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它附图。
图1是根据一示例性实施例示出的一种渲染数据处理方法的实施环境示意图。
图2是根据一示例性实施例示出的一种渲染数据处理方法的流程示意图。
图3是根据一示例性实施例示出的一种从至少一个第一渲染事件中确定出第一非异常渲染事件的流程示意图。
图4是根据一示例性实施例示出的一种确定第一非异常渲染事件的模型性能数据的流程示意图。
图5是根据一示例性实施例示出的一种渲染事件关联关系示意图。
图6是根据一示例性实施例示出的一种获取着色器性能数据的流程示意图。
图7是根据一示例性实施例示出的一种片元着色器性能数据分析示意图。
图8是根据一示例性实施例示出的一种获取着色器性能数据的流程示意图。
图9是根据一示例性实施例示出的一种生成渲染性能变化数据的流程示意图。
图10是根据一示例性实施例示出的一种确定相同渲染事件、第一差异渲染事件、第二差异渲染事件和新增渲染事件的流程示意图。
图11是根据一示例性实施例示出的一种在图形用户界面输出场景的性能数据的示意图。
图12是根据一示例性实施例示出的一种字符分隔值文件示意图。
图13是根据一示例性实施例示出的一种场景渲染性能对比分析的图形用户界面示意图。
图14是根据一示例性实施例示出的一种场景渲染性能对比分析的字符分隔值文件示意图。
图15是根据一示例性实施例示出的一种渲染数据处理装置的框图。
图16是根据一示例性实施例提供的一种服务器的硬件结构框图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本申请保护的范围。
需要说明的是,本申请实施例的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请实施例的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、***、产品或服务器不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
为了使本申请实施例公开的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请实施例进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请实施例,并不用于限定本申请实施例。
以下,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个该特征。在本实施例的描述中,除非另有说明,“多个”的含义是两个或两个以上。
为了便于更好地理解本申请实施例的技术方案,首先对本申请实施例涉及的技术术语进行说明:
RenderDoc:是一款开源图形调试器,可用于对虚幻引擎4(UE4)等应用程序执行单帧采集。采集内容将被载入到RenderDoc中,并通过事件、应用程序编程接口(ApplicationProgrammingInterface,API)等内容全面检查图像处理器(Graphics Processing Unit,GPU)上的情况。
截帧文件:采用RenderDoc软件采集的单帧图像文件,其文件的后缀为.rdc。
Drawcall:中央处理器(Central Processing Unit,CPU)调用一次图像编程接口命令GPU进行渲染的操作,例如,开放图形库(Open Graphics Library,OpenGL)的图元绘制函数(glDrawElements)命令或者多媒体编程接口(DirectX)的绘制函数(DrawIndexedPrimitive)命令。
合批次数:CPU调用一次渲染命令同时渲染n个模型,这里的n代表的是合批次数。
图1是根据一示例性实施例示出的一种渲染数据处理方法的实施环境示意图。如图1所示,该实施环境至少可以包括客户端01和服务器02,该客户端01和服务器02之间可以通过有线或无线通信方式进行直接或间接地连接,本申请实施例在此不做限制。
具体地,该客户端01用于展示渲染性能数据。示例性地,该客户端01可以包括:智能手机、平板电脑、笔记本电脑、台式计算机、智能音箱、智能手表等,但并不局限于此。
具体地,该服务器02可以用于自动生成第一场景对应的第一图像文件的第一渲染性能数据和第二场景对应的第二图像文件的第二渲染性能数据,以及对第一渲染性能数据和第二渲染性能数据进行比较,得到渲染性能变化数据。示例性地,该服务器02可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式***,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、内容分发网络(Content Delivery Network,CDN)、以及大数据和人工智能平台等基础云计算服务的云服务器。
需要说明的是,图1仅仅是一种示例。在其他场景中,还可以包括其实施环境。
图2是根据一示例性实施例示出的一种渲染数据处理方法的流程示意图,该方法可以用于图1中的实施环境中。本说明书提供了如实施例或流程图上述的方法操作步骤,但基于常规或者无创造性的劳动可以包括更多或者更少的操作步骤。实施例中列举的步骤顺序仅仅为众多步骤执行顺序中的一种方式,不代表唯一的执行顺序。在实际中的***或服务器产品执行时,可以按照实施例或者附图所示的方法顺序执行或者并行执行(例如并行处理器或者多线程处理的环境)。具体的如图2所示,该方法可以包括:
S101.获取目标应用程序的第一场景对应的第一图像文件;第一图像文件为目标应用程序运行时,在第一场景对第一预设模型进行渲染所生成的图像所对应的文件;第一图像文件包括至少一个第一渲染事件。
其中,该目标应用程序可以指的是安装在客户端(如手机、平板电脑等)上,可以完成某项或多项业务的计算机程序,一般需要与服务端互相配合运行。通常,安装于客户端的应用程序包括:游戏类应用程序、资讯类应用程序、购物类应用程序及社交类应用程序等。示例性地,本申请实施例中的目标应用程序为游戏类应用程序。其他实施例中,目标应用程序还可以是其他类应用程序,在此不做限定。
其中,该第一场景的类型可以根据目标应用程序确定。在该目标应用程序为游戏类应用程序的情况下,该第一场景可以为该目标应用程序对应的游戏的一个三维游戏场景。可选地,该目标应用程序对应的游戏可以是单人游戏,也可以是多人游戏,可以是对战游戏,也可以是非对战游戏,本申请实施例对此不做具体限定。
其中,该第一图像文件为目标应用程序运行时,在第一场景对一个或多个第一预设模型进行渲染所生成的图像所对应的文件。可选地,该第一图像文件可以为单帧图像文件,其可以通过RenderDoc软件采集得到。例如,可以将目标应用程序的第一场景输入该RenderDoc软件,通过该RenderDoc软件采集一帧,得到第一图像文件。
其中,上述第一图像文件包括至少一个第一渲染事件。该渲染事件可以与Drawcall相对应,即CPU每调用一次图像编程接口命令GPU进行渲染的操作,可以认为是一次渲染事件。
S103.根据每个第一渲染事件与其他第一渲染事件之间的事件依赖关系,以及每个第一渲染事件的名称描述信息,从至少一个第一渲染事件中确定出第一非异常渲染事件;其他第一渲染事件为至少一个第一渲染事件中,除每个第一渲染事件之外的渲染事件。
可选地,该事件依赖关系可以指的是事件之间的父子依赖关系。例如,事件A是依赖于事件B的,则认为事件B是事件A的父事件,事件A是事件B的子事件。该名称描述信息指的是Name描述。
本申请实施例中的服务器可以根据事件之间的事件依赖关系和名称描述信息,从至少一个第一渲染事件中确定出第一非异常渲染事件。该第一非异常渲染事件可以指的是有效的、能够被统计计算的渲染事件。该第一非异常渲染事件的数量可以为一个或多个。
S105.获取第一非异常渲染事件的着色器性能数据和纹理性能数据;以及基于第一非异常渲染事件的名称描述信息和第一非异常渲染事件的父事件的名称描述信息,确定第一非异常渲染事件的模型性能数据;模型性能数据为与第一预设模型相关联的性能数据。
一方面,本申请实施例中的服务器可以根据事件之间的事件依赖关系,获取第一非异常渲染事件的父事件,并根据第一非异常渲染事件的名称描述信息和第一非异常渲染事件的父事件的名称描述信息,确定第一非异常渲染事件的模型性能数据,该模型性能数据为与第一预设模型相关联的性能数据。
另一方面,本申请实施例中的服务器还可以获取第一非异常渲染事件的着色器性能数据和纹理性能数据。该着色器性能数据和纹理性能数据的获取方式可以有多种,本申请实施例对此不做具体限定。
S107.根据第一非异常渲染事件的模型性能数据、着色器性能数据和纹理性能数据,生成第一场景对应的第一图像文件的第一渲染性能数据。
其中,服务器可以对第一非异常渲染事件的模型性能数据、着色器性能数据和纹理性能数据进行分析,生成第一场景对应的第一图像文件的第一渲染性能数据。
由此,在单场景渲染性能数据分析中,服务器能够自动获取第一非异常渲染事件的着色器性能数据和纹理性能数据,以及根据第一非异常渲染事件的名称描述信息和第一非异常渲染事件的父事件的名称描述信息,自动确定第一非异常渲染事件的模型性能数据,并根据第一非异常渲染事件的模型性能数据、着色器性能数据和纹理性能数据,自动生成第一场景对应的第一图像文件的第一渲染性能数据,从而降低渲染性能数据的分析成本,提高渲染性能数据的分析效率,进而提高确定场景性能问题的便捷性以及对渲染性能数据进行优化的准确率。
图3是根据一示例性实施例示出的一种从至少一个第一渲染事件中确定出第一非异常渲染事件的流程示意图,如图3所示,在一个可选的实施例中,在上述步骤S103中,上述根据每个第一渲染事件与其他第一渲染事件之间的事件依赖关系,以及每个第一渲染事件的名称描述信息,从至少一个第一渲染事件中确定出第一非异常渲染事件,可以包括:
S1031.根据每个第一渲染事件的名称描述信息,从至少一个第一渲染事件中确定出名称描述信息包括绘制指令的第一候选非异常渲染事件。
S1033.根据事件依赖关系从至少一个第一渲染事件中确定出第二候选非异常渲染事件;第二候选非异常渲染事件为第一候选非异常渲染事件的父事件。
S1035.根据第一候选非异常渲染事件和第二候选非异常渲染事件,生成第一非异常渲染事件。
在上述步骤S1031-步骤S1035中,服务器可以判断每个第一渲染事件的名称描述信息是否包括绘制指令(例如,Drawcall),并将名称描述信息中包括绘制指令的第一渲染事件确定为第一候选非异常渲染事件,即确定为有效渲染事件。服务器可以进一步根据不同事件之间的事件依赖关系,判断至少一个第一渲染事件中,哪些渲染事件为该有效渲染事件的父事件,得到第二候选非异常渲染事件。服务器对该第一候选非异常渲染事件和第二候选非异常渲染事件进行汇总,得到第一非异常渲染事件。
可见,对于第一非异常渲染事件(即有效渲染事件),其可以指的是:名称描述信息中包括绘制指令的渲染事件、为其他有效渲染事件的父事件的渲染事件、名称描述信息中包括绘制指令的渲染事件且为其他有效渲染事件的父事件的渲染事件。
需要说明的是,如果一个渲染事件的名称描述信息中既不包括绘制指令,且其不是其他有效渲染事件的父事件,则认为该渲染事件是无效渲染事件。对于无效渲染事件,本申请实施例不予统计。
由于名称描述信息中包括绘制指令表征存在CPU调用图像编程接口命令GPU进行渲染的操作,而有效渲染事件的父事件通常也是有效的,因此根据事件之间的依赖关系以及事件的名称描述信息确定有效的第一非异常渲染事件,能够提高有效的第一非异常渲染事件的确定精度,从而提高渲染性能数据的分析精度,进而提高对渲染性能数据进行优化的准确率;且根据事件之间的依赖关系以及事件的名称描述信息,能够自动分析出有效渲染事件,提高有效渲染事件的分析效率、降低有效渲染事件的分析成本,进而降低渲染性能数据的分析成本,提高渲染性能数据的分析效率。
图4是根据一示例性实施例示出的一种确定第一非异常渲染事件的模型性能数据的流程示意图,如图4所示,在一些可行的实施例中,在上述步骤S105中,上述基于第一非异常渲染事件的名称描述信息和第一非异常渲染事件的父事件的名称描述信息,确定第一非异常渲染事件的模型性能数据,可以包括:
S1051.获取第一非异常渲染事件的名称描述信息,以及获取第一非异常渲染事件的父事件的名称描述信息。
S1053.从第一非异常渲染事件的名称描述信息中获取第一预设模型的模型面数信息和第一预设模型的合批次数信息;合批次数信息用于表征被渲染的第一预设模型的数量。
S1055.基于预设字符串或预设正则表达式对第一非异常渲染事件的父事件的名称描述信息进行分割匹配,得到第一预设模型的材质信息、模型名称信息和渲染通道信息。
S1057.根据第一预设模型的模型面数信息、合批次数信息、材质信息、模型名称信息和渲染通道信息,生成第一非异常渲染事件的模型性能数据。
在上述步骤S1051-S1053中,服务器可以获取第一非异常渲染事件的名称描述信息和第一非异常渲染事件的父事件的名称描述信息,并调用RenderDoc提供的API接口获取第一非异常渲染事件的身份证标识号(Identity Document,ID),即事件ID(EventID)。以及从第一非异常渲染事件的名称描述信息中获取当前渲染的第一预设模型的模型面数信息和当前渲染的第一预设模型的合批次数信息;该合批次数信息用于表征当前Drawcall所渲染的第一预设模型的数量。
需要说明的是,第一非异常渲染事件的名称描述信息中获取的可能是当前渲染的第一预设模型的模型顶点数,并非直接获取得到模型面数信息,由于模型顶点数和模型面数之间存在特定的映射关系,服务器可以基于该映射关系对模型顶点数进行计算,得到模型面数信息。
在上述步骤S1055中,服务器可以解析第一非异常渲染事件的父事件的名称描述信息,得到当前渲染的第一预设模型的材质信息、模型名称信息和渲染通道信息(Pass)。可选地,服务器可以使用预设分割匹配方法对第一非异常渲染事件的父事件的名称描述信息进行分割匹配,得到第一预设模型的材质信息、模型名称信息和渲染通道信息。示例性地,该预设分割匹配方法可以为split(‘ ’)方法。
在一种实施方式中,上述预设分割匹配方法可以基于预设字符串实现:服务器可以基于预设字符串对第一非异常渲染事件的父事件的名称描述信息进行分割匹配,得到第一预设模型的材质信息、模型名称信息和渲染通道信息。该预设字符串可以是指定的字符串,服务器将第一非异常渲染事件的父事件的名称描述信息对应的字符串,按照指定的字符串进行划分,在分割的时候,会将指定的字符串去掉。
在另一种实施方式中,上述预设分割匹配方法可以基于预设正则表达式实现:服务器可以基于预设正则表达式对第一非异常渲染事件的父事件的名称描述信息进行分割匹配,得到第一预设模型的材质信息、模型名称信息和渲染通道信息。服务器可以将第一非异常渲染事件的父事件的名称描述信息对应的字符串,使用正则表达式提供的规则进行划分,在分割的时候,正则表达式定义的字符将被保留。
在上述步骤S1057中,服务器可以对第一预设模型的模型面数信息、合批次数信息、材质信息、模型名称信息和渲染通道信息进行分析汇总,得到第一非异常渲染事件的模型性能数据。
可选地,该渲染通道信息可以为Drawcall渲染所在的通道,其可以包括但不限于:EarlyZPass、StaticOpaque、DynamicOpaque、DynamicMasked、Translucency、SlateUI等。
EarlyZPass:该通道对场景的植被做渲染优化操作,以便剔除场景中离摄像机远的被遮挡。
StaticOpaque:渲染静态加载的物件,如建筑、场景摆件等。
DynamicOpaque:动态加载的物件,如游戏角色等。
DynamicMasked:利用掩膜(Mask)材质渲染的物体,如场景植被,人物头发等。
Translucency:利用透明材质渲染的物体,如粒子特效等。
SlateUI:渲染游戏界面设计(UI)的通道。
可选地,该模型面数信息可以指的是Triangles,即单次Drawcall渲染的三角形面数。
可选地,该合批次数信息可以指的是Instances:即单次Drawcall合批渲染的批次数。
可选地,该材质信息可以指的是Mat,即单次Drawcall渲染使用的材质。
可选地,该模型名称信息可以指的是Mesh,即单次Drawcall渲染的模型的名称。
由此,在单场景渲染性能数据分析中,服务器能够自动根据第一非异常渲染事件的名称描述信息,自动确定第一预设模型的模型面数信息和第一预设模型的合批次数信息,并根据预设字符串或预设正则表达式自动对第一非异常渲染事件的父事件的名称描述信息进行分割匹配,得到第一预设模型的材质信息、模型名称信息和渲染通道信息,从而降低模型性能数据的分析成本,提高模型性能数据的分析效率,进而降低渲染性能数据的分析成本,提高渲染性能数据的分析效率;此外,还能够提高模型性能数据的分析精度,从而提高渲染性能数据的分析精度,进而提高对渲染性能数据进行优化的准确率。
在一个可选的实施例中,在上述步骤S1051中,上述获取第一非异常渲染事件的父事件的名称描述信息,可以包括:
获取目标父事件的第一名称描述信息,以及获取目标父事件所对应的父事件的第二名称描述信息;目标父事件为第一非异常渲染事件的父事件。
相应地,在上述步骤S1055中,上述基于预设字符串或预设正则表达式对第一非异常渲染事件的父事件的名称描述信息进行分割匹配,得到第一预设模型的材质信息、模型名称信息和渲染通道信息,可以包括:
基于预设字符串或预设正则表达式对第一名称描述信息进行分割匹配,得到第一预设模型的材质信息和模型名称信息;以及基于预设字符串或预设正则表达式对第二名称描述信息进行分割匹配,得到第一预设模型的渲染通道信息。
该实施例中,服务器不仅可以获取第一非异常渲染事件的父事件(即目标父事件)的第一名称描述信息,还可以进一步向上追溯第一非异常渲染事件的父事件所对应的父事件的第二名称描述信息。
在Name描述中,材质信息与模型名称信息是通过空格分开,故而服务器在遍历渲染事件,以获得某次渲染事件的材质信息及模型名称信息时,可以通过预设分割匹配方法对第一非异常渲染事件(即有效渲染事件)的父事件的Name描述做分割匹配。如果本次渲染事件是有效渲染事件,获取其父事件的Name描述,并按照预设分割匹配方法对父事件的Name描述进行匹配,得到该次渲染的材质信息及模型名称信息。进一步获取第一非异常渲染事件的父事件(即目标父事件)所对应的父事件的Name描述,并按照预设分割匹配方法对目标父事件所对应的父事件的Name描述进行匹配,得到该次渲染的渲染通道信息。可选地,该预设分割匹配方法可以为基于预设字符串的分割匹配方法或基于预设正则表达式的分割匹配方法。
由此,在单场景渲染性能数据分析中,服务器能够自动根据预设字符串或预设正则表达式,对第一名称描述信息进行分割匹配,得到第一预设模型的材质信息和模型名称信息;以及进一步向上追溯第一非异常渲染事件的父事件所对应的父事件,并自动基于预设字符串或预设正则表达式对第二名称描述信息进行分割匹配,得到第一预设模型的渲染通道信息,从而进一步降低模型性能数据的分析成本,提高模型性能数据的分析效率和分析精度,进而进一步降低渲染性能数据的分析成本,提高渲染性能数据的分析效率和分析精度。
以下,举例对上述获取第一非异常渲染事件的模型性能数据的过程进行说明:
图5是根据一示例性实施例示出的一种渲染事件关联关系示意图。如图5所示,第一图像文件所包括的至少一个第一渲染事件为事件1至事件6,该事件1的Name描述为DynamicMasked,事件2的Name描述为BaseMat_Grass_BillboardSF_Grass,事件3的Name描述为glDrawElementslnstanced(6,53),事件4的Name描述为Mat_Hair_PlayerM_Hair,事件5的Name描述为glDrawElements(3000),事件6的Name描述为StaticMasked。其中,事件6的Name描述中有静态掩膜(StaticMasked),并无绘制指令,且其不是其它有效渲染事件的父事件,所以在算法统计时被确定为无效渲染事件,不予统计。事件3、事件5的Name描述中有绘制指令“glDrawElementsInstanced”、“glDrawElements”,判定为有效的渲染事件(即第一非异常渲染事件),“glDrawElements(3000)”表示从数组中提取数据渲染图元,其中的“3000”代表当前渲染的模型顶点数是3000;指令中的后缀“-Instanced”表示当前渲染是合批渲染事件,括号中内容(6,53)中的第一个参数“6”指的是当前渲染模型的顶点数,可以根据该顶点数计算出模型面数信息,第二个参数“53”指的是当前Drawcall共渲染了53个模型,即合批次数信息。事件2是事件3的父事件,事件2中的Name描述“BaseMat_Grass_BillboardSF_Grass”包含了该次渲染的材质“BaseMat_Grass_Billboard”及模型名称信息“SF_Grass”,它们中间通过空格来分开。事件1是事件2及事件4的父事件,事件1中的Name描述“DynamicMasked”表征当前渲染事件所在的渲染通道信息。
在一个可选的实施例中,在上述步骤S105中,上述获取第一非异常渲染事件的着色器性能数据,包括:
获取第一非异常渲染事件的渲染管线信息。
确定渲染管线信息中所使用的着色器的资源标识信息。
根据着色器的资源标识信息获取着色器反射信息,以及根据着色器反射信息确定着色器原始数据。
解码着色器原始数据,得到着色器源文件。
编译着色器源文件对应的着色器,获取着色器在编译过程中所消耗的图像处理器的指令周期,得到着色器性能数据。
图6是根据一示例性实施例示出的一种获取着色器性能数据的流程示意图,如图6所示,该第一非异常渲染事件的数量可以为至少一个,每个渲染事件都有其对应的顶点着色器(Vertex Shader)及片元着色器(Fragment Shader),这些着色器(Shader)有着唯一的资源ID,所以解析后以Shader ID为文件名来保存源码。
本申请实施例在解析第一图像文件之后,可以逐事件遍历,获取每个第一非异常渲染事件的渲染管线信息,获取渲染管线信息中所使用的着色器的资源标识信息,例如,顶点着色器及片元着色器的资源ID,进一步根据着色器的资源标识信息获取顶点着色器及片元着色器的反射信息,并根据反射信息获取Shader的原始数据,对这些原始数据解码就获得了真机运行的着色器源文件,即Shader代码。
本申请实施例中,在获取得到着色器数据之后,可以基于着色器数据对着色器进行分析,得到着色器性能数据。作为一种示例,服务器可以调用预设离线编译器(例如,Mali离线编译器),实时编译着色器源文件对应的着色器(例如,编译顶点着色器和像素着色器),动态获取这些Shader在编译过程中所消耗的图像处理器的指令周期,得到着色器性能数据。可选地,该指令周期可以包括但不限于:
VS-Arith:Vertex Shader逻辑运算消耗的GPU的指令周期数。
VS-LS:Vertex Shader加载存储消耗的GPU的指令周期数。
PS-Arith:Fragment Shader逻辑运算消耗的GPU的指令周期数。
PS-LS:Fragment Shader加载存储消耗的GPU的指令周期数。
PS-Tex:Fragment Shader纹理采样消耗的GPU的指令周期数。
可选地,该图像处理器支持不同架构的GPU(例如,Valhall architecture、Bifrost architecture、Midgard architecture等),并支持多种GPU(例如,Mali-G710、Mali-G610、Mali-G510、Mali-G310、Mali-G78AE、Mali-G78、Mali-G77、Mali-G68、Mali-G57、Mali-G72、Mali-G71、Mali-G52、Mali-G51、Mali-G31、Mali-T880、Mali-T860、Mali-T830、Mali-T820、Mali-T760、Mali-T720等)。
图7是根据一示例性实施例示出的一种片元着色器性能数据分析示意图,如图7所示,对该片元着色器进行性能分析,得到的性能数据分别为:PS-Arith为27.5,PS-LS为13.0,PS-Tex为5.0。
在一个可选的实施例中,在上述步骤S105中,上述获取第一非异常渲染事件的纹理性能数据,包括:
获取预设纹理资源。
从预设纹理资源中获取第一非异常渲染事件的纹理资源信息;纹理资源信息包括第一非异常渲染事件所使用到的纹理贴图的数量信息、尺寸信息、格式信息中的至少一种。
基于第一非异常渲染事件所使用到的纹理贴图的数量信息、尺寸信息、格式信息中的至少一种,确定第一非异常渲染事件的纹理性能数据。
图8是根据一示例性实施例示出的一种获取着色器性能数据的流程示意图,如图8所示,该第一非异常渲染事件的数量可以为至少一个,每个第一非异常渲染事件的纹理信息包含该渲染事件采样所用的纹理贴图的数量信息,每张纹理贴图的格式信息,每张纹理贴图的尺寸信息(宽、高信息)及采样格式等信息。
服务器可以遍历资源,依据资源的类型从其中找到所有的纹理资源,依据每个纹理资源的使用事件信息从而获取得到每个第一非异常渲染事件的纹理资源,依据纹理资源的texture信息获取每个纹理资源的详细信息,包括第一非异常渲染事件所使用到的纹理贴图的数量信息、尺寸信息、格式信息中的至少一种,并基于第一非异常渲染事件所使用到的纹理贴图的数量信息、尺寸信息、格式信息中的至少一种,确定第一非异常渲染事件的纹理性能数据。其中,texture指的是单次Drawcall渲染的所用的纹理贴图的个数、每张纹理贴图的格式、宽、高、资源ID等信息。
图9是根据一示例性实施例示出的一种生成渲染性能变化数据的流程示意图,如图9所示,在一些可选的实施例中,在上述生成第一场景对应的第一图像文件的第一渲染性能数据之后,上述方法还可以包括:
S201.获取目标应用程序的第二场景对应的第二图像文件的第二渲染性能数据;第二场景和第一场景为目标应用程序对应的不同版本的同一场景,或者第二场景和第一场景为目标应用程序对应的同一版本的不同场景;第二图像文件为目标应用程序运行时,在第二场景对第二预设模型进行渲染所生成的图像所对应的文件;第二图像文件包括至少一个第二渲染事件;第二渲染性能数据为根据第二非异常渲染事件的模型性能数据、着色器性能数据和纹理性能数据生成;第二非异常渲染事件的模型性能数据,为基于第二非异常渲染事件的名称描述信息和第二非异常渲染事件的父事件的名称描述信息确定得到;第二非异常渲染事件为根据每个第二渲染事件与其他第二渲染事件之间的事件依赖关系,以及每个第二渲染事件的名称描述信息,从至少一个第二渲染事件中确定得到;其他第二渲染事件为至少一个第二渲染事件中,除每个第二渲染事件之外的渲染事件。
S203.对比第一渲染性能数据和第二渲染性能数据,得到第二场景相对于第一场景的渲染性能变化数据;渲染性能变化数据用于调整目标应用程序的不同场景的性能数据。
该实施例中,在目标应用程序对应的场景发生变化,即由第一场景变换为第二场景的情况下,服务器可以获取目标应用程序的第二场景对应的第二图像文件的第二渲染性能数据。其中,该第二图像文件为目标应用程序运行时,在第二场景对一个或多个第二预设模型进行渲染所生成的图像所对应的文件。可选地,与第一图像文件类似,该第二图像文件可以为单帧图像文件,其可以通过RenderDoc软件采集得到。例如,可以将目标应用程序的第二场景输入该RenderDoc软件,通过该RenderDoc软件采集一帧,得到第二图像文件。其中,上述第二图像文件包括至少一个第二渲染事件。可选地,以目标应用程序为游戏应用程序,场景为游戏场景为例,由于在游戏场景中,角色在游戏中的坐标和朝向是固定不变的,场景变化可以指同一位置和朝向的游戏场景的变化。该场景发生变化可以包括但不限于:场景的摆放布局变化、模型的材质信息变化、模型的面数信息变化、模型的合批次数变化、采样的纹理贴图变化、模型渲染所用的Shader所消耗的GPU指令周期变化等信息。在一种实施方式中,第二场景和第一场景可以为目标应用程序对应的不同版本的同一场景。在另一种实施方式中,第二场景和第一场景可以为目标应用程序对应的同一版本的不同场景。以目标应用程序为游戏类应用程序为例,该版本可以指的是游戏版本。
需要说明的是,该第二预设模型可以与该第一预设模型相同,也可以与该第一预设模型不同,第二渲染性能数据的生成过程与第一渲染性能数据的生成过程相同,即第二渲染性能数据为根据第二非异常渲染事件的模型性能数据、着色器性能数据和纹理性能数据生成。该第二非异常渲染事件的模型性能数据为根据第一预设模型的模型面数信息、合批次数信息、材质信息、模型名称信息和渲染通道信息生成。
在获取得到第二渲染性能数据之后,服务器可以对比第一渲染性能数据和第二渲染性能数据,得到第二场景相对于第一场景的渲染性能变化数据;渲染性能变化数据用于调整目标应用程序的不同场景的性能数据。由此,能够在场景发生变化时,对场景渲染性能数据进行自动对比分析,快速输出场景变化前后的对比信息,提高确定场景性能变化数据的便捷性和确定效率,减少场景性能变化数据分析的耗时,同时能够提高确定场景性能变化数据的精度,降低确定场景性能变化数据的成本,进而便于快速发现场景的细微性能变化,并据此快速做出有效的优化策略,加快游戏的开发进程。
继续如图9所示,在一个可选的实施例中,在上述步骤S203中,上述对比第一渲染性能数据和第二渲染性能数据,得到第二场景相对于第一场景的渲染性能变化数据,可以包括:
S2031.对比第一渲染性能数据和第二渲染性能数据,以从第一图像文件所包括的第一非异常渲染事件中,确定出与第二图像文件所包括的第二非异常渲染事件对应的相同渲染事件、以及确定出与第二图像文件所包括的第二非异常渲染事件对应的第一差异渲染事件,以及确定出与第二图像文件所包括的第二非异常渲染事件对应的第二差异渲染事件;以及从第二图像文件所包括的第二非异常渲染事件中确定出新增渲染事件。
S2033.根据相同渲染事件、第一差异渲染事件、第二差异渲染事件和新增渲染事件各自对应的渲染性能数据,生成渲染性能变化数据。
该实施例中,由于第一渲染性能数据是第一场景对应的第一图像文件的第一渲染性能数据,第二渲染性能数据为第二图像文件的第二渲染性能数据,服务器可以对比第一渲染性能数据和第二渲染性能数据,以从至少四个维度确定出不同类型的渲染事件:
1)完全相同的渲染事件:即从第一图像文件所包括的第一非异常渲染事件中,确定出与第二图像文件所包括的第二非异常渲染事件对应的相同渲染事件。其中,相同渲染事件的渲染性能数据与第二非异常渲染事件的渲染性能数据相同。需要说明的是,渲染性能数据相同指的是模型性能数据、着色器性能数据和纹理性能数据均相同。
2)同材质信息、模型名称信息、模型面数信息,不同着色器性能数据的渲染事件:即从第一图像文件所包括的第一非异常渲染事件中,确定出与第二图像文件所包括的第二非异常渲染事件对应的第一差异渲染事件。其中,第一差异渲染事件的渲染性能数据中的材质信息、模型名称信息、模型面数信息,分别与第二非异常渲染事件的渲染性能数据中的材质信息、模型名称信息、模型面数信息相同,且第一差异渲染事件的渲染性能数据中的着色器性能数据,与第二非异常渲染事件的渲染性能数据中的着色器性能数据不同。即第一差异渲染事件与第二非异常渲染事件具有相同的第一属性信息,具有不同的第二属性信息,第一属性信息包括材质信息、模型名称信息和模型面数信息,第二属性信息为着色器性能数据。
3)同材质信息、模型名称信息,不同模型面数信息或合批次数信息的渲染事件:即从第一图像文件所包括的第一非异常渲染事件中,确定出与第二图像文件所包括的第二非异常渲染事件对应的第二差异渲染事件。其中,第二差异渲染事件的渲染性能数据中的材质信息、模型名称信息,分别与第二非异常渲染事件的渲染性能数据中的材质信息、模型名称信息相同,且第二差异渲染事件的渲染性能数据中的模型面数信息或合批次数信息,分别与第二非异常渲染事件的渲染性能数据中的模型面数信息或合批次数信息不同。即第二差异渲染事件与第二非异常渲染事件具有相同的第三属性信息,具有不同的第四属性信息,第三属性信息包括材质信息和模型名称信息,第四属性信息为模型面数信息或合批次数信息。
4)新增渲染事件:从第二图像文件所包括的第二非异常渲染事件中确定出新增渲染事件。其中,新增渲染事件的渲染性能数据中的材质信息、模型名称信息,分别与第一非异常渲染事件的渲染性能数据中的材质信息、模型名称信息不同。即在第一非异常渲染事件中找不到与该新增渲染事件对应的同材质信息、模型名称信息的渲染事件。也即新增渲染事件与第一非异常渲染事件具有不同的第五属性信息,第五属性信息包括材质信息和模型名称信息。
该实施例中,在服务器确定得到相同渲染事件、第一差异渲染事件、第二差异渲染事件和新增渲染事件之后,可以对相同渲染事件、第一差异渲染事件、第二差异渲染事件和新增渲染事件各自对应的渲染性能数据进行汇总分析,得到渲染性能变化数据。
由此,能够从不同维度自动对场景变化后的渲染性能数据进行分析,自动、便捷、快速输出材质信息、模型名称信息、模型面数信息、合批次数信息、着色器性能消耗等多维度的性能数据,且能快速定位场景中的细微差别,提高确定场景性能变化数据的便捷性和确定效率,减少场景性能变化数据分析的耗时,同时能够提高确定场景性能变化数据的精度,降低确定场景性能变化数据的成本,进而便于快速发现场景的细微性能变化,并据此快速做出有效的优化策略,加快游戏的开发进程。
在一些可选的实施例中,上述第二非异常渲染事件的数量为至少两个,则在上述步骤S2031中,上述确定出与第二图像文件所包括的第二非异常渲染事件对应的相同渲染事件,可以包括:
将第一图像文件所包括的第一非异常渲染事件确定为当前第一非异常渲染事件;依次遍历每个第二非异常渲染事件,将遍历到的每个第二非异常渲染事件确定为当前第二非异常渲染事件,并在遍历当前第二非异常渲染事件时执行以下操作:从当前第一非异常渲染事件中确定出与当前第二非异常渲染事件对应的相同渲染事件;将当前确定的相同渲染事件从当前第一非异常渲染事件中删除,得到第三候选非异常渲染事件;重新确定第三候选非异常渲染事件为当前第一非异常渲染事件。
根据每个第二非异常渲染事件对应的相同渲染事件,生成与第二图像文件所包括的第二非异常渲染事件对应的相同渲染事件。
图10是根据一示例性实施例示出的一种确定相同渲染事件、第一差异渲染事件、第二差异渲染事件和新增渲染事件的流程示意图,如图10所示,至少两个第二非异常渲染事件可以按序排列,在获取第一图像文件和第二图像文件各自对应的性能数据之后,服务器可以逐个事件比较第一图像文件和第二图像文件,以确定性能数据完全相同的渲染事件。具体为,服务器将第一图像文件所包括的第一非异常渲染事件确定为当前第一非异常渲染事件,服务器遍历排序第一位的第二非异常渲染事件,将排序第一位的第二非异常渲染事件作为当前第二非异常渲染事件,服务器从当前第一非异常渲染事件中找到渲染性能数据与该当前第二非异常渲染事件的性能数据完全相同的相同渲染事件,标记相同渲染事件。服务器将相同渲染事件从当前第一非异常渲染事件中删除,得到第三候选非异常渲染事件;重新确定第三候选非异常渲染事件为当前第一非异常渲染事件。接着遍历排序第二位的第二非异常渲染事件,将排序第二位的第二非异常渲染事件作为当前第二非异常渲染事件,服务器从当前第一非异常渲染事件中找到渲染性能数据,与该当前第二非异常渲染事件的性能数据完全相同的相同渲染事件,标记相同渲染事件。服务器将相同渲染事件从当前第一非异常渲染事件中删除,得到第三候选非异常渲染事件;重新确定第三候选非异常渲染事件为当前第一非异常渲染事件。以此类推,直至遍历完所有的第二非异常渲染事件。最后服务器对每个第二非异常渲染事件对应的相同渲染事件进行汇总,得到与第二图像文件所包括的第二非异常渲染事件对应的相同渲染事件。
以下,举例对上述确定相同渲染事件的过程进行说明:
假设至少两个第二非异常渲染事件为第二非异常渲染事件1、第二非异常渲染事件2和第二非异常渲染事件3。
服务器首先遍历第二非异常渲染事件1,将第一图像文件所包括的第一非异常渲染事件确定为当前第一非异常渲染事件,在当前第一非异常渲染事件中找到与第二非异常渲染事件1的渲染性能数据完全相同的渲染事件,标记相同渲染事件,服务器将该完全相同的渲染事件从当前第一非异常渲染事件中删除,得到新的当前第一非异常渲染事件。接着服务器遍历第二非异常渲染事件2,从新的当前第一非异常渲染事件中确定出与第二非异常渲染事件2的渲染性能数据完全相同的渲染事件,标记相同渲染事件,服务器将该完全相同的渲染事件删除,得到新的当前第一非异常渲染事件。接着服务器遍历第二非异常渲染事件3,从新的当前第一非异常渲染事件中确定出与第二非异常渲染事件3的渲染性能数据完全相同的渲染事件,标记相同渲染事件。最后,服务器将与第二非异常渲染事件1的渲染性能数据完全相同的渲染事件、与第二非异常渲染事件2的渲染性能数据完全相同的渲染事件、与第二非异常渲染事件3的渲染性能数据完全相同的渲染事件进行汇总,得到与第二图像文件所包括的第二非异常渲染事件对应的相同渲染事件。
需要说明的是,可能存在某个第二非异常渲染事件在第一图像文件所包括的第一非异常渲染事件中,找不到渲染性能数据完全相同的渲染事件的情况,在该情况下,无需对第一图像文件所包括的第一非异常渲染事件做任何删除操作,直接遍历下一个第二非异常渲染事件即可。
由此,能够从渲染性能数据完全相同的维度自动对场景变化后的渲染性能数据进行分析,自动、便捷、快速输出材质信息、模型名称信息、模型面数信息、合批次数信息、着色器等性能数据完全相同的渲染事件,提高确定场景性能变化数据的便捷性和确定效率,减少场景性能变化数据分析的耗时,同时能够提高确定场景性能变化数据的精度,降低确定场景性能变化数据的成本,进而便于快速发现场景的细微性能变化,并据此快速做出有效的优化策略,加快游戏的开发进程。
在一些可选的实施例中,上述第二非异常渲染事件的数量为至少两个,则在上述步骤S2031中,上述确定出与第二图像文件所包括的第二非异常渲染事件对应的第一差异渲染事件,包括:
将第一图像文件所包括的第一非异常渲染事件确定为当前第一非异常渲染事件;依次遍历每个第二非异常渲染事件,将遍历到的每个第二非异常渲染事件确定为当前第二非异常渲染事件,并在遍历当前第二非异常渲染事件时执行以下操作:从当前第一非异常渲染事件中确定出与当前第二非异常渲染事件对应的第一差异渲染事件;将当前确定的第一差异渲染事件从当前第一非异常渲染事件中删除,得到第四候选非异常渲染事件;重新确定第四候选非异常渲染事件为当前第一非异常渲染事件。
根据每个第二非异常渲染事件对应的第一差异渲染事件,生成与第二图像文件所包括的第二非异常渲染事件对应的第一差异渲染事件。
继续如图10所示,本申请实施例中,至少两个第二非异常渲染事件可以按序排列,在获取第一图像文件和第二图像文件各自对应的渲染性能数据之后,服务器可以逐个事件比较第一图像文件和第二图像文件,以确定第一差异渲染事件。具体为,服务器将第一图像文件所包括的第一非异常渲染事件确定为当前第一非异常渲染事件,服务器遍历排序第一位的第二非异常渲染事件,将排序第一位的第二非异常渲染事件作为当前第二非异常渲染事件,服务器从当前第一非异常渲染事件中查找渲染性能数据中的材质信息、模型名称信息、模型面数信息,分别与当前第二非异常渲染事件的渲染性能数据中的材质信息、模型名称信息、模型面数信息相同,且渲染性能数据中的着色器性能数据,与当前第二非异常渲染事件的渲染性能数据中的着色器性能数据不同的第一差异渲染事件,标记该第一差异渲染事件。服务器将第一差异渲染事件从当前第一非异常渲染事件中删除,得到第四候选非异常渲染事件;重新确定第四候选非异常渲染事件为当前第一非异常渲染事件。接着遍历排序第二位的第二非异常渲染事件,将排序第二位的第二非异常渲染事件作为当前第二非异常渲染事件,服务器从新的当前第一非异常渲染事件中查找渲染性能数据中的材质信息、模型名称信息、模型面数信息,分别与当前第二非异常渲染事件的渲染性能数据中的材质信息、模型名称信息、模型面数信息相同,且渲染性能数据中的着色器性能数据,与当前第二非异常渲染事件的渲染性能数据中的着色器性能数据不同的第一差异渲染事件,标记该第一差异渲染事件。服务器将第一差异渲染事件从当前第一非异常渲染事件中删除,得到第四候选非异常渲染事件;重新确定第四候选非异常渲染事件为当前第一非异常渲染事件。以此类推,直至遍历完所有的第二非异常渲染事件。最后服务器对每个第二非异常渲染事件对应的第一差异渲染事件进行汇总,得到与第二图像文件所包括的第二非异常渲染事件对应的第一差异渲染事件。
以下,举例对上述确定第一差异渲染事件的过程进行说明:
假设至少两个第二非异常渲染事件为第二非异常渲染事件1、第二非异常渲染事件2和第二非异常渲染事件3。
服务器首先遍历第二非异常渲染事件1,将第一图像文件所包括的第一非异常渲染事件确定为当前第一非异常渲染事件,在当前第一非异常渲染事件中找到渲染性能数据中的材质信息、模型名称信息、模型面数信息,分别与第二非异常渲染事件1的渲染性能数据中的材质信息、模型名称信息、模型面数信息相同,且渲染性能数据中的着色器性能数据,与第二非异常渲染事件1的渲染性能数据中的着色器性能数据不同的第一差异渲染事件,标记该第一差异渲染事件,服务器将该第一差异渲染事件从当前第一非异常渲染事件中删除,得到新的当前第一非异常渲染事件。接着服务器遍历第二非异常渲染事件2,从新的当前第一非异常渲染事件中确定出,渲染性能数据中的材质信息、模型名称信息、模型面数信息,分别与第二非异常渲染事件2的渲染性能数据中的材质信息、模型名称信息、模型面数信息相同,且渲染性能数据中的着色器性能数据,与第二非异常渲染事件2的渲染性能数据中的着色器性能数据不同的第一差异渲染事件,标记该第一差异渲染事件,服务器将该第一差异渲染事件删除,得到新的当前第一非异常渲染事件。接着服务器遍历第二非异常渲染事件3,从新的当前第一非异常渲染事件中确定出,渲染性能数据中的材质信息、模型名称信息、模型面数信息,分别与第二非异常渲染事件3的渲染性能数据中的材质信息、模型名称信息、模型面数信息相同,且渲染性能数据中的着色器性能数据,与第二非异常渲染事件3的渲染性能数据中的着色器性能数据不同的第一差异渲染事件,标记该第一差异渲染事件。最后,服务器将与第二非异常渲染事件1对应的第一差异渲染事件、与第二非异常渲染事件2对应的第一差异渲染事件、与第二非异常渲染事件3对应的第一差异渲染事件进行汇总,得到与第二图像文件所包括的第二非异常渲染事件对应的第一差异渲染事件。
需要说明的是,可能存在某个第二非异常渲染事件在第一图像文件所包括的第一非异常渲染事件中,找不到对应的第一差异渲染事件的情况,在该情况下,无需对第一图像文件所包括的第一非异常渲染事件做任何删除操作,直接遍历下一个第二非异常渲染事件即可。
由此,能够从同材质信息、模型名称信息、模型面数信息、不同着色器性数据的维度自动对场景变化后的渲染性能数据进行分析,自动、便捷、快速输出同材质信息、模型名称信息、面数信息、不同着色器性数据的第一差异渲染事件,提高确定场景性能变化数据的便捷性和确定效率,减少场景性能变化数据分析的耗时,同时能够提高确定场景性能变化数据的精度,降低确定场景性能变化数据的成本,进而便于快速发现场景的细微性能变化,并据此快速做出有效的优化策略,加快游戏的开发进程。
在一些可选的实施例中,上述第二非异常渲染事件的数量为至少两个,则在上述步骤S2031中,上述确定出与第二图像文件所包括的第二非异常渲染事件对应的第二差异渲染事件,包括:
将第一图像文件所包括的第一非异常渲染事件确定为当前第一非异常渲染事件;依次遍历每个第二非异常渲染事件,将遍历到的每个第二非异常渲染事件确定为当前第二非异常渲染事件,并在遍历当前第二非异常渲染事件时执行以下操作:从当前第一非异常渲染事件中确定出与当前第二非异常渲染事件对应的第二差异渲染事件;将当前确定的第二差异渲染事件从当前第一非异常渲染事件中删除,得到第五候选非异常渲染事件;重新确定第五候选非异常渲染事件为当前第一非异常渲染事件。
根据每个第二非异常渲染事件对应的第二差异渲染事件,生成与第二图像文件所包括的第二非异常渲染事件对应的第二差异渲染事件。
继续如图10所示,本申请实施例中,至少两个第二非异常渲染事件可以按序排列,在获取第一图像文件和第二图像文件各自对应的性能数据之后,服务器可以逐个事件比较第一图像文件和第二图像文件,以确定第二差异渲染事件。具体为,服务器将第一图像文件所包括的第一非异常渲染事件确定为当前第一非异常渲染事件,服务器遍历排序第一位的第二非异常渲染事件,将排序第一位的第二非异常渲染事件作为当前第二非异常渲染事件,服务器从当前第一非异常渲染事件中查找渲染性能数据中的材质信息、模型名称信息,分别与当前第二非异常渲染事件的渲染性能数据中的材质信息、模型名称信息相同,且渲染性能数据中的模型面数信息或合批次数信息,分别与当前第二非异常渲染事件的渲染性能数据中的模型面数信息或合批次数信息不同的第二差异渲染事件,标记该第二差异渲染事件。服务器将第二差异渲染事件从当前第一非异常渲染事件中删除,得到第五候选非异常渲染事件;重新确定第五候选非异常渲染事件为当前第一非异常渲染事件。接着遍历排序第二位的第二非异常渲染事件,将排序第二位的第二非异常渲染事件作为当前第二非异常渲染事件,服务器从新的当前第一非异常渲染事件中查找渲染性能数据中的材质信息、模型名称信息,分别与当前第二非异常渲染事件的渲染性能数据中的材质信息、模型名称信息相同,且渲染性能数据中的模型面数信息或合批次数信息,分别与当前第二非异常渲染事件的渲染性能数据中的模型面数信息或合批次数信息不同的第二差异渲染事件,标记第二差异渲染事件。服务器将第二差异渲染事件从当前第一非异常渲染事件中删除,得到第五候选非异常渲染事件;重新确定第五候选非异常渲染事件为当前第一非异常渲染事件。以此类推,直至遍历完所有的第二非异常渲染事件。最后服务器对每个第二非异常渲染事件对应的第二差异渲染事件进行汇总,得到与第二图像文件所包括的第二非异常渲染事件对应的第二差异渲染事件。
以下,举例对上述确定第二差异渲染事件的过程进行说明:
假设至少两个第二非异常渲染事件为第二非异常渲染事件1、第二非异常渲染事件2和第二非异常渲染事件3。
服务器首先遍历第二非异常渲染事件1,将第一图像文件所包括的第一非异常渲染事件中确定为当前第一非异常渲染事件,在当前第一非异常渲染事件中找到,渲染性能数据中的材质信息、模型名称信息,分别与第二非异常渲染事件1的渲染性能数据中的材质信息、模型名称信息相同,且渲染性能数据中的模型面数信息或合批次数信息,分别与第二非异常渲染事件1的渲染性能数据中的模型面数信息或合批次数信息不同的第二差异渲染事件,标记该第二差异渲染事件,服务器将该第二差异渲染事件从当前第一非异常渲染事件中删除,得到新的当前第一非异常渲染事件。接着服务器遍历第二非异常渲染事件2,从新的当前第一非异常渲染事件中确定出,渲染性能数据中的材质信息、模型名称信息,分别与第二非异常渲染事件2的渲染性能数据中的材质信息、模型名称信息相同,且渲染性能数据中的模型面数信息或合批次数信息,分别与第二非异常渲染事件2的渲染性能数据中的模型面数信息或合批次数信息不同的第二差异渲染事件,标记该第二差异渲染事件,服务器将该第二差异渲染事件从第一图像文件所包括的第一非异常渲染事件中删除,得到新的当前第一非异常渲染事件。接着服务器遍历第二非异常渲染事件3,从新的当前第一非异常渲染事件中确定出,渲染性能数据中的材质信息、模型名称信息,分别与第二非异常渲染事件3的渲染性能数据中的材质信息、模型名称信息相同,且渲染性能数据中的模型面数信息或合批次数信息,分别与第二非异常渲染事件3的渲染性能数据中的模型面数信息或合批次数信息不同的第二差异渲染事件。最后,服务器将与第二非异常渲染事件1的渲染性能数据对应的第二差异渲染事件、与第二非异常渲染事件2的渲染性能数据对应的第二差异渲染事件、与第二非异常渲染事件3对应的第二差异渲染事件进行汇总,得到与第二图像文件所包括的第二非异常渲染事件对应的第二差异渲染事件。
需要说明的是,可能存在某个第二非异常渲染事件在第一图像文件所包括的第一非异常渲染事件中,找不到对应的第二差异渲染事件的情况,在该情况下,无需对第一图像文件所包括的第一非异常渲染事件做任何删除操作,直接遍历下一个第二非异常渲染事件即可。
由此,能够从同材质信息、模型名称信息、不同模型面数信息或合批次数信息的维度自动对场景变化后的渲染性能数据进行分析,自动、便捷、快速输出同材质信息、模型名称信息、不同模型面数信息或合批次数信息的第二差异渲染事件,提高确定场景性能变化数据的便捷性和确定效率,减少场景性能变化数据分析的耗时,同时能够提高确定场景性能变化数据的精度,降低确定场景性能变化数据的成本,进而便于快速发现场景的细微性能变化,并据此快速做出有效的优化策略,加快游戏的开发进程。
在一些可选的实施例中,上述第二非异常渲染事件的数量为至少两个,则在上述步骤S2031中,上述从第二图像文件所包括的第二非异常渲染事件中确定出新增渲染事件,包括:
依次遍历每个第二非异常渲染事件,将遍历到的每个第二非异常渲染事件确定为当前第二非异常渲染事件,并在遍历当前第二非异常渲染事件时执行以下操作:
当在第一图像文件所包括的第一非异常渲染事件中未查找到目标渲染事件的情况下,确定当前第二非异常渲染事件为新增渲染事件;目标渲染事件与当前第二非异常渲染事件具有相同的材质信息、相同的模型名称信息。
继续如图10所示,本申请实施例中,至少两个第二非异常渲染事件可以按序排列,在获取第一图像文件和第二图像文件各自对应的性能数据之后,服务器可以逐个事件比较第一图像文件和第二图像文件,以确定新增渲染事件。具体为,服务器遍历排序第一位的第二非异常渲染事件,将排序第一位的第二非异常渲染事件作为当前第二非异常渲染事件,服务器从第一非异常渲染事件中查找渲染性能数据中的材质信息、模型名称信息,分别与当前第二非异常渲染事件的渲染性能数据中的材质信息、模型名称信息相同的目标渲染事件,若未找目标渲染事件,确定当前第二非异常渲染事件为新增渲染事件。服务器接着遍历排序第二位的第二非异常渲染事件,将排序第二位的第二非异常渲染事件作为当前第二非异常渲染事件,服务器从第一非异常渲染事件中查找渲染性能数据中的材质信息、模型名称信息,分别与当前第二非异常渲染事件的渲染性能数据中的材质信息、模型名称信息相同的目标渲染事件,若未找到目标渲染事件,确定当前第二非异常渲染事件为新增渲染事件。以此类推,直至遍历完所有的第二非异常渲染事件。
以下,举例对上述确定新增渲染事件的过程进行说明:
假设至少两个第二非异常渲染事件为第二非异常渲染事件1、第二非异常渲染事件2和第二非异常渲染事件3。
服务器首先遍历第二非异常渲染事件1,在第一图像文件所包括的第一非异常渲染事件中未查找到第二非异常渲染事件1对应的目标渲染事件的情况下,服务器将该第二非异常渲染事件1作为新增渲染事件。接着服务器遍历第二非异常渲染事件2,在第一图像文件所包括的第一非异常渲染事件中未查找到第二非异常渲染事件2对应的目标渲染事件的情况下,服务器将该第二非异常渲染事件2作为新增渲染事件。接着服务器遍历第二非异常渲染事件3,在第一图像文件所包括的第一非异常渲染事件中未查找到第二非异常渲染事件3对应的目标渲染事件的情况下,服务器将该第二非异常渲染事件3作为新增渲染事件。
由此,能够从是否能够找到同材质信息、模型名称信息的渲染事件的维度自动对场景变化后的渲染性能数据进行分析,自动、便捷、快速输出不同材质信息、模型名称信息的新增渲染事件,提高确定场景性能变化数据的便捷性和确定效率,减少场景性能变化数据分析的耗时,同时能够提高确定场景性能变化数据的精度,降低确定场景性能变化数据的成本,进而便于快速发现场景的细微性能变化,并据此快速做出有效的优化策略,加快游戏的开发进程。
以游戏场景为例,本申请实施例中的渲染性能数据以及渲染性能变化数据可以通过Android应用程序包(Android application package,APK)呈现给客户端账号,利用RenderDoc对游戏场景截帧,再将截帧文件路径输入该APK,客户端账号可以选择“单截帧文件分析”或者“两截帧文件比较”功能,该APK可以根据客户端账号所选择的功能自动完成场景的性能解析。当前支持的性能分析可以包括:单场景渲染性能分析、场景渲染性能对比分析。
对于单场景渲染性能分析:客户端账号可以将需要分析的场景用RenderDoc软件采集一帧,将采集到的截帧文件的完整路径名输入APK,APK完成场景解析后在图形用户界面(Graphical User Interface,GUI)输出该场景的渲染性能数据。图11是根据一示例性实施例示出的一种在图形用户界面输出场景的性能数据的示意图,如图11所示,该渲染性能数据可以包括事件ID、渲染通道信息、材质信息、模型名称信息、三角形面数、顶点着色器资源ID、片元着色器资源ID、顶点着色器逻辑运算消耗的GPU的指令周期数、顶点着色器加载存储消耗的GPU的指令周期数、片元着色器逻辑运算消耗的GPU的指令周期数、片元着色器加载存储消耗的GPU的指令周期数、片元着色器纹理采样消耗的GPU的指令周期数等。与此同时,可以同步在截帧文件所在目录输出名称为“RDPerformanceInfo.csv”的字符分隔值(Comma-Separated Values,CSV)文件。图12是根据一示例性实施例示出的一种字符分隔值文件示意图,如图12所示,该文件中包括每个Drawcall的渲染通道信息、材质信息、模型名称信息、顶点数、合批次数、三角形面数、纹理资源信息、顶点着色器资源ID、片元着色器资源ID、顶点着色器逻辑运算消耗的GPU的指令周期数、顶点着色器加载存储消耗的GPU的指令周期数、片元着色器逻辑运算消耗的GPU的指令周期数、片元着色器加载存储消耗的GPU的指令周期数、片元着色器纹理采样消耗的GPU的指令周期数等性能数据。
其中,图11中的“文件输入1”后面的“xx”指的是:文件输入1的截帧文件的完整路径名,“xx个Drawcall”中的“xx”指的是Drawcall的数量,“xx个模型面数信息”中的“xx”指的是模型面数信息的数量。其他部分的“xx”指的是各种渲染性能数据。
其中,图12中的“xx”指的是各种渲染性能数据。
场景渲染性能对比分析:适用于场景发生变化的场景或者性能对标的两种场景对比,用于发现场景的详细性能变化点,从而判断影响性能的主要瓶颈点,从而进一步进行性能优化。
图13是根据一示例性实施例示出的一种场景渲染性能对比分析的图形用户界面示意图。如图13所示,客户端账号可以在文件输入1中输入发生变化的待解析的截帧文件(例如,第二图像文件),可以在文件输入2中输入用来做比较或者参考的截帧文件,也称原始文件(例如,第一图像文件)。服务器自动对两个图像文件的渲染性能数据进行比对,得到图13所示的场景渲染性能变化数据。
其中,图13中的“xx个Drawcall”中的“xx”指的是Drawcall的数量,“xx个模型面数信息”中的“xx”指的是模型面数信息的数量。其他部分的“xx”指的是各种渲染性能数据。
图14是根据一示例性实施例示出的一种场景渲染性能对比分析的字符分隔值文件示意图。如图14所示,场景渲染性能对比分析完成后同步在文件输入1目录下生成文件“RDComparaDifferInfo.csv”,该文件内容中包括:场景的总Drawcall个数的比较、场景的总模型面数信息比较、模型名称信息发生变化的Drawcall个数及详细变化信息、材质信息发生变化的Drawcall个数及详细变化信息、合批次数发生变化的Drawcall个数及详细变化信息、shader发生变化的Drawcall个数及详细信息等。
其中,图14中的“xx个Drawcall”中的“xx”指的是Drawcall的数量,“xx个模型面数信息”中的“xx”指的是模型面数信息的数量。其他部分的“xx”指的是各种渲染性能数据。
以下,以本申请的实际应用为例,对本申请实施例所取得的有益效果进行说明:
某场景在版本迭代之后在某测试端上平均帧率下降1帧/秒,启用本方案对版本迭代前后的场景进行性能分析:版本迭代后场景多增了15177个模型面数,13个Drawcall的模型名称信息发生变化,14个Drawcall的合批次数信息发生了变化,7个Drawcall的材质信息发生了变化。进一步排查版本提交记录,发现修复场景时修改了场景的多细节层次加载参数,导致场景中的大部分模型都发生了变化,因此对该多细节层次加载参激进行重新调整,使得渲染性能得到修复。
图15是根据一示例性实施例示出的一种渲染数据处理装置的框图,如图15所示,该渲染数据处理装置包括:
第一图像文件获取模块301,用于获取目标应用程序的第一场景对应的第一图像文件;所述第一图像文件为所述目标应用程序运行时,在所述第一场景对第一预设模型进行渲染所生成的图像所对应的文件;所述第一图像文件包括至少一个第一渲染事件。
非异常渲染事件确定模块303,用于根据每个所述第一渲染事件与其他第一渲染事件之间的事件依赖关系,以及每个所述第一渲染事件的名称描述信息,从所述至少一个第一渲染事件中确定出第一非异常渲染事件;所述其他第一渲染事件为所述至少一个第一渲染事件中,除每个所述第一渲染事件之外的渲染事件。
性能数据确定模块305,用于获取所述第一非异常渲染事件的着色器性能数据和纹理性能数据;以及基于所述第一非异常渲染事件的名称描述信息和所述第一非异常渲染事件的父事件的名称描述信息,确定所述第一非异常渲染事件的模型性能数据;所述模型性能数据为与所述第一预设模型相关联的性能数据。
渲染性能数据生成模块307,用于根据所述第一非异常渲染事件的模型性能数据、着色器性能数据和纹理性能数据,生成所述第一场景对应的第一图像文件的第一渲染性能数据。
在一个可选的实施例中,所述非异常渲染事件确定模块,包括:
第一候选非异常渲染事件确定单元,用于根据每个所述第一渲染事件的名称描述信息,从所述至少一个第一渲染事件中确定出名称描述信息包括绘制指令的第一候选非异常渲染事件。
第二候选非异常渲染事件确定单元,用于根据所述事件依赖关系从所述至少一个第一渲染事件中确定出第二候选非异常渲染事件;所述第二候选非异常渲染事件为所述第一候选非异常渲染事件的父事件。
第一非异常渲染事件生成单元,用于根据所述第一候选非异常渲染事件和所述第二候选非异常渲染事件,生成所述第一非异常渲染事件。
在一个可选的实施例中,所述性能数据确定模块,包括:
名称描述信息获取单元,用于获取所述第一非异常渲染事件的名称描述信息,以及获取所述第一非异常渲染事件的父事件的名称描述信息。
面数合批信息获取单元,用于从所述第一非异常渲染事件的名称描述信息中获取所述第一预设模型的模型面数信息和所述第一预设模型的合批次数信息;所述合批次数信息用于表征被渲染的第一预设模型的数量。
分割匹配单元,用于基于预设字符串或预设正则表达式对所述第一非异常渲染事件的父事件的名称描述信息进行分割匹配,得到所述第一预设模型的材质信息、模型名称信息和渲染通道信息。
模型性能数据生成单元,用于根据所述第一预设模型的模型面数信息、合批次数信息、材质信息、模型名称信息和渲染通道信息,生成所述第一非异常渲染事件的模型性能数据。
在一个可选的实施例中,所述名称描述信息获取单元,用于获取目标父事件的第一名称描述信息,以及获取所述目标父事件所对应的父事件的第二名称描述信息;所述目标父事件为所述第一非异常渲染事件的父事件。
相应地,所述分割匹配单元,用于基于预设字符串或预设正则表达式对所述第一名称描述信息进行分割匹配,得到所述第一预设模型的材质信息和模型名称信息;以及基于预设字符串或预设正则表达式对所述第二名称描述信息进行分割匹配,得到所述第一预设模型的渲染通道信息。
在一个可选的实施例中,在装置还包括:
第二渲染性能数据获取模块,用于获取所述目标应用程序的第二场景对应的第二图像文件的第二渲染性能数据;所述第二场景和所述第一场景为所述目标应用程序对应的不同版本的同一场景,或者所述第二场景和所述第一场景为所述目标应用程序对应的同一版本的不同场景;所述第二图像文件为所述目标应用程序运行时,在所述第二场景对第二预设模型进行渲染所生成的图像所对应的文件;所述第二图像文件包括至少一个第二渲染事件;所述第二渲染性能数据为根据第二非异常渲染事件的模型性能数据、着色器性能数据和纹理性能数据生成;所述第二非异常渲染事件的模型性能数据,为基于所述第二非异常渲染事件的名称描述信息和所述第二非异常渲染事件的父事件的名称描述信息确定得到;所述第二非异常渲染事件为根据每个所述第二渲染事件与其他第二渲染事件之间的事件依赖关系,以及每个所述第二渲染事件的名称描述信息,从所述至少一个第二渲染事件中确定得到;所述其他第二渲染事件为所述至少一个第二渲染事件中,除每个所述第二渲染事件之外的渲染事件。
对比模块,用于对比所述第一渲染性能数据和所述第二渲染性能数据,得到第二场景相对于所述第一场景的渲染性能变化数据;所述渲染性能变化数据用于调整所述目标应用程序的不同场景的性能数据。
在一个可选的实施例中,所述第二非异常渲染事件的模型性能数据为基于所述第二预设模型的模型面数信息、合批次数信息、材质信息、模型名称信息和渲染通道信息生成;所述对比模块,包括:
事件确定单元,用于对比所述第一渲染性能数据和所述第二渲染性能数据,以从所述第一图像文件所包括的第一非异常渲染事件中,确定出与所述第二图像文件所包括的第二非异常渲染事件对应的相同渲染事件、以及确定出与所述第二图像文件所包括的第二非异常渲染事件对应的第一差异渲染事件,以及确定出与所述第二图像文件所包括的第二非异常渲染事件对应的第二差异渲染事件;以及从所述第二图像文件所包括的第二非异常渲染事件中确定出新增渲染事件。
渲染性能变化数据生单元,用于根据所述相同渲染事件、第一差异渲染事件、第二差异渲染事件和新增渲染事件各自对应的渲染性能数据,生成所述渲染性能变化数据。
其中,所述相同渲染事件的渲染性能数据与所述第二非异常渲染事件的渲染性能数据相同;所述第一差异渲染事件与第二非异常渲染事件具有相同的第一属性信息,具有不同的第二属性信息,所述第一属性信息包括材质信息、模型名称信息和模型面数信息,所述第二属性信息为着色器性能数据;所述第二差异渲染事件与第二非异常渲染事件具有相同的第三属性信息,具有不同的第四属性信息,所述第三属性信息包括材质信息和模型名称信息,所述第四属性信息为模型面数信息或合批次数信息;所述新增渲染事件的材质信息、模型名称信息,分别与第一非异常渲染事件的材质信息、模型名称信息不同。
在一个可选的实施例中,所述事件确定单元,包括:
相同渲染事件遍历子单元,用于将所述第一图像文件所包括的第一非异常渲染事件确定为当前第一非异常渲染事件;依次遍历每个所述第二非异常渲染事件,将遍历到的每个所述第二非异常渲染事件确定为当前第二非异常渲染事件,并在遍历所述当前第二非异常渲染事件时执行以下操作:从所述当前第一非异常渲染事件中确定出与所述当前第二非异常渲染事件对应的相同渲染事件;将当前确定的相同渲染事件从所述当前第一非异常渲染事件中删除,得到第三候选非异常渲染事件;重新确定所述第三候选非异常渲染事件为当前第一非异常渲染事件。
相同渲染事件确定子单元,用于根据每个所述第二非异常渲染事件对应的相同渲染事件,生成与所述第二图像文件所包括的第二非异常渲染事件对应的相同渲染事件。
在一个可选的实施例中,所述第二非异常渲染事件的数量为至少两个,所述事件确定单元,包括:
第一差异渲染事件遍历子单元,用于将所述第一图像文件所包括的第一非异常渲染事件确定为当前第一非异常渲染事件;依次遍历每个所述第二非异常渲染事件,将遍历到的每个所述第二非异常渲染事件确定为当前第二非异常渲染事件,并在遍历所述当前第二非异常渲染事件时执行以下操作:从所述当前第一非异常渲染事件中确定出与所述当前第二非异常渲染事件对应的第一差异渲染事件;将当前确定的第一差异渲染事件从所述当前第一非异常渲染事件中删除,得到第四候选非异常渲染事件;重新确定所述第四候选非异常渲染事件为当前第一非异常渲染事件。
第一差异渲染事件确定子单元,用于根据每个所述第二非异常渲染事件对应的第一差异渲染事件,生成与所述第二图像文件所包括的第二非异常渲染事件对应的第一差异渲染事件。
在一个可选的实施例中,所述第二非异常渲染事件的数量为至少两个,所述事件确定单元,包括:
第二差异渲染事件遍历子单元,用于将所述第一图像文件所包括的第一非异常渲染事件确定为当前第一非异常渲染事件;依次遍历每个所述第二非异常渲染事件,将遍历到的每个所述第二非异常渲染事件确定为当前第二非异常渲染事件,并在遍历所述当前第二非异常渲染事件时执行以下操作:从所述当前第一非异常渲染事件中确定出与所述当前第二非异常渲染事件对应的第二差异渲染事件;将当前确定的第二差异渲染事件从所述当前第一非异常渲染事件中删除,得到第五候选非异常渲染事件;重新确定所述第五候选非异常渲染事件为当前第一非异常渲染事件。
第二差异渲染事件确定子单元,用于根据每个所述第二非异常渲染事件对应的第二差异渲染事件,生成与所述第二图像文件所包括的第二非异常渲染事件对应的第二差异渲染事件。
在一个可选的实施例中,所述第二非异常渲染事件的数量为至少两个,所述事件确定单元,包括:
新增渲染事件遍历子单元,用于依次遍历每个所述第二非异常渲染事件,将遍历到的每个所述第二非异常渲染事件确定为当前第二非异常渲染事件,并在遍历所述当前第二非异常渲染事件时执行以下操作:当在所述第一图像文件所包括的第一非异常渲染事件中未查找到目标渲染事件的情况下,确定所述当前第二非异常渲染事件为所述新增渲染事件;所述目标渲染事件与所述当前第二非异常渲染事件具有相同的材质信息、相同的模型名称信息。
需要说明的是,本申请实施例提供的装置实施例与上述方法实施例基于相同的发明构思。
本申请实施例还提供了一种渲染数据处理的电子设备,该电子设备包括处理器和存储器,存储器中存储有至少一条指令或至少一段程序,至少一条指令或至少一段程序由处理器加载并执行以实现如上述任一实施例提供的渲染数据处理方法。
本申请的实施例还提供了一种计算机可读存储介质,该计算机可读存储介质可设置于终端之中以保存用于实现方法实施例中一种渲染数据处理方法的至少一条指令或至少一段程序,至少一条指令或至少一段程序由处理器加载并执行以实现如上述方法实施例提供的渲染数据处理方法。
可选地,在本说明书实施例中,计算机可读存储介质可以位于计算机网络的多个网络服务器中的至少一个网络服务器。可选地,在本实施例中,上述计算机可读存储介质可以包括但不限于:U盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(RandomAccess Memory,RAM)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
本说明书实施例存储器可用于存储软件程序以及模块,处理器通过运行存储在存储器的软件程序以及模块,从而执行各种功能应用程序以及数据处理。存储器可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作***、功能所需的应用程序等;存储数据区可存储根据设备的使用所创建的数据等。此外,存储器可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。相应地,存储器还可以包括存储器控制器,以提供处理器对存储器的访问。
本申请实施例还提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述方法实施例提供的渲染数据处理方法。
本申请实施例所提供的渲染数据处理方法实施例可以在终端、计算机终端、服务器或者类似的运算装置中执行。以运行在服务器上为例,图16是根据一示例性实施例提供的一种服务器的硬件结构框图。如图16所示,该服务器400可因配置或性能不同而产生比较大的差异,可以包括一个或一个以***处理器(Central Processing Units,CPU)410(中央处理器410可以包括但不限于微处理器MCU或可编程逻辑器件FPGA等的处理装置)、用于存储数据的存储器430,一个或一个以上存储应用程序423或数据422的存储介质420(例如一个或一个以上海量存储设备)。其中,存储器430和存储介质420可以是短暂存储或持久存储。存储在存储介质420的程序可以包括一个或一个以上模块,每个模块可以包括对服务器中的一系列指令操作。更进一步地,中央处理器410可以设置为与存储介质420通信,在服务器400上执行存储介质420中的一系列指令操作。服务器400还可以包括一个或一个以上电源460,一个或一个以上有线或无线网络接口450,一个或一个以上输入输出接口440,和/或,一个或一个以上操作***421,例如Windows ServerTM,Mac OS XTM,UnixTM,LinuxTM,FreeBSDTM等等。
输入输出接口440可以用于经由一个网络接收或者发送数据。上述的网络具体实例可包括服务器400的通信供应商提供的无线网络。在一个实例中,输入输出接口440包括一个网络适配器(Network Interface Controller,NIC),其可通过基站与其他网络设备相连从而可与互联网进行通讯。在一个实例中,输入输出接口440可以为射频(RadioFrequency,RF)模块,其用于通过无线方式与互联网进行通讯。
本领域普通技术人员可以理解,图16所示的结构仅为示意,其并不对上述电子装置的结构造成限定。例如,服务器400还可包括比图16中所示更多或者更少的组件,或者具有与图16所示不同的配置。
需要说明的是:上述本申请实施例先后顺序仅仅为了描述,不代表实施例的优劣。且上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置和服务器实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,该程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上仅为本申请的较佳实施例,并不用以限制本申请,凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。
Claims (13)
1.一种渲染数据处理方法,其特征在于,所述方法包括:
获取目标应用程序的第一场景对应的第一图像文件;所述第一图像文件为所述目标应用程序运行时,在所述第一场景对第一预设模型进行渲染所生成的图像所对应的文件;所述第一图像文件包括至少一个第一渲染事件;
根据每个所述第一渲染事件与其他第一渲染事件之间的事件依赖关系,以及每个所述第一渲染事件的名称描述信息,从所述至少一个第一渲染事件中确定出第一非异常渲染事件;所述其他第一渲染事件为所述至少一个第一渲染事件中,除每个所述第一渲染事件之外的渲染事件;
获取所述第一非异常渲染事件的着色器性能数据和纹理性能数据;以及基于所述第一非异常渲染事件的名称描述信息和所述第一非异常渲染事件的父事件的名称描述信息,确定所述第一非异常渲染事件的模型性能数据;所述模型性能数据为与所述第一预设模型相关联的性能数据;
根据所述第一非异常渲染事件的模型性能数据、着色器性能数据和纹理性能数据,生成所述第一场景对应的第一图像文件的第一渲染性能数据。
2.根据权利要求1所述的渲染数据处理方法,其特征在于,所述根据每个所述第一渲染事件与其他第一渲染事件之间的事件依赖关系,以及每个所述第一渲染事件的名称描述信息,从所述至少一个第一渲染事件中确定出第一非异常渲染事件,包括:
根据每个所述第一渲染事件的名称描述信息,从所述至少一个第一渲染事件中确定出名称描述信息包括绘制指令的第一候选非异常渲染事件;
根据所述事件依赖关系从所述至少一个第一渲染事件中确定出第二候选非异常渲染事件;所述第二候选非异常渲染事件为所述第一候选非异常渲染事件的父事件;
根据所述第一候选非异常渲染事件和所述第二候选非异常渲染事件,生成所述第一非异常渲染事件。
3.根据权利要求1所述的渲染数据处理方法,其特征在于,所述基于所述第一非异常渲染事件的名称描述信息和所述第一非异常渲染事件的父事件的名称描述信息,确定所述第一非异常渲染事件的模型性能数据,包括:
获取所述第一非异常渲染事件的名称描述信息,以及获取所述第一非异常渲染事件的父事件的名称描述信息;
从所述第一非异常渲染事件的名称描述信息中获取所述第一预设模型的模型面数信息和所述第一预设模型的合批次数信息;所述合批次数信息用于表征被渲染的第一预设模型的数量;
基于预设字符串或预设正则表达式对所述第一非异常渲染事件的父事件的名称描述信息进行分割匹配,得到所述第一预设模型的材质信息、模型名称信息和渲染通道信息;
根据所述第一预设模型的模型面数信息、合批次数信息、材质信息、模型名称信息和渲染通道信息,生成所述第一非异常渲染事件的模型性能数据。
4.根据权利要求3所述的渲染数据处理方法,其特征在于,所述获取所述第一非异常渲染事件的父事件的名称描述信息,包括:
获取目标父事件的第一名称描述信息,以及获取所述目标父事件所对应的父事件的第二名称描述信息;所述目标父事件为所述第一非异常渲染事件的父事件;
所述基于预设字符串或预设正则表达式对所述第一非异常渲染事件的父事件的名称描述信息进行分割匹配,得到所述第一预设模型的材质信息、模型名称信息和渲染通道信息,包括:
基于所述预设字符串或预设正则表达式对所述第一名称描述信息进行分割匹配,得到所述第一预设模型的材质信息和模型名称信息;以及基于所述预设字符串或预设正则表达式对所述第二名称描述信息进行分割匹配,得到所述第一预设模型的渲染通道信息。
5.根据权利要求3所述的渲染数据处理方法,其特征在于,在生成所述第一场景对应的第一图像文件的第一渲染性能数据之后,所述方法还包括:
获取所述目标应用程序的第二场景对应的第二图像文件的第二渲染性能数据;所述第二场景和所述第一场景为所述目标应用程序对应的不同版本的同一场景,或者所述第二场景和所述第一场景为所述目标应用程序对应的同一版本的不同场景;所述第二图像文件为所述目标应用程序运行时,在所述第二场景对第二预设模型进行渲染所生成的图像所对应的文件;所述第二图像文件包括至少一个第二渲染事件;所述第二渲染性能数据为根据第二非异常渲染事件的模型性能数据、着色器性能数据和纹理性能数据生成;所述第二非异常渲染事件的模型性能数据,为基于所述第二非异常渲染事件的名称描述信息和所述第二非异常渲染事件的父事件的名称描述信息确定得到;所述第二非异常渲染事件为根据每个所述第二渲染事件与其他第二渲染事件之间的事件依赖关系,以及每个所述第二渲染事件的名称描述信息,从所述至少一个第二渲染事件中确定得到;所述其他第二渲染事件为所述至少一个第二渲染事件中,除每个所述第二渲染事件之外的渲染事件;
对比所述第一渲染性能数据和所述第二渲染性能数据,得到第二场景相对于所述第一场景的渲染性能变化数据;所述渲染性能变化数据用于调整所述目标应用程序的不同场景的性能数据。
6.根据权利要求5所述的渲染数据处理方法,其特征在于,所述第二非异常渲染事件的模型性能数据为基于所述第二预设模型的模型面数信息、合批次数信息、材质信息、模型名称信息和渲染通道信息生成;所述对比所述第一渲染性能数据和所述第二渲染性能数据,得到第二场景相对于所述第一场景的渲染性能变化数据,包括:
对比所述第一渲染性能数据和所述第二渲染性能数据,以从所述第一图像文件所包括的第一非异常渲染事件中,确定出与所述第二图像文件所包括的第二非异常渲染事件对应的相同渲染事件、以及确定出与所述第二图像文件所包括的第二非异常渲染事件对应的第一差异渲染事件,以及确定出与所述第二图像文件所包括的第二非异常渲染事件对应的第二差异渲染事件;以及从所述第二图像文件所包括的第二非异常渲染事件中确定出新增渲染事件;
根据所述相同渲染事件、第一差异渲染事件、第二差异渲染事件和新增渲染事件各自对应的渲染性能数据,生成所述渲染性能变化数据;
其中,所述相同渲染事件的渲染性能数据与第二非异常渲染事件的渲染性能数据相同;所述第一差异渲染事件与第二非异常渲染事件具有相同的第一属性信息,具有不同的第二属性信息,所述第一属性信息包括材质信息、模型名称信息和模型面数信息,所述第二属性信息为着色器性能数据;
所述第二差异渲染事件与第二非异常渲染事件具有相同的第三属性信息,具有不同的第四属性信息,所述第三属性信息包括材质信息和模型名称信息,所述第四属性信息为模型面数信息或合批次数信息;所述新增渲染事件与第一非异常渲染事件具有不同的第五属性信息,所述第五属性信息包括材质信息和模型名称信息。
7.根据权利要求6所述的渲染数据处理方法,其特征在于,所述第二非异常渲染事件的数量为至少两个,所述确定出与所述第二图像文件所包括的第二非异常渲染事件对应的相同渲染事件,包括:
将所述第一图像文件所包括的第一非异常渲染事件确定为当前第一非异常渲染事件;依次遍历每个所述第二非异常渲染事件,将遍历到的每个所述第二非异常渲染事件确定为当前第二非异常渲染事件,并在遍历所述当前第二非异常渲染事件时执行以下操作:从所述当前第一非异常渲染事件中确定出与所述当前第二非异常渲染事件对应的相同渲染事件;将当前确定的相同渲染事件从所述当前第一非异常渲染事件中删除,得到第三候选非异常渲染事件;重新确定所述第三候选非异常渲染事件为当前第一非异常渲染事件;
根据每个所述第二非异常渲染事件对应的相同渲染事件,生成与所述第二图像文件所包括的第二非异常渲染事件对应的相同渲染事件。
8.根据权利要求6所述的渲染数据处理方法,其特征在于,所述第二非异常渲染事件的数量为至少两个,所述确定出与所述第二图像文件所包括的第二非异常渲染事件对应的第一差异渲染事件,包括:
将所述第一图像文件所包括的第一非异常渲染事件确定为当前第一非异常渲染事件;依次遍历每个所述第二非异常渲染事件,将遍历到的每个所述第二非异常渲染事件确定为当前第二非异常渲染事件,并在遍历所述当前第二非异常渲染事件时执行以下操作:从所述当前第一非异常渲染事件中确定出与所述当前第二非异常渲染事件对应的第一差异渲染事件;将当前确定的第一差异渲染事件从所述当前第一非异常渲染事件中删除,得到第四候选非异常渲染事件;重新确定所述第四候选非异常渲染事件为当前第一非异常渲染事件;
根据每个所述第二非异常渲染事件对应的第一差异渲染事件,生成与所述第二图像文件所包括的第二非异常渲染事件对应的第一差异渲染事件。
9.根据权利要求6所述的渲染数据处理方法,其特征在于,所述第二非异常渲染事件的数量为至少两个,所述确定出与所述第二图像文件所包括的第二非异常渲染事件对应的第二差异渲染事件,包括:
将所述第一图像文件所包括的第一非异常渲染事件确定为当前第一非异常渲染事件;依次遍历每个所述第二非异常渲染事件,将遍历到的每个所述第二非异常渲染事件确定为当前第二非异常渲染事件,并在遍历所述当前第二非异常渲染事件时执行以下操作:从所述当前第一非异常渲染事件中确定出与所述当前第二非异常渲染事件对应的第二差异渲染事件;将当前确定的第二差异渲染事件从所述当前第一非异常渲染事件中删除,得到第五候选非异常渲染事件;重新确定所述第五候选非异常渲染事件为当前第一非异常渲染事件;
根据每个所述第二非异常渲染事件对应的第二差异渲染事件,生成与所述第二图像文件所包括的第二非异常渲染事件对应的第二差异渲染事件。
10.根据权利要求6所述的渲染数据处理方法,其特征在于,所述第二非异常渲染事件的数量为至少两个,所述从所述第二图像文件所包括的第二非异常渲染事件中确定出新增渲染事件,包括:
依次遍历每个所述第二非异常渲染事件,将遍历到的每个所述第二非异常渲染事件确定为当前第二非异常渲染事件,并在遍历所述当前第二非异常渲染事件时执行以下操作:
当在所述第一图像文件所包括的第一非异常渲染事件中未查找到目标渲染事件的情况下,确定所述当前第二非异常渲染事件为所述新增渲染事件;所述目标渲染事件与所述当前第二非异常渲染事件具有相同的材质信息、相同的模型名称信息。
11.一种渲染数据处理装置,其特征在于,所述装置包括:
第一图像文件获取模块,用于获取目标应用程序的第一场景对应的第一图像文件;所述第一图像文件为所述目标应用程序运行时,在所述第一场景对第一预设模型进行渲染所生成的图像所对应的文件;所述第一图像文件包括至少一个第一渲染事件;
非异常渲染事件确定模块,用于根据每个所述第一渲染事件与其他第一渲染事件之间的事件依赖关系,以及每个所述第一渲染事件的名称描述信息,从所述至少一个第一渲染事件中确定出第一非异常渲染事件;所述其他第一渲染事件为所述至少一个第一渲染事件中,除每个所述第一渲染事件之外的渲染事件;
性能数据确定模块,用于获取所述第一非异常渲染事件的着色器性能数据和纹理性能数据;以及基于所述第一非异常渲染事件的名称描述信息和所述第一非异常渲染事件的父事件的名称描述信息,确定所述第一非异常渲染事件的模型性能数据;所述模型性能数据为与所述第一预设模型相关联的性能数据;
渲染性能数据生成模块,用于根据所述第一非异常渲染事件的模型性能数据、着色器性能数据和纹理性能数据,生成所述第一场景对应的第一图像文件的第一渲染性能数据。
12.一种渲染数据处理的电子设备,其特征在于,所述电子设备包括处理器和存储器,所述存储器中存储有至少一条指令或至少一段程序,所述至少一条指令或所述至少一段程序由所述处理器加载并执行如权利要求1至10中任一项所述的渲染数据处理方法。
13.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有至少一条指令或至少一段程序,所述至少一条指令或至少一段程序由处理器加载并执行以实现如权利要求1至10中任一项所述的渲染数据处理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310805837.2A CN116524104B (zh) | 2023-07-03 | 2023-07-03 | 渲染数据处理方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310805837.2A CN116524104B (zh) | 2023-07-03 | 2023-07-03 | 渲染数据处理方法、装置、设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116524104A true CN116524104A (zh) | 2023-08-01 |
CN116524104B CN116524104B (zh) | 2023-10-03 |
Family
ID=87390716
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310805837.2A Active CN116524104B (zh) | 2023-07-03 | 2023-07-03 | 渲染数据处理方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116524104B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117258303A (zh) * | 2023-11-20 | 2023-12-22 | 腾讯科技(深圳)有限公司 | 一种模型对比方法及相关装置 |
Citations (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20050064580A (ko) * | 2003-12-24 | 2005-06-29 | 한국전자통신연구원 | 하드웨어 쉐이더를 이용한 3차원 그래픽 플러그인 시스템및 그 방법 |
CN103927395A (zh) * | 2014-05-05 | 2014-07-16 | 曾志明 | 结构简化图像三维几何及材质纹理的数据结构及渲染方法 |
US20140285499A1 (en) * | 2011-11-07 | 2014-09-25 | Square Enix Holdings Co., Ltd. | Rendering system, rendering server, control method thereof, program, and recording medium |
US8970583B1 (en) * | 2012-10-01 | 2015-03-03 | Google Inc. | Image space stylization of level of detail artifacts in a real-time rendering engine |
KR20160068204A (ko) * | 2014-12-05 | 2016-06-15 | 삼성전기주식회사 | 메시 지오메트리를 위한 데이터 처리 방법 및 이를 기록한 컴퓨터 판독 가능 저장 매체 |
CN110309444A (zh) * | 2018-03-21 | 2019-10-08 | 深圳市腾讯计算机***有限公司 | 一种页面展示方法、装置、介质及服务器 |
CN112381918A (zh) * | 2020-12-03 | 2021-02-19 | 腾讯科技(深圳)有限公司 | 图像渲染方法、装置、计算机设备和存储介质 |
CN112785676A (zh) * | 2021-02-08 | 2021-05-11 | 腾讯科技(深圳)有限公司 | 一种图像渲染方法、装置、设备和存储介质 |
WO2021249358A1 (zh) * | 2020-06-08 | 2021-12-16 | 华为技术有限公司 | 渲染方法、设备以及*** |
CN114528090A (zh) * | 2020-11-06 | 2022-05-24 | 华为技术有限公司 | 基于Vulkan实现图形渲染的方法及相关装置 |
CN114661287A (zh) * | 2022-03-14 | 2022-06-24 | 北京百度网讯科技有限公司 | 组件联动渲染方法、装置、电子设备、存储介质及产品 |
CN114721777A (zh) * | 2022-04-08 | 2022-07-08 | 厦门稿定股份有限公司 | 用于图形渲染的方法及装置 |
CN115512025A (zh) * | 2022-09-27 | 2022-12-23 | 北京字跳网络技术有限公司 | 模型渲染性能的检测方法、装置、电子设备及存储介质 |
CN115591243A (zh) * | 2022-10-25 | 2023-01-13 | 北京字跳网络技术有限公司(Cn) | 渲染通道的性能检测方法、装置、电子设备及存储介质 |
US11615578B1 (en) * | 2022-06-09 | 2023-03-28 | Illuscio, Inc. | Systems and methods for efficient rendering and processing of point clouds using textures |
CN116206038A (zh) * | 2023-03-13 | 2023-06-02 | 北京字跳网络技术有限公司 | 一种渲染方法、装置、电子设备及存储介质 |
-
2023
- 2023-07-03 CN CN202310805837.2A patent/CN116524104B/zh active Active
Patent Citations (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20050064580A (ko) * | 2003-12-24 | 2005-06-29 | 한국전자통신연구원 | 하드웨어 쉐이더를 이용한 3차원 그래픽 플러그인 시스템및 그 방법 |
US20140285499A1 (en) * | 2011-11-07 | 2014-09-25 | Square Enix Holdings Co., Ltd. | Rendering system, rendering server, control method thereof, program, and recording medium |
US8970583B1 (en) * | 2012-10-01 | 2015-03-03 | Google Inc. | Image space stylization of level of detail artifacts in a real-time rendering engine |
CN103927395A (zh) * | 2014-05-05 | 2014-07-16 | 曾志明 | 结构简化图像三维几何及材质纹理的数据结构及渲染方法 |
KR20160068204A (ko) * | 2014-12-05 | 2016-06-15 | 삼성전기주식회사 | 메시 지오메트리를 위한 데이터 처리 방법 및 이를 기록한 컴퓨터 판독 가능 저장 매체 |
CN110309444A (zh) * | 2018-03-21 | 2019-10-08 | 深圳市腾讯计算机***有限公司 | 一种页面展示方法、装置、介质及服务器 |
WO2021249358A1 (zh) * | 2020-06-08 | 2021-12-16 | 华为技术有限公司 | 渲染方法、设备以及*** |
CN114528090A (zh) * | 2020-11-06 | 2022-05-24 | 华为技术有限公司 | 基于Vulkan实现图形渲染的方法及相关装置 |
CN112381918A (zh) * | 2020-12-03 | 2021-02-19 | 腾讯科技(深圳)有限公司 | 图像渲染方法、装置、计算机设备和存储介质 |
US20230033306A1 (en) * | 2020-12-03 | 2023-02-02 | Tencent Technology (Shenzhen) Company Limited | Image rendering method and apparatus, computer device, and storage medium |
CN112785676A (zh) * | 2021-02-08 | 2021-05-11 | 腾讯科技(深圳)有限公司 | 一种图像渲染方法、装置、设备和存储介质 |
CN114661287A (zh) * | 2022-03-14 | 2022-06-24 | 北京百度网讯科技有限公司 | 组件联动渲染方法、装置、电子设备、存储介质及产品 |
CN114721777A (zh) * | 2022-04-08 | 2022-07-08 | 厦门稿定股份有限公司 | 用于图形渲染的方法及装置 |
US11615578B1 (en) * | 2022-06-09 | 2023-03-28 | Illuscio, Inc. | Systems and methods for efficient rendering and processing of point clouds using textures |
CN115512025A (zh) * | 2022-09-27 | 2022-12-23 | 北京字跳网络技术有限公司 | 模型渲染性能的检测方法、装置、电子设备及存储介质 |
CN115591243A (zh) * | 2022-10-25 | 2023-01-13 | 北京字跳网络技术有限公司(Cn) | 渲染通道的性能检测方法、装置、电子设备及存储介质 |
CN116206038A (zh) * | 2023-03-13 | 2023-06-02 | 北京字跳网络技术有限公司 | 一种渲染方法、装置、电子设备及存储介质 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117258303A (zh) * | 2023-11-20 | 2023-12-22 | 腾讯科技(深圳)有限公司 | 一种模型对比方法及相关装置 |
CN117258303B (zh) * | 2023-11-20 | 2024-03-12 | 腾讯科技(深圳)有限公司 | 一种模型对比方法及相关装置 |
Also Published As
Publication number | Publication date |
---|---|
CN116524104B (zh) | 2023-10-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9678616B2 (en) | Graphics command management tool and methods for analyzing performance for command changed before application modification | |
US20220318945A1 (en) | Optimizing compilation of shaders | |
CN103455396B (zh) | 电子设备硬件性能的测试方法及装置 | |
CN108459964B (zh) | 测试用例选择方法、装置、设备以及计算机可读存储介质 | |
CN116524104B (zh) | 渲染数据处理方法、装置、设备及存储介质 | |
CN113018870B (zh) | 一种数据处理方法、装置及计算机可读存储介质 | |
US20190377672A1 (en) | Method and system for improved performance of a video game engine | |
Nusrat et al. | How developers optimize virtual reality applications: A study of optimization commits in open source unity projects | |
US11951390B2 (en) | Method and system for incremental topological update within a data flow graph in gaming | |
CN109885464B (zh) | 一种基于开放图形库的数据处理方法及*** | |
CN109634611B (zh) | 基于OpenGL的移动端三维模型ply文件解析与展示方法 | |
CN109302523B (zh) | 一种手机端和服务器端手机性能评估方法 | |
US20110321001A1 (en) | Visualization of runtime analysis across dynamic boundaries | |
Jacob et al. | A non-intrusive approach for 2d platform game design analysis based on provenance data extracted from game streaming | |
CN111460235A (zh) | 图谱数据的处理方法、装置、设备及存储介质 | |
CN117258303B (zh) | 一种模型对比方法及相关装置 | |
CN114816972A (zh) | 着色语言的测试方法、装置、电子设备以及存储介质 | |
McAnlis et al. | HTML5 Game Development Insights | |
Hogan et al. | Analyzing Performance Issues of Virtual Reality Applications | |
Woods et al. | ANGLE: Bringing OpenGL ES to the Desktop | |
CN113763508B (zh) | 一种基于虚拟引擎的矢量数据处理方法、装置及介质 | |
CN114119925B (zh) | 游戏图像的建模方法、装置及电子设备 | |
CN116521625A (zh) | 文件处理方法、装置、电子设备和存储介质 | |
CN110262798B (zh) | 基于WebGL的图形绘制方法、装置、运行器及可读存储介质 | |
CN116309979A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |