CN108389151B - 一种过度绘制的评估方法和系统 - Google Patents

一种过度绘制的评估方法和系统 Download PDF

Info

Publication number
CN108389151B
CN108389151B CN201810015176.2A CN201810015176A CN108389151B CN 108389151 B CN108389151 B CN 108389151B CN 201810015176 A CN201810015176 A CN 201810015176A CN 108389151 B CN108389151 B CN 108389151B
Authority
CN
China
Prior art keywords
camera
rendering
shader
value
texture
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.)
Active
Application number
CN201810015176.2A
Other languages
English (en)
Other versions
CN108389151A (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.)
Zhuhai Xishanju Digital Technology Co ltd
Zhuhai Kingsoft Digital Network Technology Co Ltd
Original Assignee
Zhuhai Seasun Mobile Game Technology Co ltd
Zhuhai Kingsoft Online Game Technology 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 Zhuhai Seasun Mobile Game Technology Co ltd, Zhuhai Kingsoft Online Game Technology Co Ltd filed Critical Zhuhai Seasun Mobile Game Technology Co ltd
Priority to CN201810015176.2A priority Critical patent/CN108389151B/zh
Publication of CN108389151A publication Critical patent/CN108389151A/zh
Application granted granted Critical
Publication of CN108389151B publication Critical patent/CN108389151B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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
    • 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/70Game security or game management aspects
    • 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/70Game security or game management aspects
    • A63F13/75Enforcing rules, e.g. detecting foul play or generating lists of cheating players
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering

Abstract

本发明提供了一种过度绘制的评估方法,包括以下步骤:创建监测着色器,其中该监测着色器被配置为用于绘制半透明物体,且每绘制一个物体时,在其像素值的指定通道的值加上一个指定值;创建渲染纹理,该渲染纹理用于接收待绘制的buffer数据;创建相机,将该渲染纹理赋值给相机的渲染对象,其中该相机被配置为以该监测着色器作为该相机的着色器;将该相机的位置和旋转信息配置为与主相机的位置和旋转信息相同;完成渲染后,根据该相机中的该渲染纹理的指定通道的值,计算过度绘制的倍数。本发明还提供了一种过度绘制的评估系统,可有效获取手机游戏的过度绘制情况,为游戏性能评估提供重要的参考价值和研发团队提供优化思路。

Description

