CN112732538B - 一种面板性能分析方法、装置、终端及存储介质 - Google Patents
一种面板性能分析方法、装置、终端及存储介质 Download PDFInfo
- Publication number
- CN112732538B CN112732538B CN201911033461.8A CN201911033461A CN112732538B CN 112732538 B CN112732538 B CN 112732538B CN 201911033461 A CN201911033461 A CN 201911033461A CN 112732538 B CN112732538 B CN 112732538B
- Authority
- CN
- China
- Prior art keywords
- function
- game client
- panel
- time
- interface
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/34—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
- G06F11/3409—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment
- G06F11/3419—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment by assessing time
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/34—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
- G06F11/3438—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment monitoring of user actions
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明提供一种面板性能分析方法、装置、终端及存储介质,获取游戏客户端响应点击事件以显示目标面板的过程中,调用第一函数的第一时间和调用第二函数的第二时间,并基于第一时间和第二时间生成目标面板的性能信息,第一函数用于确定点击事件为待处理事件,第二函数表征目标面板排版重建完成。本发明是基于游戏客户端响应点击事件以显示目标面板过程中调用第一函数和第二函数的时间实现的对目标面板的性能分析,目标面板性能分析过程不受分析人员反应误差的影响,因此,提高了目标面板性能分析结果的准确性。
Description
技术领域
本发明涉及计算机技术领域,更具体地说,涉及一种面板性能分析方法、装置、终端及存储介质。
背景技术
目前U3D游戏应用的面板性能分析方法,是由分析人员在用于触发弹出面板的按键被点击的同时点击秒表开始计时,当面板弹出后立即停止秒表计时,并将秒表的当前计时作为面板的打开耗时,面板的打开耗时体现面板的性能。
这种面板性能分析方法是由分析人员用掐秒表的方式实现的,而掐秒表本身会带入分析人员的反应误差。因此,目前的面板性能分析方法往往存在面板性能分析不准确的问题。
发明内容
有鉴于此,本发明实施例提供一种面板性能分析方法、装置、终端及存储介质,以减少面板性能分析结果受分析人员反应误差的影响,提高面板性能分析结果的准确性。技术方案如下:
一种面板性能分析方法,包括:
获取游戏客户端响应点击事件调用第一函数的第一时间,所述第一函数用于将所述点击事件确定为待处理事件,所述点击事件用于触发所述游戏客户端显示目标面板;
获取所述游戏客户端对所述目标面板排版重建后调用第二函数的第二时间,所述第二函数表征所述目标面板排版重建完成;
基于所述第一时间和所述第二时间生成所述目标面板的性能信息。
一种面板性能分析装置,包括:
第一时间获取单元,用于获取游戏客户端响应点击事件调用第一函数的第一时间,所述第一函数用于将所述点击事件确定为待处理事件,所述点击事件用于触发所述游戏客户端显示目标面板;
第二时间获取单元,用于获取所述游戏客户端对所述目标面板排版重建后调用第二函数的第二时间,所述第二函数表征所述目标面板排版重建完成;
面板性能分析单元,用于基于所述第一时间和所述第二时间生成所述目标面板的性能信息。
一种终端,包括:处理器以及存储器,所述处理器以及存储器通过通信总线相连;其中,所述处理器,用于调用并执行所述存储器中存储的程序;所述存储器,用于存储程序,所述程序用于实现所述面板性能分析方法。
一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机可执行指令,所述计算机可执行指令用于执行所述面板性能分析方法。
本发明提供一种面板性能分析方法、装置、终端及存储介质,获取游戏客户端响应点击事件以显示目标面板的过程中,调用第一函数的第一时间和调用第二函数的第二时间,并基于第一时间和第二时间生成目标面板的性能信息,第一函数用于确定点击事件为待处理事件,第二函数表征目标面板排版重建完成。本发明是基于游戏客户端响应点击事件以显示目标面板过程中调用第一函数和第二函数的时间实现的对目标面板的性能分析,目标面板性能分析过程不受分析人员反应误差的影响,因此,提高了目标面板性能分析结果的准确性。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本申请实施例提供的一种掐秒表方式分析面板打开耗时的方法示意图;
图2为本申请实施例提供的一种面板性能分析方法所适用于的终端的硬件结构框图;
图3(a)-图3(d)为本申请实施例提供的一种面板性能分析方法示意图;
图4为本申请实施例提供的一种面板性能分析方法流程图;
图5为本申请实施例提供的另一种面板性能分析方法流程图;
图6为本申请实施例提供的一种面板性能分析装置的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
实施例一
Unity3D简称U3D,Unity3D是由Unity Technologies开发的一个让玩家轻松创建诸如三维视频游戏、建筑可视化、实时三维动画等类型互动内容的多平台的综合型游戏开发工具,是一个全面整合的专业游戏引擎。
目前基于U3D开发的游戏应用通常是由分析人员通过掐秒表的方式实现对游戏应用中面板的打开耗时的分析,面板的性能可以由多方面体现,面板的打开耗时就是用于体现面板性能的一个方面。目前这种掐秒表方式虽然能够实现对面板打开耗时的分析,但是因该过程受分析人员反应误差的影响,面板打开耗时分析结果往往存在不准确的情况,进而导致面板性能分析结果不准确。
其中,分析人员通过掐秒表的方式实现对游戏应用中面板的打开耗时的分析过程参见图1。由图1可知,目前是由分析人员在存在用于触发弹出面板的点击事件时点击秒表开始计时,当面板弹出后立即停止秒表计时,并将秒表开始计时到秒表停止计时之间的时间间隔作为面板的打开耗时。这种面板性能分析过程依赖于分析人员主观行为,容易受分析人员反应误差的影响。
具体的,面板性能分析过程受分析人员反应误差的影响主要体现在如下方面:第一、掐秒表本身会带入分析人员的反应误差,并且不同的分析人员的反应时长不一样,因此目前掐秒表方式不能准确反映面板的打开耗时。第二、由于反应时长的波动,同一分析人员对同一面板的几次分析结果之间可能会存在较大的波动。第三、在对存在打开耗时这一性能问题的面板进行修复后,在对修复后的面板进行打开耗时分析时,由于分析人员的反应误差,可能分析结果仍会表征面板存在打开耗时这一性能问题。
除此以外,目前的掐秒表方式在实现过程中需要辅助设备(比如,存在秒表计时的终端)在旁边辅助分析,如果是多分析者分析则需要更多的辅助设备。
本申请提供一种面板性能分析方法,以减少面板性能分析结果受分析人员反应误差的影响,提高面板打开耗时分析的准确性,进而提高面板性能分析结果的准确性。并且,本申请不需要由分析人员掐秒表,因此,不需要采用辅助设备,节约了分析成本。
终端上可以安装至少一个游戏客户端,终端若需要对游戏客户端进行面板性能分析,可以在终端上安装面板性能分析应用,进而由该面板性能分析应用实现对游戏客户端的面板性能分析。
为了便于理解,现先对本申请实施例提供的一种面板性能分析方法所适用于的终端进行详细介绍,具体请参见图2。
如图2所示该终端可以包括:处理器201、存储器202、通信接口203、输入单元204和显示器205和通信总线206。
存储器202中用于存放一个或者一个以上程序,程序可以包括程序代码,程序代码包括计算机操作指令,在本发明实施例中,该存储器中至少存储有用于实现以下功能的程序:
获取游戏客户端响应点击事件调用第一函数的第一时间,第一函数用于将点击事件确定为待处理事件,点击事件用于触发游戏客户端显示目标面板;
获取游戏客户端对目标面板排版重建后调用第二函数的第二时间,第二函数表征目标面板排版重建完成;
基于第一时间和第二时间生成目标面板的性能信息。
可选的,程序的细化功能和扩展功能可参照下文描述。
处理模块201、存储器202、通信接口203、输入单元204、显示器205、均通过通信总线206完成相互间的通信。
在本发明实施例中,该处理器201,可以为中央处理器(Central ProcessingUnit,CPU),特定应用集成电路(application-specific integrated circuit,ASIC),数字信号处理器(DSP)、专用集成电路(ASIC)、现成可编程门阵列(FPGA)或者其他可编程逻辑器件等。
该处理器可以调用并执行存储器202中存储的程序。
该通信接口203可以为通信模块的接口,如GSM模块的接口。
本发明还可以包括输入单元204,该输入单元可以包括感应触摸显示面板上的触摸事件的触摸感应单元、键盘等等。
该显示器205包括显示面板,如触摸显示面板等。在一种可能的情况中,可以采用液晶显示器(Liquid Crystal Display,LCD)、有机发光二极管(Organic Light-EmittingDiode,OLED)等形式来配置显示面板。
当然,图2所示的终端结构并不构成对本发明实施例中终端的限定,在实际应用中终端可以包括比图2所示的更多或更少的部件,或者组合某些部件。
下面结合本申请的以上共性,对本申请实施例提供的一种面板性能分析方法进行详细说明。
终端上安装有面板性能分析应用,用户打开面板性能分析应用后,面板性能分析应用可以展示第一界面【参见图3(a)】,用户点击第一界面中的“添加游戏客户端”按键(其中,按键1和按键2均为“添加游戏客户端”按键,用户点击按键1或按键2均可认为是点击了“添加游戏客户端”按键),可以显示第二界面【参见图3(b)】,第二界面中显示有游戏客户端列表,该游戏客户端列表指示终端当前安装的各个游戏客户端;用户从游戏客户端列表中选取待进行面板性能分析的游戏客户端,点击“确认”按键,可以显示第三界面【参见图3(c)】,第三界面中显示有被选取的游戏客户端(比如,用户选取游戏客户端列表中的游戏客户端2,在第三界面中显示游戏客户端2);用户点击第三界面中的“面板性能分析”按键后,可以在性能分析应用中拉起被选取的游戏客户端,进而实现对被拉起的游戏客户端的性能分析。
面板性能分析应用拉起被选取的游戏客户端后,可以在面板性能分析应用中启动并运行游戏客户端,相应的,可以在面板性能分析应用中显示该面板性能分析应用中拉起的游戏客户端在运行过程中的游戏界面,该游戏界面为游戏客户端的当前运行界面。比如,参见图3(d)所示的第四界面面板性能分析应用中显示有游戏客户端2的游戏界面。
进一步的,面板性能分析应用在第四界面中还可以显示有性能分析启动按钮。若当前处于面板性能分析运行状态,用户点击性能分析启动按钮后,可以控制面板性能分析处于暂停状态;若当前面板性能分析处于暂停状态,用户点击性能分析启动按钮后,可以控制面板性能分析处于运行状态。作为本申请实施例的一种优选实施方式,性能分析启动按钮可以加载于一个窗口中独立于游戏客户端的游戏界面显示。作为本申请实施例的另一种优选实施方式,性能分析启动按钮还可以加载于游戏客户端的游戏界面中显示。以上仅仅是本申请实施例提供的性能分析启动按钮的优选显示方式,有关性能分析启动按钮的具体显示方式,发明人可根据自己的需求进行设置,在此不做限定。
基于本申请提供的一种面板性能测试方法,既可以实现对不同游戏应用的面板性能分析,也可以实现对同一游戏应用不同版本的面板性能分析,进而实现对同一游戏应用不同游戏版本的面板性能对比分析。
进一步的,在对游戏客户端的目标面板进行性能分析后,可以将目标面板的打开耗时认为是目标面板的性能信息,即将目标面板的打开耗时认为是性能分析结果,并显示目标面板的性能信息。更进一步的,还可以存储目标面板的性能信息,以便于后续对该目标面板的性能信息的使用。比如,展示目标面板的性能信息、将同一游戏客户端不同版本的目标面板进行对比分析等等。
作为本申请实施例的一种优选实施方式,可以在用户点击性能分析启动按钮后,响应用户对被拉起的游戏客户端的点击事件以实现对点击事件所触发显示的目标面板的性能分析,得到目标面板的性能信息。
作为本申请实施例的另一种优选实施方式,也可以在用户点击性能分析启动按钮后,自动实现对被拉起的游戏客户端中各个面板的性能分析。
作为本申请实施例的又一种优选实施方式,还可以在用户点击性能分析启动按钮后,控制游戏客户端处于面板性能分析模式,在面板性能分析模式下游戏客户端优先显示包括面板的游戏界面,以便于对游戏界面中的面板进行性能分析。
下面对本申请实施例提供的一种用于对游戏界面中面板进行面板性能分析的方式进行详细说明。
U3D的UI组件分为UGUI框架和NGUI框架。其中,UGUI框架是Unity官方推出的最新UI系统,它从Unity 4.6开始,被集成到Unity的编辑器中。NGUI框架是用C#编写的Unity(适用于专业版和免费版)插件,提供强大的UI系统和事件通知框架。
目前的游戏客户端通常基于UGUI框架或者NGUI框架生成,发明人通过研究发现,不论游戏客户端基于UGUI框架生成还是基于NGUI框架生成,在存在用于触发游戏客户端显示目标面板的点击事件时,游戏客户端均会调用用于将点击事件确定为待处理事件的第一函数,并且,游戏客户端在对目标面板排版重建后均会调用用于表征目标面板排版重建完成的第二函数,由此,本申请实施例可以hook第一函数以获取游戏客户端响应点击事件显示目标面板过程中调用第一函数的时间(在本申请实施例中,可以将调用第一函数的时间称为第一时间);以及,hook第二函数以获取游戏客户端响应点击事件显示目标面板过程中调用第二函数的时间(在本申请实施例中,可以将调用第二函数的时间称为第二时间),并基于第一时间和第二时间生成目标面板的性能信息。其中,可以将第一时间和第二时间之间的时间间隔作为目标面板的性能信息。例如,将第二时间减去第一时间所得的结果作为目标面板的打开耗时,该目标面板的打开耗时便可认为是生成的目标面板的性能信息。
作为本申请实施例的一种优选实施方式,可以将用于触发将点击事件提交给游戏客户端的游戏前端处理逻辑的函数认为是用于将点击事件确定为待处理事件的第一函数。
作为本申请实施例的一种优选实施方式,目标面板排版重建完成后便会进行图形重建,由此,可以将用于触发对目标面板进行图形重建的函数认为是表征目标面板排版重建完成的第二函数。
在本申请实施例中,点击事件为屏幕点击事件,游戏客户端在接收到用户输入的用于触发游戏客户端显示目标面板的屏幕点击事件后,可以调用第一函数对输入的屏幕点击事件进行队列化以提交给游戏客户端的游戏前端处理逻辑对屏幕点击事件做处理。
需要说明的是,游戏前端处理逻辑处理点击事件可以获取界面变动信息,该界面变动信息包括目标界面相对于游戏客户端当前显示界面的各个变动元素,并将各个变动元素的网格数据注入Unity渲染管线,以便于游戏客户端基于各个变动元素的网格数据对目标面板进行排版重建,并在排版重建后调用第二函数,第二函数用于触发对目标面板进行图形重建。其中,游戏客户端在对目标面板进行排版重建后便可调用第二函数,以通过调用第二函数的方式说明已对目标面板进行排版重建完成,下一步要对目标面板进行图形重建。
在本申请实施例中,可以将在接收点击事件时游戏客户端中显示的界面认为是游戏客户端当前显示界面,将游戏客户端响应点击事件显示的包括目标面板的界面认为是目标界面。比如,游戏客户端在显示有游戏界面1时,用户点击游戏界面1中的“设置”按键,以触发游戏客户端显示设置面板,游戏客户端响应对“游戏界面1”中的“设置”按键的点击事件,显示包括游戏界面2,游戏界面2中显示有设置面板。其中,游戏界面1可以认为是当前显示界面,游戏界面2可以认为是目标界面。
作为本申请实施例的一种优选实施方式,用户对游戏客户端输入点击事件,游戏客户端将点击事件提交给游戏客户端的游戏前端处理逻辑的时间可以认为是目标面板打开的开始时间点,而游戏客户端将点击事件提交给游戏客户端的游戏前端处理逻辑的时间可以通过游戏客户端调用第一函数的时间体现,由此,可以将调用第一函数的时间(第一时间)认为是目标面板打开的开始时间点。
因对目标面板排版重建完成后,便在游戏客户端中渲染显示了目标面板的框架,后续对目标面板进行图形重建的过程可以认为是进一步对已显示的目标面板的框架中的内容进行渲染的过程。因此,可以将目标面板排版完成的时间认为是目标面板打开的结束时间点,后续的图形重建时长对于用户对目标面板的打开时长的感知影响较小,可以忽略;而产生而目标面板排版完成的时间可以通过调用第二函数的时间体现,由此,可以将调用第二函数的时间(第二时间)认为是目标面板打开的结束时间点。
进而,将目标面板打开的开始时间点(第一时间)和目标面板打开的结束时间点(第二时间)之间的时间间隔认为是目标面板的打开耗时。
在本申请实施例中,游戏客户端基于UGUI框架生成时,第一函数可以为UGUI框架提供的用于将点击事件提交给游戏客户端的游戏前端处理逻辑的函数,比如,该第一函数可以为函数1或者函数2。
函数1可以为:UnityEngine.UI:UnityEngine.EventSystems:PointerInputModule:GetPointerData事件函数;
函数2可以为:UnityEngine.UI:UnityEngine.EventSystems:PointerInputModule:ProcessDrag事件函数。
在本申请实施例中,游戏客户端基于UGUI框架生成时,第二函数可以UGUI框架提供的用于触发目标面板进行图形重建的函数,比如,该第二函数可以为函数3。
函数3可以为UnityEngine.UI:UnityEngine.UI:LayoutRebuilder:LayoutComplete事件函数。
在本申请实施例中,游戏客户端基于NGUI框架生成时,第一函数可以为NGUI框架提供的用于将点击事件提交给游戏客户端的游戏前端处理逻辑的函数。比如,该第一函数可以为函数4或者函数5。
函数4可以为:UICamera:ProcessTouch事件函数;函数5可以为:UIButton:OnClick事件函数。
在本申请实施例中,游戏客户端基于NGUI框架生成时,第二函数可以为游戏客户端的游戏前端处理逻辑中的用于触发目标面板进行图形重建的函数。
需要说明的是,游戏客户端基于NGUI框架生成时,不同游戏应用的游戏客户端中的第二函数可能是不同的,比如,在游戏应用1的游戏客户端中第二函数为函数6、游戏应用2的游戏客户端中第二函数为函数7、游戏应用3的游戏客户端中第二函数为函数8,其中,函数6、函数7和函数8之间的任意两个函数之间可以相同或不同。具体的,游戏客户端基于NGUI框架生成时,第二函数的具体内容与游戏客户端的游戏前端处理逻辑有关,在此不做限定。
下面结合本申请实施例提供的如图4所示的一种面板性能分析方法流程图对面板性能分析方法进行详细介绍。
如图4所示,该方法包括:
S401、获取游戏客户端响应点击事件调用第一函数的第一时间,第一函数用于将点击事件确定为待处理事件,点击事件用于触发游戏客户端显示目标面板;
U3D游戏应用的面板都是基于特定的框架如UGUI框架、NGUI框架开发的,游戏客户端接收用户对游戏应用的游戏客户端的点击事件,响应点击事件会调用特征函数,特征函数包括第一函数和第二函数,本申请实施例主要是预先获取游戏客户端中的特征函数并将其hook,便可在游戏客户端调用特征函数时获取特征函数的调用时间(调用第一函数的第一时间、调用第二函数的第二时间),进而基于获取到的调用时间计算出点击事件请求在游戏客户端显示的目标面板的打开时长,该目标面板的打开时长便是目标面板的打开耗时,也可以将该目标面板的打开耗时认为是目标面板的性能信息。
在游戏客户端接收到用户输入的点击事件后,可以调用第一函数将点击事件提交给游戏客户端的游戏前端处理逻辑。作为本申请实施例的一种优选实施方式,可以hook第一函数,以便于游戏客户端在调用第一函数以将点击事件提交给游戏客户端时,先获取调用第一函数的第一时间再调用第一函数以将点击事件提交给游戏客户端。
比如,现有技术并没有预先为第一函数hook第一时间获取函数,游戏客户端可以响应点击事件调用第一函数将点击事件提交给游戏客户端的游戏前端处理逻辑。而本申请预先为第一函数hook第一时间获取函数,游戏客户端响应点击事件,在调用第一函数时会先获取调用第一函数的时间再调用第一函数以将点击事件提交给游戏客户端的游戏前端处理逻辑。比如,游戏客户端响应点击事件,在调用第一函数时先获取当前系统时间再调用第一函数以将点击事件提交给游戏客户端的游戏前端处理逻辑,该获取到的当前系统时间可以认为是调用第一函数的时间。
S402、获取游戏客户端对目标面板排版重建后调用第二函数的第二时间,第二函数表征目标面板排版重建完成;
在本申请实施例中,游戏前端处理逻辑处理点击事件得到界面变动信息,将界面变动信息的网格数据注入管线,可以便于游戏客户端基于变动信息的网格数据对目标面板排版重建,游戏客户端在对目标面板排版重建完成后,可以调用第二函数,第二函数用于指示对目标面板排版重建完成,以触发对目标面板进行图形重建,进而在游戏客户端显示完整目标面板。
现有技术并没有预先为第二函数hook第二时间获取函数,游戏客户端可以响应点击事件调用第二函数以触发对目标面板进行图形重建。而作为本申请实施例的一种优选实施方式,可以预先为第二函数hook第二时间获取函数,以便于游戏客户端在调用第二函数以触发对目标面板进行图形重建时,先获取调用第二函数的时间再调用第二函数以触发对目标面板进行图像重建。比如,游戏客户端在调用第二函数以触发对目标面板进行图形重建时,先获取系统当前时间再调用第二函数以触发对目标面板进行图形重建,该获取到的当前系统时间可以认为是调用第二函数的时间。
S403、基于第一时间和第二时间生成目标面板的性能信息。
在本申请实施例中,可以基于第一时间和第二时间计算目标面板的打开耗时,并将计算到的打开耗时作为目标面板的性能信息。其中,可以将第二时间减去第一时间所得的结果作为第一时间和第二时间之间的时间间隔,该时间间隔即可认为是目标面板的打开耗时。
在本申请实施例中,游戏客户端的游戏前端处理逻辑在处理点击事件时可以获取与点击事件相关的界面变动信息,该界面变动信息中包括目标界面相对于游戏客户端当前显示界面的变动元素。其中,目标界面为游戏客户端响应点击事件显示的包括目标面板的界面。
作为本申请实施例的一种可能性,用户在游戏客户端上输入点击事件后,游戏客户端响应点击事件所显示的目标界面和游戏客户端当前显示界面可能是一样的,即,目标界面相对于当前显示界面并不存在变动元素。这时,游戏客户端的游戏前端处理逻辑处理点击事假获取到的界面变动信息为空,相应的,注入到unity渲染管线的变动元素的网格数据为空,此时游戏客户端不会基于界面变动信息对目标面板进行排版重建,则不会获取到第二时间,进而不会得到目标面板的性能信息。
比如,用户连续点击两次“设置”按键的情况下,第一次点击“设置”按键,可以生成设置面板的性能信息,而第二次点击“设置”按键则不会产生界面变化,相应的则不会生成设置面板的性能信息。
现结合图5提供的另一种面板性能分析方法对上述过程进行详细说明。
如图5所示,该方法包括:
S501、获取游戏客户端响应点击事件调用第一函数的第一时间,第一函数用于将点击事件确定为待处理事件,点击事件用于触发游戏客户端显示目标面板;
S502、确定游戏客户端处理点击事件生成的界面变动信息;
在本申请实施例中,界面变动信息是由游戏前端处理逻辑处理点击事件获取的表征目标界面相对于游戏客户端当前显示界面的变动元素,目标界面为游戏客户端响应点击事件显示的包括目标面板的界面。
作为本申请实施例的一种优选实施方式,游戏前端处理逻辑处理点击事件可以获取点击事件的界面变动信息,若获取到的界面变动信息为空,则说明该点击事件不会产生界面变动。若获取到的界面变动信息不为空,则说明该点击事件会产生界面变动。
游戏前端处理逻辑若确定点击事件会产生界面变动,则可以将界面变动信息中的变动元素加入渲染队列,以调用rebuild获取每个变动元素的渲染信息,进而各个变动元素的渲染信息的网格数据注入Unity渲染管线,以便于游戏客户端基于各个变动元素的渲染信息的网格数据对目标面板进行排版重建,并在对目标面板排版重建完成后调用第二函数,以触发基于各个变动元素的渲染信息的网格数据对目标面板进行图形重建,进而达到响应点击事件在游戏客户端中显示目标面板的目的。
S503、检测界面变动信息中是否存在变动元素;若界面变动信息中存在变动元素,执行步骤S504;
在本申请实施例中,可以通过检测Unity渲染管线中是否注入有变动信息的渲染信息的方式,来检测变动信息中是否存在变动元素。若Unity渲染管线中注入有变动信息的渲染信息,则可以认为处理点击事件生成的界面变动信息中存在变动元素;若Unity渲染管线中未注入有变动信息的渲染信息,则可以认为处理点击事件生成的界面变动信息中不存在变动元素。
S504、获取游戏客户端对目标面板排版重建后调用第二函数的第二时间,第二函数表征目标面板排版重建完成;
在本申请实施例中,游戏客户端基于注入Unity渲染管线的界面变动信息中各个变动元素的渲染信息的网格数据对目标面板排版重建,并在对目标面板排版重建完成后,调用第二函数并获取调用第二函数的第二时间,第二函数用于触发游戏客户端基于注入Unity渲染管线的界面变动信息中各个变动元素的渲染信息的网格数据对目标面板进行图形重建。
需要说明的是,文中之前涉及到的将变动元素的网格数据注入Unity渲染管线具体可以为将变动元素的渲染信息的网格数据注入Unity渲染管线。
进一步的,参见图5,若界面变动信息中不存在变动元素,还可以执行步骤S505、生成提醒信息,提醒信息用于指示游戏客户端响应点击事件不产生界面变化。
在本申请实施例中,在界面变动信息为空时,即界面变动信息中不存在变动元素时,还可以生成提醒信息。该提醒信息用于指示游戏客户端响应点击事件不产生界面变化。即,该提醒信息用于指示点击事件不会产生界面变动。
作为本申请实施例的一种优选实施方式,可以显示该提醒信息,以便于分析人员了解当前未生成点击事件请求显示的目标面板的性能信息。
作为本申请实施例的一种优选实施方式,可以通过“相邻获取到的两个第一时间中,后一获取到的第一时间替换前一获取到的第一时间;相邻获取到的两个第二时间中,后一获取到的第二时间替换前一获取到的第二时间”方式实现对目标面板的性能分析。
比如,先分析目标面板1的打开耗时,在分析目标面板1的打开耗时时,获取到第一时间1和第二时间1,将第一时间1存储在存储位置1,将第二时间1存储在存储位置2,基于第一时间1和第二时间1计算目标面板1的打开耗时;再分析目标面板2的打开耗时,在分析目标面板2的打开耗时时,先获取到第一时间2,将该第一时间2替换存储位置1的第一时间1,再获取到第二时间2,将该第二时间2替换存储位置2的第二时间1,进而基于第一时间2和第二时间2计算目标面板2的打开耗时。
作为本申请实施例的另一种优选实施方式,还可以在游戏客户端接收到点击事件后,先清空用于存储第一时间的第一存储位置中的数据以及清空用于存储第二时间的第二存储位置中的数据;再将响应此次点击事件获取到的第一时间存储至第一存储位置以及将获取到第二时间存储至第二存储位置,进而基于第一存储位置存储的第一时间和第二存储位置存储的第二时间计算此次点击事件请求显示的目标面板的打开耗时。
本申请实施例提供的一种面板性能分析方法可以在ARM架构处理器这一硬件环境下实现。基于本申请实施例提供的面板性能分析方法可以快速准确地对U3D游戏的面板打开耗时进行分析,并且本申请提供的面板性能分析方法是基于虚拟机的方案,在非root的终端上就可以实现对release版本的游戏应用进行面板性能分析,为分析人员提供了极大的便利。
本发明提供一种面板性能分析方法、装置、终端及存储介质,获取游戏客户端响应点击事件以显示目标面板的过程中,调用第一函数的第一时间和调用第二函数的第二时间,并将第一时间和第二时间之间的时间间隔作为目标面板的打开耗时,第一函数用于将点击事件提交给游戏客户端的游戏前端处理逻辑,第二函数在对目标面板进行排版重建后被调用、用于触发对目标面板进行图形重建。本发明是基于游戏客户端响应点击事件以显示目标面板过程中调用第一函数和第二函数的时间实现的对目标面板打开耗时的分析,该目标面板打开耗时分析过程不受分析人员反应误差的影响,因此,提高了目标面板打开耗时分析结果的准确性、即提高了面板性能分析结果的准确性。
本发明使用“基于U3D UI组件进行面板打开性能”的分析方案代替了传统手动掐秒表的方式。基于本发明,能够让分析人员脱离秒表这个辅助设备,而将精力花在游戏应用本身上;并且不同的分析人员的分析结果都是有效的准确的,不会因为分析人员的反应速度快慢而波动。
图6为本申请实施例提供的一种面板性能分析装置的结构示意图。
如图6所示,该装置包括:
第一时间获取单元61,用于获取游戏客户端响应点击事件调用第一函数的第一时间,第一函数用于将点击事件确定为待处理事件,点击事件用于触发游戏客户端显示目标面板;
第二时间获取单元62,用于获取游戏客户端对目标面板排版重建后调用第二函数的第二时间,第二函数表征目标面板排版重建完成;
面板性能分析单元63,用于基于第一时间和第二时间生成目标面板的性能信息。
进一步的,本申请实施例提供的一种面板性能分析装置还包括:
界面变动信息确定单元,用于处理点击事件生成界面变动信息,界面变动信息表征目标界面相对于当前显示界面的变动元素,目标界面为游戏客户端响应点击事件显示的包括目标面板的界面;
检测单元,用于检测界面变动信息中是否存在变动元素;
相应的,第二时间获取单元具体用于:若界面变动信息中存在变动元素,获取游戏客户端对目标面板排版重建后调用第二函数的第二时间。
进一步的,本申请实施例提供的一种面板性能分析装置还包括:提醒信息生成单元,用于若界面变动信息中不存在变动元素,生成提醒信息;提醒信息用于指示游戏客户端响应点击事件不产生界面变化。
在本申请实施例中,优选的,若游戏客户端基于UGUI框架生成,第一函数为UGUI框架提供的用于将点击事件提交给游戏客户端的游戏前端处理逻辑的函数;第二函数为UGUI框架提供的用于触发目标面板进行图形重建的函数。
在本申请实施例中,优选的,若游戏客户端基于NGUI框架生成,第一函数为NGUI框架提供的用于将点击事件提交给游戏客户端的游戏前端处理逻辑的函数;第二函数为游戏前端处理逻辑中的用于触发目标面板进行图形重建的函数。
更进一步的,本申请实施例还提供一种计算机可读存储介质,该计算机可读存储介质中存储有计算机可执行指令,该计算机可执行指令用于执行上述实施例所涉及到的面板性能分析方法。
有关本申请实施例提供的存储介质中存储的程序的详细描述可参照上述实施例,在此不做赘述。
本发明提供一种面板性能分析方法、装置、终端及存储介质,获取游戏客户端响应点击事件以显示目标面板的过程中,调用第一函数的第一时间和调用第二函数的第二时间,并基于第一时间和第二时间生成目标面板的性能信息,第一函数用于确定点击事件为待处理事件,第二函数表征目标面板排版重建完成。本发明是基于游戏客户端响应点击事件以显示目标面板过程中调用第一函数和第二函数的时间实现的对目标面板的性能分析,目标面板性能分析过程不受分析人员反应误差的影响,因此,提高了目标面板性能分析结果的准确性。
以上对本发明所提供的一种面板性能分析方法、装置、终端及存储介质进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
需要说明的是,本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备所固有的要素,或者是还包括为这些过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
Claims (14)
1.一种面板性能分析方法,其特征在于,包括:
获取游戏客户端响应点击事件调用第一函数的第一时间,所述第一函数用于将所述点击事件确定为待处理事件,所述点击事件用于触发所述游戏客户端显示目标面板;
确定所述游戏客户端处理所述点击事件生成的界面变动信息,所述界面变动信息表征目标界面相对于当前显示界面的变动元素,所述目标界面为所述游戏客户端响应所述点击事件显示的包括所述目标面板的界面;
检测所述界面变动信息中是否存在变动元素;
若所述界面变动信息中存在变动元素,获取所述游戏客户端对所述目标面板排版重建后调用第二函数的第二时间,所述第二函数表征所述目标面板排版重建完成;
基于所述第一时间和所述第二时间生成所述目标面板的性能信息。
2.根据权利要求1所述的方法,其特征在于,还包括:
若所述界面变动信息中不存在变动元素,生成提醒信息;所述提醒信息用于指示所述游戏客户端响应所述点击事件不产生界面变化。
3.根据权利要求1所述的方法,其特征在于,若所述游戏客户端基于UGUI框架生成,所述第一函数为所述UGUI框架提供的用于将所述点击事件提交给所述游戏客户端的游戏前端处理逻辑的函数。
4.根据权利要求3所述的方法,其特征在于,所述第二函数为所述UGUI框架提供的用于触发所述目标面板进行图形重建的函数。
5.根据权利要求1所述的方法,其特征在于,若所述游戏客户端基于NGUI框架生成,所述第一函数为所述NGUI框架提供的用于将所述点击事件提交给所述游戏客户端的游戏前端处理逻辑的函数。
6.根据权利要求5所述的方法,其特征在于,所述第二函数为所述游戏前端处理逻辑中的用于触发所述目标面板进行图形重建的函数。
7.一种面板性能分析装置,其特征在于,包括:
第一时间获取单元,用于获取游戏客户端响应点击事件调用第一函数的第一时间,所述第一函数用于将所述点击事件确定为待处理事件,所述点击事件用于触发所述游戏客户端显示目标面板;
界面变动信息确定单元,用于确定所述游戏客户端处理所述点击事件生成的界面变动信息,所述界面变动信息表征目标界面相对于当前显示界面的变动元素,所述目标界面为所述游戏客户端响应所述点击事件显示的包括所述目标面板的界面;
检测单元,用于检测所述界面变动信息中是否存在变动元素;
第二时间获取单元,用于若所述界面变动信息中存在变动元素,获取所述游戏客户端对所述目标面板排版重建后调用第二函数的第二时间,所述第二函数表征所述目标面板排版重建完成;
面板性能分析单元,用于基于所述第一时间和所述第二时间生成所述目标面板的性能信息。
8.根据权利要求7所述的装置,其特征在于,所述装置还包括:
提醒信息生成单元,用于若所述界面变动信息中不存在变动元素,生成提醒信息;所述提醒信息用于指示所述游戏客户端响应所述点击事件不产生界面变化。
9.根据权利要求7所述的装置,其特征在于,若所述游戏客户端基于UGUI框架生成,所述第一函数为所述UGUI框架提供的用于将所述点击事件提交给所述游戏客户端的游戏前端处理逻辑的函数。
10.根据权利要求9所述的装置,其特征在于,所述第二函数为所述UGUI框架提供的用于触发所述目标面板进行图形重建的函数。
11.根据权利要求7所述的装置,其特征在于,若所述游戏客户端基于NGUI框架生成,所述第一函数为所述NGUI框架提供的用于将所述点击事件提交给所述游戏客户端的游戏前端处理逻辑的函数。
12.根据权利要求11所述的装置,其特征在于,所述第二函数为所述游戏前端处理逻辑中的用于触发所述目标面板进行图形重建的函数。
13.一种终端,其特征在于,包括:处理器以及存储器,所述处理器以及存储器通过通信总线相连;其中,所述处理器,用于调用并执行所述存储器中存储的程序;所述存储器,用于存储程序,所述程序用于实现如权利要求1-6任意一项所述的面板性能分析方法。
14.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机可执行指令,所述计算机可执行指令用于执行权利要求1-6任意一项所述的面板性能分析方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911033461.8A CN112732538B (zh) | 2019-10-28 | 2019-10-28 | 一种面板性能分析方法、装置、终端及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911033461.8A CN112732538B (zh) | 2019-10-28 | 2019-10-28 | 一种面板性能分析方法、装置、终端及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112732538A CN112732538A (zh) | 2021-04-30 |
CN112732538B true CN112732538B (zh) | 2023-10-13 |
Family
ID=75588923
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911033461.8A Active CN112732538B (zh) | 2019-10-28 | 2019-10-28 | 一种面板性能分析方法、装置、终端及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112732538B (zh) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103744576A (zh) * | 2013-11-08 | 2014-04-23 | 艾酷电子科技有限公司 | 一种用于实现移动终端的操作界面的方法及系统 |
CN110058997A (zh) * | 2019-03-12 | 2019-07-26 | 平安普惠企业管理有限公司 | 应用响应时间测试方法、装置、计算机设备及存储介质 |
CN110162384A (zh) * | 2019-04-19 | 2019-08-23 | 深圳壹账通智能科技有限公司 | 基于Redis分布式锁的超时时间动态调整方法及系统 |
-
2019
- 2019-10-28 CN CN201911033461.8A patent/CN112732538B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103744576A (zh) * | 2013-11-08 | 2014-04-23 | 艾酷电子科技有限公司 | 一种用于实现移动终端的操作界面的方法及系统 |
CN110058997A (zh) * | 2019-03-12 | 2019-07-26 | 平安普惠企业管理有限公司 | 应用响应时间测试方法、装置、计算机设备及存储介质 |
CN110162384A (zh) * | 2019-04-19 | 2019-08-23 | 深圳壹账通智能科技有限公司 | 基于Redis分布式锁的超时时间动态调整方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN112732538A (zh) | 2021-04-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5896495A (en) | Method and system for synchronizing the execution of events | |
US9555544B2 (en) | Robotic process automation | |
US7290245B2 (en) | Methods and systems for navigating deterministically through a graphical user interface | |
US11461542B2 (en) | Providing asynchronous general user interface (GUI) input | |
US6668370B1 (en) | Synchronous execution of object-oriented scripts and procedural code from within an interactive test facility | |
US8359584B2 (en) | Debugging from a call graph | |
US6016474A (en) | Tool and method for diagnosing and correcting errors in a computer program | |
US9146832B2 (en) | Debugging functionality embedded in an application | |
US20120159420A1 (en) | Quality on Submit Process | |
US20100169867A1 (en) | Defining a conditional breakpoint | |
US20050246691A1 (en) | Debugging tool for debugging multi-threaded programs | |
US10108474B2 (en) | Trace capture of successfully completed transactions for trace debugging of failed transactions | |
JP2012221318A (ja) | シナリオ生成装置およびシナリオ生成プログラム | |
US6944795B2 (en) | Method and apparatus for stabilizing GUI testing | |
US11797639B2 (en) | Systems and methods for development of web products | |
CN112732538B (zh) | 一种面板性能分析方法、装置、终端及存储介质 | |
US8078590B2 (en) | Data processing system | |
US7331039B1 (en) | Method for graphically displaying hardware performance simulators | |
US8244520B2 (en) | Use of defining ignorable rectangles to assist with iterative translation testing | |
CN111858339A (zh) | 内存分析方法、设备和系统以及计算设备、计算机可读存储介质 | |
CN104142885B (zh) | 一种用于对被测程序进行异常测试的方法和装置 | |
CN111984537B (zh) | 一种基于WebIDE的软件测试方法、存储介质、装置 | |
US9003371B2 (en) | Recursive method call representation in a plot view of method execution performance | |
CN108960433B (zh) | 用于运行机器学习建模过程的方法及系统 | |
JP2010049630A (ja) | シミュレーション制御プログラム、シミュレーション制御装置、およびシミュレーション制御方法 |
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 |