CN113144616A - 带宽的确定方法、装置、电子设备及计算机可读介质 - Google Patents

带宽的确定方法、装置、电子设备及计算机可读介质 Download PDF

Info

Publication number
CN113144616A
CN113144616A CN202110569120.3A CN202110569120A CN113144616A CN 113144616 A CN113144616 A CN 113144616A CN 202110569120 A CN202110569120 A CN 202110569120A CN 113144616 A CN113144616 A CN 113144616A
Authority
CN
China
Prior art keywords
rendering
target
bandwidth
rendering target
obtaining
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
CN202110569120.3A
Other languages
English (en)
Other versions
CN113144616B (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.)
Netease Hangzhou Network Co Ltd
Original Assignee
Netease Hangzhou Network Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Netease Hangzhou Network Co Ltd filed Critical Netease Hangzhou Network Co Ltd
Priority to CN202110569120.3A priority Critical patent/CN113144616B/zh
Publication of CN113144616A publication Critical patent/CN113144616A/zh
Application granted granted Critical
Publication of CN113144616B publication Critical patent/CN113144616B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/60Generating or modifying game content before or while executing the game program, e.g. authoring tools specially adapted for game development or game-integrated level editor
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/50Controlling the output signals based on the game progress
    • A63F13/52Controlling the output signals based on the game progress involving aspects of the displayed game scene

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本公开涉及一种带宽的确定方法、装置、电子设备及计算机可读介质,属于计算机技术领域。该方法包括:获取待测帧的所有渲染阶段中的渲染目标,并获取各个所述渲染目标的分辨率参数和数据格式;根据各个所述渲染目标的分辨率参数和数据格式得到各个所述渲染目标的交换数据量;根据所述待测帧的所有渲染阶段中的各个所述渲染目标的交换数据量,得到所述待测帧的总带宽。本公开通过各个渲染目标的分辨率参数和数据格式得到各个渲染目标的交换数据量,再根据各个渲染目标的交换数据量得到总带宽,可以提高带宽统计的效率。

Description