一种过度绘制的评估方法和系统
技术领域
本发明涉及图形处理技术领域,尤其涉及一种过度绘制的评估方法和系统。
背景技术
随着便携式智能终端的盛行,手机游戏日渐成为主流。大型手机游戏的视觉效果不断提升,对硬件配置的要求也日益水涨船高,因此,如何优化包括手机游戏在内的各应用程序的性能,尤其是如何监控检测过度绘制则成为软件发行商评估一款应用程序性能的难点。
过度绘制(Overdraw)是指屏幕上的某个像素区域在同一帧的时间内被绘制了多次。尽管在同一个像素点上出现了多个像素的叠加,但实际上呈现在用户眼前的只有位于最上层的一个,这无疑造成了资源的浪费。当前,以游戏为代表的一些应用程序为了达到华丽的视觉效果,需要在界面上层叠较多的视图组件,过度绘制现象非常普遍,无谓地占用大量的CPU和GPU资源。部分得手机操作系统提供了基本的过度绘制检测功能,例如Andriod系统的debug GPU overdraw(调试GPU过度绘制)选项等,可用于检测UI的过度绘制情况,但是该选项仅能检测Android原生控件等特定的视觉元素的过度绘制问题,并不具有普适性,例如无法应对Unity程序等。
发明内容
为了解决上述问题,根据本发明的第一个方面,提供了一种过度绘制的评估方法,包括以下步骤:创建监测着色器,其中监测着色器被配置为用于绘制半透明物体,且每绘制一个半透明物体时,将该半透明物体的一个或多个通道的像素值赋值为一指定值;创建渲染纹理,该渲染纹理用于接收待绘制的buffer数据;创建相机,将该渲染纹理赋值给相机的渲染对象,其中该相机被配置为以该监测着色器作为该相机的着色器;将该相机的位置和旋转信息配置为与主相机的位置和旋转信息相同;完成渲染后,根据该相机中的该渲染纹理的指定通道的值,计算过度绘制的倍数。
优选地,在完成渲染后,根据该相机中的该渲染纹理的指定通道的值,计算过度绘制的倍数的步骤中,还包括子步骤:重载OnPostRender函数;利用OnPostRender函数将所述相机中的渲染纹理的内容保存为本地图片。
优选地,该指定通道为红通道。
根据本发明的第二个方面,提供了一种过度绘制的评估系统,包括:第一装置,创建监测着色器,其中该监测着色器被配置为用于绘制半透明物体,且每绘制一个物体时,在其像素值的指定通道的值加上一个指定值;第二装置,创建渲染纹理,该渲染纹理用于接收待绘制的buffer数据;第三装置,创建相机,将该渲染纹理赋值给相机的渲染对象,其中该相机被配置为以该监测着色器作为该相机的着色器;第四装置,将该相机的位置和旋转信息配置为与主相机的位置和旋转信息相同;以及第五装置,完成渲染后,根据该相机中的该渲染纹理的指定通道的值,计算过度绘制的倍数。
优选地,第五装置包括以下子装置:第一子装置,重载OnPostRender函数;第二子装置,利用OnPostRender函数将相机中的渲染纹理的内容保存为本地图片。
优选地,该指定通道为红通道。
根据本发明的第三个方面,一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现权利要求1该方法的步骤。
本发明的有益效果在于:可以有效的获取手机游戏的过度绘制情况,为游戏性能评估提供重要的参考价值,同时也为游戏研发团队提供优化思路。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明的第一实施例的流程图。
具体实施方式
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接相合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在二个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在二个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
本领域技术人员应当理解,在本申请的说明书中,“首先”、“其次”、“第一”、“第二”、“第一步”、“第二步”等用语,如无特别声明并不表示对先后顺序的限制。例如,“步骤三”可以在“步骤一”之前,“第四部”可以和“第二部”同时进行。
参照图1,本发明的第一实施例提供了一种过度绘制的评估方法。该方法可以在Unity的环境下进行,可以计算机、手机等平台上运行。在启动应用程序(例如手机游戏)并进入待评估的登录场景后,开始进行过度绘制检测,具体过程如下。
第一步:创建一个Shader(着色器)作为监测着色器,其中该Shader被配置为用于绘制半透明物体,且每绘制一个半透明物体时,在该半透明物体的像素值的指定一个或多个通道的通道值加上一个指定值。其中所述指定通道可以是红通道、蓝通道、绿通道或阿尔法通道等,优选采用红通道。由此,如有多个半透明物体被绘制,则最终显示到屏幕的渲染纹理的像素值为这些指定值的累加值。
例如编写一个用于绘制图形的shader,用于绘制半透明物体,每绘制一个物体将其像素值的红色通道值加上一个值,绘制的次数越多其红色通道值越接近于1,即红色越红。
第二步:创建RenderTexture(渲染纹理),该RenderTexture用于接收待绘制的buffer数据。
第三步:创建Camera(相机),将上述RenderTexture赋值给Camera的RenderTarget(渲染对象),其中该Camera被配置为以上述作为监测着色器的Shader作为该Camera的Shader。
第四步:将所述相机的位置和旋转信息配置为与主相机的的位置和旋转信息相同。
例如,创建一个脚本在Start函数中将第三步创建的相机的shader替换为第一步所创建的Shader,并在Update函数中更新第三步创建的Camera的位置与旋转信息确保当前Camera与Main Camera(主相机)的transform信息相同。
第五步:在完成渲染后,根据所述相机中的所述渲染纹理的指定通道的值,计算过度绘制的倍数。
例如,创建一个脚本,将这个脚本挂载在第三步创建的相机的组件上,并重载OnPostRender函数,在此函数中将camera中的RenderTexture的内容保存到本地图片文件。检测30秒后结束过度绘制检测,将保存到本地图片上传web端,根据图片的红通道的值评估该登录界面的过度绘制的情况。此外,可以通过在不同的时间节点多次保存图片的方式,对动态过程中的过度绘制情况做综合性分析。
通过web端展示,测试人员可以发现登录选角界面过度绘制较为严重达到8倍。通过编辑器定位发现角色列表每一个角色选项都包含多层image,其中有几层是作为底图的只显示边框,其image为九宫格类型,而中间确实透明的可以通过去掉勾选FillCenter勾选项而减少过度绘制。通过多次的操作后,登录场景的过度绘制从开始的8倍绘制减少为3.5倍绘制,从而有效地降低过度绘制的程度,释放了CPU和GPU资源。
根据本发明的第二实施例,提供了一种过度绘制的评估装置,该系统包括:第一装置,创建监测着色器,其中该监测着色器被配置为用于绘制半透明物体,且每绘制一个物体时,在其像素值的指定通道的值加上一个指定值;第二装置,创建渲染纹理,该渲染纹理用于接收待绘制的buffer数据;第三装置,创建相机,将该渲染纹理赋值给相机的渲染对象,其中该相机被配置为以该监测着色器作为该相机的着色器;第四装置,将该相机的位置和旋转信息配置为与主相机的位置和旋转信息相同;以及第五装置,完成渲染后,根据该相机中的该渲染纹理的指定通道的值,计算过度绘制的倍数。
优选地,第五装置包括以下子装置:第一子装置,重载OnPostRender函数;第二子装置,利用OnPostRender函数将所述相机中的渲染纹理的内容保存为本地图片。
优选地,该指定通道为红通道。
根据本发明的第三实施例,提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现本发明第一实施例所述方法的步骤。具体步骤可参照本发明的第一实施例,故在此不再赘言。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。

Claims (7)

1.一种过度绘制的评估方法,其特征在于包括以下步骤:
创建监测着色器,其中监测着色器被配置为用于绘制半透明物体,且每绘制一个半透明物体时,将该半透明物体的一个或多个通道的像素值赋值为一指定值,如有多个半透明物体被绘制,则最终显示到屏幕的渲染纹理的像素值为这些指定值的累加值;
创建渲染纹理,所述渲染纹理用于接收待绘制的buffer数据;
创建相机,将所述渲染纹理赋值给相机的渲染对象,其中所述相机被配置为以所述监测着色器作为所述相机的着色器;
将所述相机的位置和旋转信息配置为与主相机的位置和旋转信息相同;
完成渲染后,根据所述相机中的所述渲染纹理的指定通道的值,计算过度绘制的倍数。
2.根据权利要求1所述的方法,其特征在于,在完成渲染后,根据所述相机中的所述渲染纹理的指定通道的值,计算过度绘制的倍数的步骤中,还包括子步骤:
重载OnPostRender函数;
利用OnPostRender函数将所述相机中的渲染纹理的内容保存为本地图片。
3.根据权利要求1或2所述的方法,其特征在于:所述指定通道为红通道。
4.一种过度绘制的评估系统,其特征在于,包括:
第一装置,创建监测着色器,其中所述监测着色器被配置为用于绘制半透明物体,且每绘制一个物体时,在其像素值的指定通道的值加上一个指定值,如有多个半透明物体被绘制,则最终显示到屏幕的渲染纹理的像素值为这些指定值的累加值;
第二装置,创建渲染纹理,所述渲染纹理用于接收待绘制的buffer数据;
第三装置,创建相机,将所述渲染纹理赋值给相机的渲染对象,其中所述相机被配置为以所述监测着色器作为所述相机的着色器;
第四装置,将所述相机的位置和旋转信息配置为与主相机的位置和旋转信息相同;以及
第五装置,完成渲染后,根据所述相机中的所述渲染纹理的指定通道的值,计算过度绘制的倍数。
5.根据权利要求4所述的系统,其特征在于,所述第五装置包括以下子装置:
第一子装置,重载OnPostRender函数;
第二子装置,利用OnPostRender函数将所述相机中的渲染纹理的内容保存为本地图片。
6.根据权利要求4所述的系统,其特征在于:所述指定通道为红通道。
7.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现权利要求1所述方法的步骤。
CN201810015176.2A 2018-01-08 2018-01-08 一种过度绘制的评估方法和系统 Active CN108389151B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810015176.2A CN108389151B (zh) 2018-01-08 2018-01-08 一种过度绘制的评估方法和系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810015176.2A CN108389151B (zh) 2018-01-08 2018-01-08 一种过度绘制的评估方法和系统

Publications (2)

Publication Number Publication Date
CN108389151A CN108389151A (zh) 2018-08-10
CN108389151B true CN108389151B (zh) 2022-03-18

Family

ID=63076836

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810015176.2A Active CN108389151B (zh) 2018-01-08 2018-01-08 一种过度绘制的评估方法和系统

Country Status (1)