带宽的确定方法、装置、电子设备及计算机可读介质
技术领域
本公开涉及计算机技术领域,具体而言,涉及一种带宽的确定方法、带宽的确定装置、电子设备及计算机可读介质。
背景技术
在手机游戏的研发过程中,游戏性能在一定程度上影响着游戏的质量,因此,性能优化是手游研发的重要环节。
而用于图形渲染的GPU(Graphics Processing Unit,图形处理器)作为影响手机游戏性能的一个重要硬件,对其性能指标的分析和统计有着重要的作用。其中,GPU带宽对游戏运行的耗电量有着较为明显的影响。
鉴于此,本领域亟需一种带宽的确定方法,用以提高带宽的统计效率和性能优化效率。
需要说明的是,在上述背景技术部分公开的信息仅用于加强对本公开的背景的理解,因此可以包括不构成对本领域普通技术人员已知的现有技术的信息。
发明内容
本公开的目的在于提供一种带宽的确定方法、带宽的确定装置、电子设备及计算机可读介质,进而至少在一定程度上提高带宽的确定效率和性能优化效率。
根据本公开的第一个方面,提供一种带宽的确定方法,包括:
获取待测帧的所有渲染阶段中的渲染目标,并获取各个所述渲染目标的分辨率参数和数据格式;
根据各个所述渲染目标的分辨率参数和数据格式得到各个所述渲染目标的交换数据量;
根据所述待测帧的所有渲染阶段中的各个所述渲染目标的交换数据量,得到所述待测帧的总带宽。
在本公开的一种示例性实施例中,所述根据所述待测帧的所有渲染阶段中的各个所述渲染目标的交换数据量,得到所述待测帧的总带宽,包括:
获取所述待测帧的所有渲染阶段中的各个所述渲染目标的操作类型;
根据各个所述渲染目标的操作类型以及所述渲染目标的交换数据量,得到所述待测帧的总带宽。
在本公开的一种示例性实施例中,所述渲染目标的操作类型包括在寄存器与显存之间产生数据交换的目标操作类型,所述根据各个所述渲染目标的操作类型以及所述渲染目标的交换数据量,得到所述待测帧的总带宽,包括:
将所述操作类型为所述目标操作类型的渲染目标确定为带宽统计渲染目标;
根据所述带宽统计渲染目标的交换数据量的总和,得到所述待测帧的总带宽。
在本公开的一种示例性实施例中,所述在寄存器与显存之间产生数据交换的目标操作类型包括数据加载操作类型和数据存储操作类型。
在本公开的一种示例性实施例中,所述根据各个所述渲染目标的分辨率参数和数据格式得到各个所述渲染目标的交换数据量,包括:
根据所述渲染目标的数据格式确定所述渲染目标中的渲染块的像素尺寸和字节大小;
根据所述渲染目标的分辨率参数和所述渲染目标中的渲染块的像素尺寸确定所述渲染目标中的渲染块的数量;
根据所述渲染目标中的渲染块的数量和所述渲染块的字节大小得到所述渲染目标的交换数据量。
在本公开的一种示例性实施例中,所述渲染目标的分辨率参数包括分辨率宽度值、分辨率高度值和分辨率深度值,所述渲染块的像素尺寸包括像素宽度值、像素高度值和像素深度值,所述根据所述渲染目标的分辨率参数和所述渲染目标中的渲染块的像素尺寸确定所述渲染目标中的渲染块的数量,包括:
根据所述渲染目标的分辨率宽度值与所述渲染块的像素宽度值的比值,得到所述渲染目标与所述渲染块的宽度比;
根据所述渲染目标的分辨率高度值与所述渲染块的像素高度值的比值,得到所述渲染目标与所述渲染块的高度比;
根据所述渲染目标的分辨率深度值与所述渲染块的像素深度值的比值,得到所述渲染目标与所述渲染块的深度比;
根据所述渲染目标与所述渲染块的所述宽度比、所述高度比与所述深度比的乘积,得到所述渲染目标中的渲染块的数量。
在本公开的一种示例性实施例中,所述获取各个所述渲染目标的分辨率参数和数据格式,包括:
获取待测的平台类型以及平台版本,并根据所述平台类型以及平台版本确定所述渲染目标的分辨率参数和数据格式。
根据本公开的第二方面,提供一种带宽的确定装置,包括:
渲染目标获取模块,用于获取待测帧的所有渲染阶段中的渲染目标,并获取各个所述渲染目标的分辨率参数和数据格式;
交换数据确定模块,用于根据各个所述渲染目标的分辨率参数和数据格式得到各个所述渲染目标的交换数据量;
总带宽统计模块,用于根据所述待测帧的所有渲染阶段中的各个所述渲染目标的交换数据量,得到所述待测帧的总带宽。
根据本公开的第三方面,提供一种电子设备,包括:处理器;以及存储器,用于存储所述处理器的可执行指令;其中,所述处理器配置为经由执行所述可执行指令来执行上述任意一项所述的带宽的确定方法。
根据本公开的第四方面,提供一种计算机可读介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述任意一项所述的带宽的确定方法。
本公开示例性实施例可以具有以下有益效果:
本公开示例实施方式的带宽的确定方法中,通过获取待测帧的所有渲染阶段中的所有渲染目标,并根据各个渲染目标的分辨率参数和数据格式得到各个渲染目标的交换数据量,然后对待测帧的所有渲染阶段中的各个渲染目标的交换数据量进行统计,得到当前待测帧的总带宽。通过本公开示例实施方式中的带宽的确定方法,一方面,该方法可以写入游戏引擎的源码中,只需调用一个接口即可实时获取当前帧的带宽统计数据,没有额外的时间消耗,计算效率高,进一步地,也能够提高后续性能分析的效率;另一方面,可以支持多平台的实时带宽统计,因此便于进行多平台的性能优化。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。显而易见地,下面描述中的附图仅仅是本公开的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1示出了本公开示例实施方式的带宽的确定方法的流程示意图;
图2示出了本公开示例实施方式的得到各个渲染目标的交换数据量的流程示意图;
图3示出了本公开示例实施方式的根据各个渲染目标的交换数据量得到待测帧的总带宽的流程示意图;
图4示出了本公开示例实施方式的根据各个渲染目标的操作类型和交换数据量得到待测帧的总带宽的流程示意图;
图5示出了本公开示例实施方式的带宽的确定装置的框图;
图6示出了适于用来实现本公开实施方式的电子设备的计算机系统的结构示意图。
具体实施方式
现在将参考附图更全面地描述示例实施方式。然而,示例实施方式能够以多种形式实施,且不应被理解为限于在此阐述的范例;相反,提供这些实施方式使得本公开将更加全面和完整,并将示例实施方式的构思全面地传达给本领域的技术人员。所描述的特征、结构或特性可以以任何合适的方式结合在一个或更多实施方式中。在下面的描述中,提供许多具体细节从而给出对本公开的实施方式的充分理解。然而,本领域技术人员将意识到,可以实践本公开的技术方案而省略所述特定细节中的一个或更多,或者可以采用其它的方法、组元、装置、步骤等。在其它情况下,不详细示出或描述公知技术方案以避免喧宾夺主而使得本公开的各方面变得模糊。
此外,附图仅为本公开的示意性图解,并非一定是按比例绘制。图中相同的附图标记表示相同或类似的部分,因而将省略对它们的重复描述。附图中所示的一些方框图是功能实体,不一定必须与物理或逻辑上独立的实体相对应。可以采用软件形式来实现这些功能实体,或在一个或多个硬件模块或集成电路中实现这些功能实体,或在不同网络和/或处理器装置和/或微控制器装置中实现这些功能实体。
性能优化作为如今手游,尤其是次世代3D手游研发的重要环节,其决定了在有限的硬件性能条件下,研发出来的游戏质量的上限能拔高到何种程度。
而影响手机游戏性能的两个重要硬件,CPU(Central Processing Unit,中央处理器)和GPU(Graphics Processing Unit,图形处理器)分别起到逻辑计算和图形渲染的作用。其中,CPU作为计算机系统的运算和控制核心,是信息处理、程序运行的最终执行单元。GPU又称显示核心、视觉处理器、显示芯片,是一种专门在个人电脑、工作站、游戏机和一些移动设备(如平板电脑、智能手机等)上做图像和图形相关运算工作的微处理器。为了完成游戏性能的优化,研发人员需要对游戏的CPU、GPU占用分别进行分析,在分析结果的基础上进行定向地优化。
其中,CPU有两个重要的性能指标,内存读写和逻辑运算量;同样的,GPU也有两个重要的性能指标,GPU带宽和Shader(着色器)运算量。为了完成这些指标的定向分析,需要借助RenderDoc(一种开源调试工具),Xcode(一种运行在操作系统Mac OS X上的集成开发工具)等分析工具进行数据获取,而其中较难获取且对性能有着较大影响的就是GPU带宽。
所谓的GPU带宽,是指单位时间内,GPU在寄存器和显存之间传输的数据量,对游戏运行的耗电量有着较为明显的影响。
在一些相关的实施例中,可以通过MAC系统的XCode工具获取GPU带宽。XCode可以编译游戏引擎源代码,打出一个完整的IOS游戏包体进行截帧分析。而安卓端尚未发现存在哪些可用的工具。
但是,在XCode上,对游戏进行截帧分析以获取GPU带宽的方法存在着以下几个缺点:
a.调试效率低,由于XCode需要编译游戏引擎源码才可以进行截帧,所以每次进行带宽分析时都要走完编译引擎、打包的整个流程,最快也需要一两个小时,而根据不同引擎的编译时长,具体的调试时长可能会更久,对于性能分析的效率而言非常不友好。
b.不易统计,由于Xcode在截帧时不单单截取了GPU带宽,还有很多其他的性能数据,所以每次截帧都会使游戏卡住几秒钟,不易观察正常游戏过程中带宽的变化情况,另外XCode中带宽的展示是以图片的形式,因此较难提取具体数值。
c.无法进行多平台统计,XCode只能用于IOS端的带宽统计,这对于需要进行不同平台的针对性优化来说并不是很方便。
基于上述问题,本示例实施方式首先提供了一种带宽的确定方法。参考图1所示,上述带宽的确定方法可以包括以下步骤:
步骤S110.获取待测帧的所有渲染阶段中的渲染目标,并获取各个渲染目标的分辨率参数和数据格式。
步骤S120.根据各个渲染目标的分辨率参数和数据格式得到各个渲染目标的交换数据量。
步骤S130.根据待测帧的所有渲染阶段中的各个渲染目标的交换数据量,得到待测帧的总带宽。
本公开示例实施方式的带宽的确定方法中,通过获取待测帧的所有渲染阶段中的所有渲染目标,并根据各个渲染目标的分辨率参数和数据格式得到各个渲染目标的交换数据量,然后对待测帧的所有渲染阶段中的各个渲染目标的交换数据量进行统计,得到当前待测帧的总带宽。通过本公开示例实施方式中的带宽的确定方法,一方面,该方法可以写入游戏引擎的源码中,只需调用一个接口即可实时获取当前帧的带宽统计数据,没有额外的时间消耗,计算效率高,进一步地,也能够提高后续性能分析的效率;另一方面,可以支持多平台的实时带宽统计,包括metal、es3、vulkan等平台,因此便于进行多平台的性能优化。
下面,结合图2至图4对本示例实施方式的上述步骤进行更加详细的说明。
在步骤S110中,获取待测帧的所有渲染阶段中的渲染目标,并获取各个渲染目标的分辨率参数和数据格式。
本示例实施方式中,待测帧指的是需要对GPU带宽进行统计测量的当前帧。在游戏渲染中,每一帧都存在多个不同的渲染阶段,一个渲染阶段可以称为一个Pass,例如,渲染特效的Pass或者渲染模型的Pass。
渲染目标(RT,RenderTarget),指的是一个缓冲区,用来记录渲染后的输出结果,而不直接将帧缓冲绘制到屏幕。一个Pass中可能会用到一个或多个渲染目标RT,因此,需要给每个Pass定义一个带宽bandwidth,并在游戏引擎准备RT之前置零。
由于不同数据格式的渲染目标在进行数据交换时所占用的带宽也不同,因此,在统计带宽之前,需要先获取各个渲染目标的分辨率参数和数据格式。由于在不同的平台下,甚至同一平台的不同版本下,支持的数据类型也存在一定差异,同一个RT有可能出现不同的数据类型,所以在进行带宽统计时,需要对标具体平台的版本来进行设置,尽量在足够用的前提下设置最小的数据类型,以减少GPU带宽的占用。同时,带宽的预计算也要跟随这些特殊情况进行矫正。
本示例实施方式中,可以先获取待测的平台类型以及平台版本,并根据平台类型以及平台版本确定渲染目标的分辨率参数和数据格式。
在步骤S120中,根据各个渲染目标的分辨率参数和数据格式得到各个渲染目标的交换数据量。
本示例实施方式中,是在准备RT的过程中统计每个Pass的RT交换数据的大小,当所有Pass都准备完成时,把每个RT的交换数据累加起来,就得到了总的带宽。
本示例实施方式中,如图2所示,根据各个渲染目标的分辨率参数和数据格式得到各个渲染目标的交换数据量,具体可以包括以下几个步骤:
步骤S210.根据渲染目标的数据格式确定渲染目标中的渲染块的像素尺寸和字节大小。
由于不同平台或者不同RT会采用不同的数据格式,而不同的类型的数据格式,其渲染块的大小和结构也不一样。渲染块由一个或多个像素组成,不同的数据类型,对应的渲染块的宽高像素尺寸(像素为单位)不同,通道数也不一样,有RGB 3通道的RT,也有RGBA 4通道或者其他类型的RT,这些因素共同决定了渲染块的像素尺寸和字节大小。
步骤S220.根据渲染目标的分辨率参数和渲染目标中的渲染块的像素尺寸确定渲染目标中的渲染块的数量。
本示例实施方式中,渲染目标的分辨率参数包括分辨率宽度值、分辨率高度值和分辨率深度值,渲染块的像素尺寸包括像素宽度值、像素高度值和像素深度值。例如,RGBA4通道的渲染块的像素尺寸为:像素宽度值1,像素高度值1,以及像素深度值1,其字节大小为16和字节。
根据渲染目标的分辨率参数和渲染目标中的渲染块的像素尺寸确定渲染目标中的渲染块的数量,具体方法可以为:根据渲染目标的分辨率宽度值与渲染块的像素宽度值的比值,得到渲染目标与渲染块的宽度比;根据渲染目标的分辨率高度值与渲染块的像素高度值的比值,得到渲染目标与渲染块的高度比;根据渲染目标的分辨率深度值与渲染块的像素深度值的比值,得到渲染目标与渲染块的深度比;然后,根据渲染目标与渲染块的宽度比、高度比与深度比的乘积,得到渲染目标中的渲染块的数量。
根据上述内容,渲染目标中的渲染块的数量的计算公式为:渲染块数量N=(RT分辨率的宽度值/渲染块的像素宽度值)*(RT分辨率的高度值/渲染块的像素高度值)*(RT分辨率的深度值/渲染块的像素深度值)。
步骤S230.根据渲染目标中的渲染块的数量和渲染块的字节大小得到渲染目标的交换数据量。
得到渲染目标中的渲染块的数量之后,根据渲染块的数量与每个渲染块的字节大小的乘积,即可得到渲染目标的交换数据量。
具体的计算公式为:渲染目标的交换数据量size=blockBytes*N=blockBytes*(RT分辨率的宽度值/渲染块的像素宽度值)*(RT分辨率的高度值/渲染块的像素高度值)*(RT分辨率的深度值/渲染块的像素深度值)。其中,blockBytes表示渲染块的字节大小。
RT的计算方法跟计算图片大小的方法相似,blockBytes是每个渲染块的字节大小,渲染块的字节大小乘以RT的渲染块的数量,就是整个RT的数据量大小。
在步骤S130中,根据待测帧的所有渲染阶段中的各个渲染目标的交换数据量,得到待测帧的总带宽。
本示例实施方式中,如图3所示,根据待测帧的所有渲染阶段中的各个渲染目标的交换数据量,得到待测帧的总带宽,具体可以包括以下几个步骤:
步骤S310.获取待测帧的所有渲染阶段中的各个渲染目标的操作类型。
渲染目标的操作类型包括在寄存器与显存之间产生数据交换的目标操作类型,具体地,可以包括数据加载操作类型和数据存储操作类型这两种操作类型。
GPU对RT存在两种类型的操作会产生GPU带宽,即数据加载操作类型(LoadAction)和数据存储操作类型(Store Action)。其中,Load Action指的是,把显存中的RT装载到寄存器上,Store Action指的是,把寄存器中的数据存入显存中。
这两个操作的意思是,在当前的Pass把RT处理好之后,想要存起来留到下个Pass再用,所以就要先存储到显存内,用Store Action。在当前的Pass要用到之前存进显存的RT时,需要把RT从显存中加载到GPU寄存器上,用Load Action。
而其他的一些操作,如Discard、Clear、Memoryless等是直接清理当前Pass的RT或者不操作,所以不会产生GPU带宽。因此在统计的时候,只需要关注当前Pass需要Load或者Store的RT,将这些RT的大小统计起来即可。
步骤S320.根据各个渲染目标的操作类型以及渲染目标的交换数据量,得到待测帧的总带宽。
本示例实施方式中,如图4所示,根据各个渲染目标的操作类型以及渲染目标的交换数据量,得到待测帧的总带宽,具体可以包括以下几个步骤:
步骤S410.将操作类型为目标操作类型的渲染目标确定为带宽统计渲染目标。
本示例实施方式中,只需要统计Load Action和Store Action这两种操作类型的渲染目标即可,因此,将操作类型为上述两种目标操作类型的渲染目标确定为带宽统计所需的渲染目标。
步骤S420.根据带宽统计渲染目标的交换数据量的总和,得到待测帧的总带宽。
最后,将操作类型为Load Action和Store Action的带宽统计渲染目标的交换数据量累加起来,即可得到当前待测帧的总带宽。
本示例实施方式的带宽的确定方法采用预先计算的方式统计GPU带宽,主要是在引擎准备RT的时候,根据每个RT的分辨率、数据格式计算每个RT的大小,再通过每个Pass的Load/Store Action判断RT在当前Pass中是否需要在显存和寄存器之间进行数据交换,然后以此来统计GPU带宽。
总带宽的计算结果以字节为单位,通过实际操作测试可以得到,最终计算出的Load Action的带宽Load Bandwidth、Store Action的带宽Store Bandwidth以及总带宽的大小与XCode上的结果基本一致,仅存在几兆的误差,总体来说对性能优化的影响不大,但其操作的方便度和统计的效率有大大的提升。
通过本示例实施方式中的带宽的确定方法,游戏引擎可以实现在PC、安卓、IOS等不同平台进行GPU带宽的实时统计,对游戏GPU的性能分析有很大的效率提升,推动游戏性能优化更加高效。
应当注意,尽管在附图中以特定顺序描述了本公开中方法的各个步骤,但是,这并非要求或者暗示必须按照该特定顺序来执行这些步骤,或是必须执行全部所示的步骤才能实现期望的结果。附加的或备选的,可以省略某些步骤,将多个步骤合并为一个步骤执行,以及/或者将一个步骤分解为多个步骤执行等。
进一步的,本公开还提供了一种带宽的确定装置。参考图5所示,该带宽的确定装置可以包括渲染目标获取模块510、交换数据确定模块520以及总带宽统计模块530。其中:
渲染目标获取模块510可以用于获取待测帧的所有渲染阶段中的渲染目标,并获取各个渲染目标的分辨率参数和数据格式;
交换数据确定模块520可以用于根据各个渲染目标的分辨率参数和数据格式得到各个渲染目标的交换数据量;
总带宽统计模块530可以用于根据待测帧的所有渲染阶段中的各个渲染目标的交换数据量,得到待测帧的总带宽。
在本公开的一些示例性实施例中,总带宽统计模块530可以包括操作类型确定单元以及总带宽确定单元。其中:
操作类型确定单元可以用于获取待测帧的所有渲染阶段中的各个渲染目标的操作类型;
总带宽确定单元可以用于根据各个渲染目标的操作类型以及渲染目标的交换数据量,得到待测帧的总带宽。
在本公开的一些示例性实施例中,总带宽确定单元可以包括统计渲染目标确定单元以及交换数据量统计单元。其中:
统计渲染目标确定单元可以用于将操作类型为目标操作类型的渲染目标确定为带宽统计渲染目标;
交换数据量统计单元可以用于根据带宽统计渲染目标的交换数据量的总和,得到待测帧的总带宽。
在本公开的一些示例性实施例中,统计渲染目标确定单元中的在寄存器与显存之间产生数据交换的目标操作类型包括数据加载操作类型和数据存储操作类型。
在本公开的一些示例性实施例中,交换数据确定模块520可以包括渲染块参数确定单元、渲染块数量确定单元以及交换数据量确定单元。其中:
渲染块参数确定单元可以用于根据渲染目标的数据格式确定渲染目标中的渲染块的像素尺寸和字节大小;
渲染块数量确定单元可以用于根据渲染目标的分辨率参数和渲染目标中的渲染块的像素尺寸确定渲染目标中的渲染块的数量;
交换数据量确定单元可以用于根据渲染目标中的渲染块的数量和渲染块的字节大小得到渲染目标的交换数据量。
在本公开的一些示例性实施例中,渲染块数量确定单元可以包括宽度比确定单元、高度比确定单元、深度比确定单元以及渲染块数量计算单元。其中:
宽度比确定单元可以用于根据渲染目标的分辨率宽度值与渲染块的像素宽度值的比值,得到渲染目标与渲染块的宽度比;
高度比确定单元可以用于根据渲染目标的分辨率高度值与渲染块的像素高度值的比值,得到渲染目标与渲染块的高度比;
深度比确定单元可以用于根据渲染目标的分辨率深度值与渲染块的像素深度值的比值,得到渲染目标与渲染块的深度比;
渲染块数量计算单元可以用于根据渲染目标与渲染块的宽度比、高度比与深度比的乘积,得到渲染目标中的渲染块的数量。
在本公开的一些示例性实施例中,渲染目标获取模块510可以包括数据格式确定单元,可以用于获取待测的平台类型以及平台版本,并根据平台类型以及平台版本确定渲染目标的分辨率参数和数据格式。
上述带宽的确定装置中各模块/单元的具体细节在相应的方法实施例部分已有详细的说明,此处不再赘述。
图6示出了适于用来实现本发明实施例的电子设备的计算机系统的结构示意图。
需要说明的是,图6示出的电子设备的计算机系统600仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。
如图6所示,计算机系统600包括中央处理单元(CPU)601,其可以根据存储在只读存储器(ROM)602中的程序或者从存储部分608加载到随机访问存储器(RAM)603中的程序而执行各种适当的动作和处理。在RAM 603中,还存储有系统操作所需的各种程序和数据。CPU601、ROM 602以及RAM 603通过总线604彼此相连。输入/输出(I/O)接口605也连接至总线604。
以下部件连接至I/O接口605:包括键盘、鼠标等的输入部分606;包括诸如阴极射线管(CRT)、液晶显示器(LCD)等以及扬声器等的输出部分607;包括硬盘等的存储部分608;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分609。通信部分609经由诸如因特网的网络执行通信处理。驱动器610也根据需要连接至I/O接口605。可拆卸介质611,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器610上,以便于从其上读出的计算机程序根据需要被安装入存储部分608。
特别地,根据本发明的实施例,下文参考流程图描述的过程可以被实现为计算机软件程序。例如,本发明的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分609从网络上被下载和安装,和/或从可拆卸介质611被安装。在该计算机程序被中央处理单元(CPU)601执行时,执行本申请的系统中限定的各种功能。
需要说明的是,本公开所示的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本公开中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本公开中,计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、电线、光缆、RF等等,或者上述的任意合适的组合。
附图中的流程图和框图,图示了按照本公开各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
作为另一方面,本申请还提供了一种计算机可读介质,该计算机可读介质可以是上述实施例中描述的电子设备中所包含的;也可以是单独存在,而未装配入该电子设备中。上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被一个该电子设备执行时,使得该电子设备实现如下述实施例中所述的方法。
应当注意,尽管在上文详细描述中提及了用于动作执行的设备的若干模块,但是这种划分并非强制性的。实际上,根据本公开的实施方式,上文描述的两个或更多模块的特征和功能可以在一个模块中具体化。反之,上文描述的一个模块的特征和功能可以进一步划分为由多个模块来具体化。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其它实施方案。本申请旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。
应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求来限制。