Country Link
CN (1) CN108389151B (zh)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110286979B (zh) * 2019-06-20 2022-04-26 杭州绝地科技股份有限公司 减少UI遮蔽导致的Overdraw的渲染方法和系统
CN113393555B (zh) * 2020-03-11 2023-09-15 福建天晴数码有限公司 一种基于着色器的屏幕填充率统计方法及其系统
CN111538657B (zh) * 2020-04-17 2023-05-12 抖音视界有限公司 页面过度绘制的检测方法、装置、电子设备及可读介质
CN113961280B (zh) * 2020-07-21 2023-11-24 抖音视界有限公司 视图的展示方法、装置、电子设备及计算机可读存储介质
CN111857665B (zh) * 2020-07-22 2022-11-25 厦门猎火文化科技有限公司 一种3d引擎设计方法和装置
CN114332311B (zh) * 2021-12-05 2023-08-04 北京字跳网络技术有限公司 一种图像生成方法、装置、计算机设备及存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2728551A1 (en) * 2012-11-05 2014-05-07 Rightware Oy Image rendering method and system
CN103810742A (zh) * 2012-11-05 2014-05-21 正谓有限公司 图像渲染方法和系统
CN103959338A (zh) * 2011-11-30 2014-07-30 高通股份有限公司 使用过度绘制跟踪器在图形处理中在直接呈现与分格之间的切换

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB0908506D0 (en) * 2009-05-18 2009-06-24 Imagination Tech Ltd Method and apparatus for drawing polygons

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103959338A (zh) * 2011-11-30 2014-07-30 高通股份有限公司 使用过度绘制跟踪器在图形处理中在直接呈现与分格之间的切换
EP2728551A1 (en) * 2012-11-05 2014-05-07 Rightware Oy Image rendering method and system
CN103810742A (zh) * 2012-11-05 2014-05-21 正谓有限公司 图像渲染方法和系统

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
Android性能优化之过渡绘制(一);goldxclu;《https://blog.csdn.net/scjie168/article/details/52588221?locationNum=10&fps=1》;20160919;1-8 *
Unity RenderTexture的应用;云木unity;《https://www.jianshu.com/p/334770f39127》;20171231;1-4 *

Also Published As

Publication number Publication date
CN108389151A (zh) 2018-08-10

Similar Documents

Publication Publication Date Title
CN108389151B (zh) 一种过度绘制的评估方法和系统
WO2021047429A1 (zh) 一种图像渲染方法、装置、设备及存储介质
JP5963940B2 (ja) 描画の方法、装置、および端末
KR101980990B1 (ko) 중간-분류 아키텍처에서 프레임 대 프레임 일관성의 활용
US20220139352A1 (en) Method and Device for Image Composition, Electronic Device and Storage Medium
CN110047123B (zh) 一种地图渲染方法、装置、存储介质及计算机程序产品
CN111737019B (zh) 一种显存资源的调度方法、装置及计算机存储介质
US11954787B2 (en) Image rendering method in panoramic application and terminal device
CN112686797A (zh) 用于gpu功能验证的目标帧数据获取方法、装置及存储介质
CN111228801A (zh) 游戏场景的渲染方法和装置、存储介质、处理器
US20160316151A1 (en) Filter realization method and apparatus of camera application
CN111258693B (zh) 远程显示方法及装置
CN110471700B (zh) 图形处理方法、装置、存储介质及电子设备
CN112316437B (zh) 一种资源切换方法、装置、电子设备及存储介质
CN110334027B (zh) 游戏画面测试方法和装置
US20150293679A1 (en) Method and Device for Controlling Switching of Virtual Navigation Bar
KR102575541B1 (ko) 이미지를 캡처하기 위한 방법, 단말기 및 이의 저장 매체
CN113625923A (zh) 基于远程云桌面的鼠标处理方法、装置、存储介质及设备
US20210049788A1 (en) Shader function based pixel count determination
CN111292392A (zh) 基于unity的图像显示方法、装置、设备及介质
CN111009025B (zh) 骨骼动画的隐藏方法、装置及设备
CN112395036B (zh) 页面渲染方法及系统
US20240104811A1 (en) Image editing method and device
CN116912093A (zh) 画面的渲染方法、装置、电子设备和存储介质
Peuhkurinen et al. Mixed reality application paradigm for multiple simultaneous 3D applications

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
CP03 Change of name, title or address

Address after: 519000 Room 102, 202, 302 and 402, No. 325, Qiandao Ring Road, Tangjiawan Town, high tech Zone, Zhuhai City, Guangdong Province, Room 102 and 202, No. 327 and Room 302, No. 329

Patentee after: Zhuhai Jinshan Digital Network Technology Co.,Ltd.

Patentee after: Zhuhai Xishanju Digital Technology Co.,Ltd.

Address before: 519000 Jinshan software building, 8 Lanshan lane, Jida Jingshan Hill Road, Zhuhai, Guangdong

Patentee before: ZHUHAI KINGSOFT ONLINE GAME TECHNOLOGY Co.,Ltd.

Patentee before: ZHUHAI SEASUN MOBILE GAME TECHNOLOGY Co.,Ltd.

CP03 Change of name, title or address