Claims (10)

1.一种带宽的确定方法,其特征在于,包括:
获取待测帧的所有渲染阶段中的渲染目标,并获取各个所述渲染目标的分辨率参数和数据格式;
根据各个所述渲染目标的分辨率参数和数据格式得到各个所述渲染目标的交换数据量;
根据所述待测帧的所有渲染阶段中的各个所述渲染目标的交换数据量,得到所述待测帧的总带宽。
2.根据权利要求1所述的带宽的确定方法,其特征在于,所述根据所述待测帧的所有渲染阶段中的各个所述渲染目标的交换数据量,得到所述待测帧的总带宽,包括:
获取所述待测帧的所有渲染阶段中的各个所述渲染目标的操作类型;
根据各个所述渲染目标的操作类型以及所述渲染目标的交换数据量,得到所述待测帧的总带宽。
3.根据权利要求2所述的带宽的确定方法,其特征在于,所述渲染目标的操作类型包括在寄存器与显存之间产生数据交换的目标操作类型,所述根据各个所述渲染目标的操作类型以及所述渲染目标的交换数据量,得到所述待测帧的总带宽,包括:
将所述操作类型为所述目标操作类型的渲染目标确定为带宽统计渲染目标;
根据所述带宽统计渲染目标的交换数据量的总和,得到所述待测帧的总带宽。
4.根据权利要求3所述的带宽的确定方法,其特征在于,所述在寄存器与显存之间产生数据交换的目标操作类型包括数据加载操作类型和数据存储操作类型。
5.根据权利要求1所述的带宽的确定方法,其特征在于,所述根据各个所述渲染目标的分辨率参数和数据格式得到各个所述渲染目标的交换数据量,包括:
根据所述渲染目标的数据格式确定所述渲染目标中的渲染块的像素尺寸和字节大小;
根据所述渲染目标的分辨率参数和所述渲染目标中的渲染块的像素尺寸确定所述渲染目标中的渲染块的数量;
根据所述渲染目标中的渲染块的数量和所述渲染块的字节大小得到所述渲染目标的交换数据量。
6.根据权利要求5所述的带宽的确定方法,其特征在于,所述渲染目标的分辨率参数包括分辨率宽度值、分辨率高度值和分辨率深度值,所述渲染块的像素尺寸包括像素宽度值、像素高度值和像素深度值,所述根据所述渲染目标的分辨率参数和所述渲染目标中的渲染块的像素尺寸确定所述渲染目标中的渲染块的数量,包括:
根据所述渲染目标的分辨率宽度值与所述渲染块的像素宽度值的比值,得到所述渲染目标与所述渲染块的宽度比;
根据所述渲染目标的分辨率高度值与所述渲染块的像素高度值的比值,得到所述渲染目标与所述渲染块的高度比;
根据所述渲染目标的分辨率深度值与所述渲染块的像素深度值的比值,得到所述渲染目标与所述渲染块的深度比;
根据所述渲染目标与所述渲染块的所述宽度比、所述高度比与所述深度比的乘积,得到所述渲染目标中的渲染块的数量。
7.根据权利要求1所述的带宽的确定方法,其特征在于,所述获取各个所述渲染目标的分辨率参数和数据格式,包括:
获取待测的平台类型以及平台版本,并根据所述平台类型以及平台版本确定所述渲染目标的分辨率参数和数据格式。
8.一种带宽的确定装置,其特征在于,包括:
渲染目标获取模块,用于获取待测帧的所有渲染阶段中的渲染目标,并获取各个所述渲染目标的分辨率参数和数据格式;
交换数据确定模块,用于根据各个所述渲染目标的分辨率参数和数据格式得到各个所述渲染目标的交换数据量;
总带宽统计模块,用于根据所述待测帧的所有渲染阶段中的各个所述渲染目标的交换数据量,得到所述待测帧的总带宽。
9.一种电子设备,其特征在于,包括:
处理器;以及
存储器,用于存储一个或多个程序,当所述一个或多个程序被所述处理器执行时,使得所述处理器实现如权利要求1至7中任一项所述的带宽的确定方法。
10.一种计算机可读介质,其上存储有计算机程序,其特征在于,所述程序被处理器执行时实现如权利要求1至7中任一项所述的带宽的确定方法。
CN202110569120.3A 2021-05-25 2021-05-25 带宽的确定方法、装置、电子设备及计算机可读介质 Active CN113144616B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110569120.3A CN113144616B (zh) 2021-05-25 2021-05-25 带宽的确定方法、装置、电子设备及计算机可读介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110569120.3A CN113144616B (zh) 2021-05-25 2021-05-25 带宽的确定方法、装置、电子设备及计算机可读介质

Publications (2)

Publication Number Publication Date
CN113144616A true CN113144616A (zh) 2021-07-23
CN113144616B CN113144616B (zh) 2024-09-20

Family

ID=76877237

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110569120.3A Active CN113144616B (zh) 2021-05-25 2021-05-25 带宽的确定方法、装置、电子设备及计算机可读介质

Country Status (1)

Country Link
CN (1) CN113144616B (zh)

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6147695A (en) * 1996-03-22 2000-11-14 Silicon Graphics, Inc. System and method for combining multiple video streams
US20130147819A1 (en) * 2011-06-09 2013-06-13 Ciinow, Inc. Method and mechanism for performing both server-side and client-side rendering of visual data
US20150130820A1 (en) * 2012-07-31 2015-05-14 Kangyuan Shu Hybrid rendering systems and methods
US20160232707A1 (en) * 2014-01-22 2016-08-11 Tencent Technology (Shenzhen) Company Limited Image processing method and apparatus, and computer device
CN108986201A (zh) * 2018-08-02 2018-12-11 苏州蜗牛数字科技股份有限公司 利用多帧数据优化hdr渲染的方法、装置及存储介质
GB201907287D0 (en) * 2019-05-23 2019-07-10 Serif Europe Ltd Image rendering
CN110209501A (zh) * 2019-06-03 2019-09-06 Oppo广东移动通信有限公司 图形处理器的频率调整方法、装置、终端及存储介质
CN110809889A (zh) * 2018-06-04 2020-02-18 京东方科技集团股份有限公司 处理具有减小的传输带宽的图像数据的方法和显示设备
CN111144057A (zh) * 2019-12-30 2020-05-12 西安芯瞳半导体技术有限公司 图形渲染管线的性能分析方法、装置及计算机存储介质

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6147695A (en) * 1996-03-22 2000-11-14 Silicon Graphics, Inc. System and method for combining multiple video streams
US20130147819A1 (en) * 2011-06-09 2013-06-13 Ciinow, Inc. Method and mechanism for performing both server-side and client-side rendering of visual data
US20150130820A1 (en) * 2012-07-31 2015-05-14 Kangyuan Shu Hybrid rendering systems and methods
US20160232707A1 (en) * 2014-01-22 2016-08-11 Tencent Technology (Shenzhen) Company Limited Image processing method and apparatus, and computer device
CN110809889A (zh) * 2018-06-04 2020-02-18 京东方科技集团股份有限公司 处理具有减小的传输带宽的图像数据的方法和显示设备
CN108986201A (zh) * 2018-08-02 2018-12-11 苏州蜗牛数字科技股份有限公司 利用多帧数据优化hdr渲染的方法、装置及存储介质
GB201907287D0 (en) * 2019-05-23 2019-07-10 Serif Europe Ltd Image rendering
CN110209501A (zh) * 2019-06-03 2019-09-06 Oppo广东移动通信有限公司 图形处理器的频率调整方法、装置、终端及存储介质
CN111144057A (zh) * 2019-12-30 2020-05-12 西安芯瞳半导体技术有限公司 图形渲染管线的性能分析方法、装置及计算机存储介质

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
王旭;杨新;王志铭;: "在GPU上实现地形渲染的自适应算法", 计算机辅助设计与图形学学报, no. 10 *

Also Published As

Publication number Publication date
CN113144616B (zh) 2024-09-20

Similar Documents

Publication Publication Date Title
US9886739B2 (en) Recording a command stream with a rich encoding format for capture and playback of graphics content
US8462166B2 (en) Graphics system which measures CPU and GPU performance
US8527239B2 (en) Automatic detection of performance bottlenecks in a graphics system
US8933948B2 (en) Graphics system which utilizes fine grained analysis to determine performance issues
CN111367780B (zh) 一种gpu的性能测试方法、装置及计算机存储介质
EP4044122A1 (en) Image processing method and apparatus, computer storage medium, and electronic device
CN111179150A (zh) 一种基于绘制指令流的着色器自动简化方法和系统
CN109377552B (zh) 图像遮挡计算方法、装置、计算设备及存储介质
US9934122B2 (en) Extracting rich performance analysis from simple time measurements
CN105760238A (zh) 图形指令数据的处理方法和装置及系统
CN116883228B (zh) 一种gpu像素填充率测量方法
CN108717354B (zh) 手机游戏渲染数据的采集方法、装置及存储设备
CN113144616B (zh) 带宽的确定方法、装置、电子设备及计算机可读介质
CN111989715A (zh) 用于与硬件实例化兼容的gpu的压缩可见性状态
CN113393555B (zh) 一种基于着色器的屏幕填充率统计方法及其系统
CN110827407B (zh) 一种自动输出网格资源三角形合适度的方法和系统
CN110310270B (zh) 基于U-net网络模型的肿瘤微球轮廓检测方法及装置
CN116974872A (zh) Gpu卡性能测试方法、装置、电子设备及可读存储介质
CN116737576A (zh) 系统测试方法和装置
CN108170592B (zh) 一种虚拟现实软件性能的远程测试方法及终端
CN116137061A (zh) 数量统计模型的训练方法、装置、电子设备及存储介质
CN110288565A (zh) 碳纤维复合芯导线的缺陷识别方法、装置及存储介质
CN111309595B (zh) 特效的测试方法、装置、电子设备及计算机可读介质
CN110289861A (zh) 半精度压缩感知采样方法
CN111144057B (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