游戏场景复现的方法、电子设备及系统
技术领域
本申请涉及终端领域,尤其涉及一种游戏场景复现的方法、电子设备及系统。
背景技术
随着终端技术的发展,手机、平板电脑、具备移动通信功能的可穿戴设备(例如,智能 手环、智能手表、智能眼镜等)等电子设备的大规模普及给人们的生活带来便利,尤其是电 子设备上丰富多彩的游戏应用,为生活增添不少乐趣。
目前,当游戏应用在运行的过程中出现漏洞(bug)时,后续对于复现出该出现bug时 刻的游戏场景以便电子设备基于该复现的游戏场景检测出现bug的原因及修复bug的方式, 主要依赖于测试人员。例如,当游戏应用在运行的过程中,电子设备通过指定的性能检测工 具(例如,perfDog测试工具)检测到有关游戏运行所涉及的设备参数(例如,游戏画面的帧 率、游戏运行过程中CPU负载、游戏运行过程中CPU温度等中的一个或多个)出现异常(例 如,游戏画面的帧率小于指定阈值、游戏运行过程中的CPU负载高于指定阈值、游戏运行过 程中的CPU温度高于指定阈值等中的一项或多项)时,电子设备可以截取该检测到异常设备 参数信息时刻的游戏画面图像。当电子设备显示出的游戏画面发生变化时,测试人员可以基 于该截取出的游戏画面图像,和电子设备当前显示出的游戏场景进行反复对比,从而复现出 检测到异常设备参数信息时刻的游戏场景。
由此可以看出,该方法的操作过程非常繁琐,导致游戏场景复现的耗费时间长、效率较 低的问题。
发明内容
本申请提供了一种游戏场景复现的方法、电子设备及系统,实现了减少游戏场景复现所 需要耗费的时间,提高游戏场景复现的效率,同时可以提升游戏场景复现的结果精确度的效 果。
第一方面,本申请提供了一种游戏场景复现的方法,该方法包括:电子设备运行第一游 戏应用。该电子设备通过第一性能检测工具获取该电子设备运行该第一游戏应用时的第一设 备参数。当该电子设备通过该第一性能检测工具确定出该第一设备参数满足第一条件时,该 电子设备通过该第一性能检测工具截取出运行该第一游戏应用时显示的第一图像,其中,该 第一图像包括有第一小地图图像、第一游戏画面和目标对象对应的第一标记,该第一标记位 于该第一小地图图像的第一位置。该电子设备关闭该第一游戏应用,并重新运行该第一游戏 应用。该电子设备通过第二性能检测工具截取出该电子设备运行该第一游戏应用时显示的第 一大地图图像。该电子设备通过第二性能检测工具基于该第一小地图图像,将该第一位置映 射到该第一大地图图像的第二位置。该电子设备通过该第二性能检测工具获取到该目标对象 当前位于该第一大地图图像的第三位置。当该电子设备通过该第二性能检测工具基于该第二 位置和该第三位置,控制该电子设备显示的游戏画面与该第一游戏画面相同时,获取到该电 子设备的第二设备参数,该第二设备参数用于优化该电子设备的性能。
这样,可以减少游戏场景复现所需要耗费的时间,提高游戏场景复现的效率,同时可以 提升游戏场景复现的结果精确度。
在一种可能的实现方式中,该电子设备通过该第二性能检测工具基于该第二位置和该第 三位置,控制该电子设备显示的游戏画面与该第一游戏画面相同,具体包括:该电子设备控 制该目标对象从该第三位置移动至该第二位置。该电子设备控制该第一游戏应用所显示游戏 画面的视角转动。当该电子设备通过该第二性能检测工具确定出该电子设备上显示的游戏画 面的视角转动至与该第一游戏画面相同时,该电子设备基于该第二性能检测工具获取到第二 设备参数,该第二设备参数用于优化该电子设备的性能。
在一种可能的实现方式中,电子设备运行第一游戏应用之前,该方法还包括:电子设备 显示出第一界面,其中,该第一界面包括一个或多个应用的图标,该一个或多个应用的图标 包括第一游戏应用的图标。该电子设备接收作用于该第一游戏应用的图标上的第一输入。响 应于该第一输入,该电子设备运行该第一游戏应用。
在一种可能的实现方式中,该第一设备参数包括:游戏画面的帧率、该第一游戏应用运 行过程中的CPU负载、该第一游戏应用运行过程中的CPU温度中的一个或多个。
在一种可能的实现方式中,该第一条件包括:该游戏画面的帧率小于指定帧率阈值。和/ 或,该第一游戏应用运行过程中的CPU负载大于指定数值阈值。和/或,该第一游戏应用运 行过程中的CPU温度大于指定数值阈值。
在一种可能的实现方式中,该第二设备参数具体包括:游戏画面顶点数、着色器复杂程 度、纹理分辨率中的一个或多个。
在一种可能的实现方式中,该电子设备通过第二性能检测工具基于该第一小地图图像, 将该第一位置映射到该第一大地图图像的第二位置之前,该方法还包括:该电子设备获取到 和该第一图像相同尺寸的第二图像,其中,该第二图像包括有和该第一小地图图像相同尺寸 的第二小地图图像。该电子设备基于预设的小地图图像,确定出该第二小地图图像在该第二 图像中的坐标信息。该电子设备基于该第一小地图图像,将该第一位置映射到该第一大地图 图像的第二位置,具体包括:该电子设备基于该坐标信息从该第一图像中获取到该第一小地 图图像。该电子设备将该第一大地图图像缩放至与该第一小地图图像相同的比例尺。该电子 设备从该第一大地图图像中确定出与第一小地图图像的相似度大于指定阈值的第一区域。该 电子设备基于该第一位置在该第一小地图图像中的位置信息,确定出该第一区域中的该第二 位置,该第二位置在该第一区域中的相对位置与该第一位置在该第一小地图图像中的位置信 息相同。
在一种可能的实现方式中,该电子设备基于该坐标信息从该第一图像中获取到该第一小 地图图像,具体包括:该电子设备基于该坐标信息从该第一图像中裁剪出预设形状的该第一 小地图图像。
在一种可能的实现方式中,该电子设备基于该坐标信息从该第一图像中获取到该第一小 地图图像,具体包括:该电子设备基于该坐标信息从该第一图像中裁剪出预设形状的第三图 像,该第三图像包括该第一小地图图像。该电子设备通过预设算法,识别出第一小地图图像 在该第三图像中的边缘位置。该电子设备基于该边缘位置,从该第三图像中裁剪出该第一小 地图图像。
在一种可能的实现方式中,该电子设备控制该目标对象从该第三位置移动至该第二位置, 具体包括:该电子设备通过该第二性能检测工具输出控制信号给外接机械设备。该电子设备 接收到该外接机械设备基于该控制信号针对该电子设备运行该第一游戏应用时在触控屏上显 示的方向键的输入。响应于该外接机械设备的输入,该电子设备控制该目标对象从该第三位 置移动至该第二位置。
在一种可能的实现方式中,该电子设备控制该目标对象从该第三位置移动至该第二位置 之后,该方法还可以包括:该电子设备截取出该第一游戏应用当前运行时显示的第四图像。 当该电子设备比较出该第四图像的游戏画面与该第一游戏画面的相似度在指定阈值范围外时, 该电子设备控制该目标对象向指定方向移动指定的距离。当该电子设备控制该目标对象每次 向指定方向移动指定的距离时,该电子设备截取出该目标对象移动后的图像,比较截取出的 该图像中的游戏画面与该第一游戏画面的相似度,直到截取出的该图像中的游戏画面与该第 一游戏画面的相似度在指定阈值范围内时,该电子设备控制该第一游戏应用所显示游戏画面 的视角转动。
在一种可能的实现方式中,该电子设备控制该第一游戏应用所显示游戏画面的视角转动, 具体包括:该电子设备通过该第二性能检测工具输出控制信号给外接机械设备。该电子设备 接收到该外接机械设备基于该控制信号作用于该目标对象上的输入时,该第一游戏应用运行 所显示的游戏画面转动指定角度。当该第一游戏应用运行所显示的游戏画面每转动指定角度 时,该电子设备截取出该第一游戏应用当前运行时显示出的图像,与该第一图像进行相似度 对比。当该相似度在指定阈值范围内时,该电子设备确定出该电子设备上显示的游戏画面的 视角转动至与该第一游戏画面相同。
第二方面,本申请提供了一种电子设备,包括通信装置、存储器以及耦合于该存储器的 处理器,多个应用程序,以及一个或多个程序。该处理器在执行该一个或多个程序时,使得 该电子设备执行上述第一方面中任一项可能的实现方式中的方法。
第三方面,本申请提供了一种计算机存储介质,该存储介质中存储有计算机程序,该计 算机程序包括可执行指令,该可执行指令当被处理器执行时使该处理器执行上述第一方面中 任一项可能的实现方式中的方法。
附图说明
图1是本申请实施例提供的一种电子设备100的硬件结构示意图;
图2是本申请实施例提供的一种游戏场景复现方法的流程图;
图3A-图3E是本申请实施例提供的一组用户界面示意图;
图3F是本申请实施例提供的一种位置映射示意图;
图3G-图3H是本申请实施例提供的一组用户界面示意图;
图4A-图4B是本申请实施例提供的一组用户界面示意图。
具体实施方式
下面将结合附图对本申请实施例中的技术方案进行清除、详尽地描述。其中,在本申请 实施例的描述中,除非另有说明,“/”表示或的意思,例如,A/B可以表示A或B;文本中的 “和/或”仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可 以表示:单独存在A,同时存在A和B,单独存在B这三种情况,另外,在本申请实施例的 描述中,“多个”是指两个或多于两个。
以下,术语“第一”、“第二”仅用于描述目的,而不能理解为暗示或暗示相对重要性或者 隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含 地包括一个或者更多个该特征,在本申请实施例的描述中,除非另有说明,“多个”的含义是 两个或两个以上。
首先,介绍本申请提供的一种游戏场景复现的流程。
电子设备可以运行游戏应用,显示出游戏应用的界面。在运行游戏应用时,电子设备也 可以运行指定的性能测试工具(例如,perfDog测试工具),用于检测在游戏运行的过程中的 设备参数(例如,游戏画面帧率、游戏运行过程中CPU负载、CPU温度等)的变化。当该指 定的性能测试工具检测到设备参数出现异常(例如,游戏画面掉帧、游戏运行过程中CPU负 载过高、CPU温度过高等)时,电子设备可以截取出该时刻游戏应用界面的图像1。测试人员获取到该图像1后,可以基于该图像1,与电子设备当前显示出的游戏应用的界面进行反复比对,从而复现出图像1时刻的游戏场景。
从上述流程中可以看出,该游戏场景复现依赖于人工操作,其操作的过程十分繁琐,因 此会导致游戏场景复现的耗费时间长、效率较低,同时游戏复现场景的结果精确度不高的问 题。
因此,本申请提供了一种游戏场景复现的方法。当电子设备运行游戏应用和指定的性能 测试工具(例如,perfDog测试工具)时,电子设备可以显示出游戏应用的界面。当指定的性 能测试工具在游戏应用运行的过程中,检测出设备参数(例如,游戏画面的帧率、游戏运行 过程中的CPU负载、游戏运行过程中的CPU温度等中的一个或多个)出现异常(例如,游 戏画面的帧率小于指定阈值、游戏运行过程中的CPU负载高于指定阈值、游戏运行过程中的 CPU温度高于指定阈值等中的一项或多项)时,电子设备可以截取出游戏应用界面,得到截 图1。其中,该截图1可以包括小地图和目标对象。然后,当电子设备需要通过指定的性能 检测工具(例如,renderdoc工具)作进一步的设备性能分析时,电子设备可以基于截图1通 过指定算法(例如,图像识别算法、寻路算法等),复现出截图1对应的游戏场景。电子设备可以基于该复现出的游戏场景作进一步的设备性能分析。这样,可以减少游戏场景复现所 需要耗费的时间,提高游戏场景复现的效率,同时也可以提升游戏场景复现的结果精确度。
下面,介绍本申请实施例中提供的示例性电子设备100。
图1示出了电子设备100的硬件结构示意图。
电子设备100可以是手机、平板电脑、桌面型计算机、膝上型计算机、手持计算机、笔 记本电脑、超级移动个人计算机(ultra-mobile personal computer,UMPC)、上网本、以及蜂 窝电话、个人数字助理(personal digital assistant,PDA)、增强现实(augmentedreality,A R)设备、虚拟现实(virtual reality,VR)设备、人工智能(artificialintelligence,AI)设备、 可穿戴式设备、车载设备、智能家居设备和/或智慧城市设备,本申请实施例对该电子设备的 具体类型不作特殊限制。
电子设备100可以包括处理器101、存储器102、无线通信模块103、显示屏104、传感器模块105、音频模块106和扬声器107等。上述各个模块可以通过总线或者其它方式连接,本申请实施例以通过总线连接为例。
可以理解的是,本发明实施例示意的结构并不构成对电子设备100的具体限定。在本申 请另一些实施例中,电子设备100还可以包括比图示更多或更少的部件,或者组合某些部件, 或者拆分某些部件,或者不同的部件布置。图示的部件可以以硬件,软件或软件和硬件的组 合来实现。
处理器101可以包括一个或多个处理器单元,例如处理器101可以包括应用处理器(application processor,AP),调制解调处理器,图形处理器(graphics processingunit,GPU), 图像信号处理器(image signal processor,ISP),控制器,视频编解码器,数字信号处理器(digital signal processor,DSP),基带处理器,和/或神经网络处理器(neural-network processing unit, NPU)等。其中,不同的处理单元可以是独立的器件,也可以集成在一个或多个处理器中。
控制器可以根据指令操作码和时序信号,产生操作控制信号,完成取指令和执行指令的 控制。
处理器101中还可以设置存储器,用于存储指令和数据。在一些实施例中,处理器101 中的存储器为高速缓冲存储器。该存储器可以保存处理器101刚用过或循环使用的指令或数 据。如果处理器101需要再次使用该指令或数据,可以从所述存储器中直接调用。避免了重 复存取,减少了处理器101的等待时间,因而提高了系统的效率。
在一些实施例中,处理器101可以包括一个或多个接口。接口可以包括集成电路(inter-in tegrated circuit,I2C)接口,集成电路内置音频(inter-integrated circuitsound,I2S)接口,脉冲 编码调制(pulse code modulation,PCM)接口,通用异步收发传输器(universal asynchronous r eceiver/transmitter,UART)接口,移动产业处理器接口(mobile industry processor interface,M IPI),通用输入输出(general-purposeinput/output,GPIO)接口,用户标识模块(subscriber ident ity module,SIM)接口,和/或通用串行总线(universal serial bus,USB)接口等。
存储器102与处理器101耦合,用于存储各种软件程序和/或多组指令。具体实现中,存 储器102可以包括易失性存储器(volatile memory),例如随机存取存储器(randomaccessme mory,RAM);也可以包括非易失性存储器(non-vlatile memory),例如ROM、快闪存储器 (flash memory)、硬盘驱动器(Hard Disk Drive,HDD)或固态硬盘(SolidState Drives, SSD);存储器102还可以包括上述种类的存储器的组合。存储器102可以存储一些程序代码 (例如,图像识别算法程序代码、寻路算法程序代码等等),以便于处理器101调用存储器1 02中存储的程序代码,以实现本申请实施例在电子设备100中的实现方法。存储器102可以 存储操作系统,例如uCOS、VxWorks、RTLinux等嵌入式操作系统。
无线通信模块103可以提供应用在电子设备100上的包括无线局域网(wirelesslocal area networks,WLAN)(如无线保真(wireless fidelity,Wi-Fi)网络),蓝牙(bluetooth,BT),全球导 航卫星系统(global navigation satellite system,GNSS),调频(frequency modulation,FM),近 距离无线通信技术(near field communication,NFC),红外技术(infrared,IR)等无线通信的解 决方案。无线通信模块103可以是集成至少一个通信处理模块的一个或多个器件。无线通信 模块103经由天线接收电磁波,将电磁波信号调频以及滤波处理,将处理后的信号发送到处 理器101。无线通信模块103还可以从处理器101接收待发送的信号,对其进行调频,放大, 经天线转为电磁波辐射出去。在一些实施例中,电子设备100可以通过无线通信模块103中 的蓝牙模块(图1中未示出)、WLAN模块(图1中未示出)发射信号来探测或扫描在电子 设备100附近的设备,并与附近的设备建立无线通信连接并传输数据。其中,蓝牙模块可以 提供包括经典蓝牙(basic rate/enhanceddatarate,BR/EDR)或蓝牙低功耗(bluetooth low en ergy,BLE)中一项或多项蓝牙通信的解决方案。WLAN模块可以提供包括Wi-Fi direct、W i-Fi LAN或Wi-Fi softAP中一项或多项WLAN通信的解决方案。
显示屏104可以用于显示图像、视频等。显示屏104可以包括显示面板。显示面板可以 采用液晶显示屏(liquid crystal display,LCD),有机发光二极管(organic light-emitting diode, OLED),有源矩阵有机发光二极体或主动矩阵有机发光二极体(active-matrix organic light em itting diode的,AMOLED),柔性发光二极管(flex light-emitting diode,FLED),Miniled,M icroLed,Micro-oLed,量子点发光二极管(quantumdot light emitting diodes,QLED)等。在 一些实施例中,电子设备100可以包括1个或N个显示屏104,N为大于1的正整数。
传感器模块105可以包括触摸传感器105A等等。触摸传感器105A也可以称为“触控器 件”。触摸传感器105A可以设置于显示屏104,由触摸传感器105A与显示屏104组成触摸屏,也称“触控屏”。触摸传感器105A可以用于检测作用于其上或附近的触摸操作。可选的,传感器模块105还可以包括有陀螺仪传感器(图1未示出)、加速度传感器(图1未示出)等等。其中,陀螺仪传感器可以用于确定电子设备100的运动姿态,在一些实施例中,电子设备100可以通过陀螺仪传感器确定出电子设备100围绕三个轴(即,x,y和z轴)的角速度。 加速度传感器可以用于检测电子设备100在各个方向上(一般为x,y和z轴)加速度的大小。 当电子设备100静止时可以检测出重力的大小及方向。
音频模块106可以用于将数字音频信息转换成模拟音频信号输出,也可以用于将模拟音 频输入转换成数字音频信号。音频模块106还可以用于对音频信号编码和解码。在一些实施 例中,音频模块106还可以设置于处理器101中,或将音频模块106的部分功能模块设置于 处理器101中。
扬声器107,也可以称为“喇叭”,用于将音频电信号转换成为声音信号。电子设备100 可以通过扬声器107收听音乐,或收听免提电话。
可选的,电子设备100还可以包括移动通信模块(图1未示出)。该移动通信模块可以提 供应用在电子设备100上的包括2G/3G/4G/5G等无线通信的解决方案。
下面介绍本申请实施例中提供的一种游戏场景复现方法。
图2示出了本申请实施例中提供的一种游戏场景复现方法的流程图,该方法具体流程可 以包括:
S201、电子设备100运行第一游戏应用,并显示出第一游戏应用的界面。
具体的,性能检测工具1(也可以被称为第一性能检测工具,例如,perfDog测试工具) 可以选定第一游戏应用作为该性能检测工具1进行检测的主体。该性能检测工具1可以在第 一游戏应用运行时检测电子设备100的第一设备参数(例如,游戏画面的帧率、游戏运行过 程中的CPU负载、游戏运行过程中的CPU温度等中的一个或多个)。电子设备100可以运行 第一游戏应用,并显示出第一游戏应用的界面。
电子设备100可以接收针对第一游戏应用图标的输入(也可以被称为第一输入,例如点 击),响应于该针对第一游戏应用图标的输入,电子设备100可以运行第一游戏应用,并可以 显示出第一游戏应用的界面。
示例性的,如图3A所示,电子设备100可以显示出主屏幕的界面300(也可以被称为第 一界面)。该界面300中可以显示有一个或多个应用图标。其中,该一个或多个应用图标可以 包括有天气应用图标、股票应用图标、计算器应用图标、设置应用图标、邮件应用图标、主 题应用图标、音乐应用图标、视频应用图标和游戏应用图标301等等。
可选的,界面300中还可以显示有状态栏、页面指示符和托盘图标区域。其中,状态栏 可以包括移动通信信号(又可以称为蜂窝信号)的一个或多个信号强度指示符、无线保真(w irelessfidelity,Wi-Fi)信号的信号强度指示符、电池状态指示符、时间指示符等等。页面指 示符可以用于表明当前显示的页面与其他页面的位置关系。托盘图标区域可以包括有多个托 盘图标(例如,拨号应用图标、信息应用图标、联系人应用图标、相机应用图标等等),托盘 应用图标在页面切换时保持显示。上述页面也可以包括多个应用图标和页面指示符,页面指 示符可以不是页面的一部分,页面指示符可以单独存在,上述图片图标也是可选的,本申请 实施例对此不作限制。
电子设备100可以接收到作用于游戏应用图标301上的触摸操作(例如,点击),响应于 该触摸操作,电子设备100可以显示出游戏应用界面310。
如图3B所示,游戏应用界面310可以包括游戏画面、方向键区域311、小地图区域312 和目标对象313等等。其中,方向键区域311可以包括向上按键图标、向右按键图标、向下 按键图标和向左按键图标。方向键区域可以用于接收作用于该区域的触摸操作(例如,点击), 响应于该触摸操作,电子设备100可以显示出目标对象313在相应方向上(例如,向上、向 右、向下、向左)的移动。小地图区域312可以包括有目标对象313对应的标记312A。该标 记312A可以用于显示出目标对象313在游戏地图中的位置信息。目标对象313是在游戏应 用中所操作的主体。电子设备100可以响应于针对上述方向键区域311的触摸操作,控制该 目标对象313可以在游戏画面中移动。电子设备100也可以响应于拖动输入(例如,作用在 该目标对象313上的长按拖动操作),调整显示屏上显示的游戏画面在游戏场景中的位置。
在一种可能的实现方式中,方向按键区域311可以包括比图示更多或更少的方向按键。 例如,方向按键区域311还可以包括斜向右上方向按键、斜向右下方向按键等等。在另一些 实施例中,按键区域311可以是圆形图标,用于监听作用于该圆形图标的触控操作(例如长 按圆形图标并在任意方向上拖动),电子设备100响应于该操作,显示出目标对象313在游戏 画面中进行任意方向移动的界面。本申请对此不作限制。
在一种可能的实现方式中,小地图区域312可以用于接收作用于该区域范围内的触摸操 作(例如,点击),响应于该触摸操作,电子设备100可以显示出包括有该游戏应用大地图的 界面。
可选的,在一些实施例中,游戏界面310还可以包括功能按键区域,该功能按键区域可 以包括有一个或多个功能按键(例如,“普攻”功能按键、“大招”功能按键等等)。电子设备 100可以接收到作用于该一个或多个功能按键上的触摸操作(例如,点击),响应于该触摸操 作,电子设备100可以显示出目标对象施放相应技能的游戏画面。
在一种可能的实现方式中,电子设备100也可以接收到物理按键的键值,该物理按键的 键值与方向区域311中具有映射关系。电子设备100可以基于该物理按键的键值,控制目标 对象目标对象313在相应方向上(例如,向上、向右、向下、向左)的移动。
需要说明的是,上述游戏应用界面310仅仅用于示例性解释本申请,并不对本申请构成 任何限定。
S202、当电子设备100检测到第一设备参数出现异常时,电子设备100截取出当前时刻 中第一游戏应用的界面,得到截图1(也可以被称为第一图像)。该截图1可以包括小地图窗 口和游戏画面1(也可以被称为第一游戏画面)。其中,小地图窗口中显示有地图图像1(也 可以被称为第一小地图图像)和目标对象对应的标记1(也可以被称为第一标记),该标记1 可以位于地图图像1上的第一位置。游戏画面1包括有目标对象对应的图像。
具体的,当性能检测工具1(例如,perfDog测试工具)在第一游戏应用运行的过程中, 检测出电子设备100的第一设备参数出现异常(也可以被称为第一条件,例如,游戏画面的 帧率小于指定阈值、游戏运行过程中的CPU负载高于指定阈值、游戏运行过程中的CPU温 度高于指定阈值等中的一项或多项)时,电子设备100可以截取出当前时刻中第一游戏应用 的界面,得到截图1。
示例性的,电子设备100可以运行前述图3A所示的游戏应用图标301对应的游戏应用, 并显示出游戏应用界面310。同时,电子设备100也可以运行性能检测工具1,用于检测游戏 运行过程中的第一设备参数,例如游戏画面帧率、游戏运行过程中CPU负载、游戏运行过程 中的CPU温度等。当该性能检测工具1检测出游戏画面帧率低于指定的阈值时(例如,游戏 画面帧率低于30帧/秒),电子设备100可以截取出游戏应用界面310,得到如图3C所示的 截图(也可以被称为截图1)。该截图可以包括小地图窗口321和游戏画面320(也可以被称 为游戏画面1)。其中,小地图窗口321可以包括目标对象对应的标记321A(也可以被称为目标对象对应的标记1)和地图图像321B(也可以被称为地图图像1),游戏画面320可以 包括有目标对象313(也可以被称为目标对象)所对应的图像322。
S203、在电子设备100获取到截图1后,电子设备100可以控制第一游戏应用显示并截 取出大地图(也可以被称为第一大地图图像)。
具体的,当电子设备100获取到截图1后,性能检测工具2(也可以被称为第二性能检 测工具,例如,renderdoc工具、TraceView工具、systrace工具等等)可以选定第一游戏应用 作为该性能检测工具2进行检测的主体。该性能检测工具2可以检测出在第一游戏应用运行 的过程中电子设备100的第二设备参数(例如,游戏画面顶点数、着色器复杂程度、纹理分 辨率等等)。电子设备100可以运行第一游戏应用,并控制第一游戏应用显示出大地图。
电子设备100可以接收到作用于地图控件的触摸操作(例如,点击),响应于该触摸操作, 电子设备100可以显示并截取出第一游戏应用的大地图,其中,该大地图可以是第一游戏应 用的地图全景。
示例性的,如图3D所示,电子设备100可以运行第一游戏应用,显示出游戏应用界面3 30。该游戏应用界面330和游戏应用界面310的游戏画面并不相同。该游戏应用界面330可 以包括游戏画面、方向键区域311、小地图区域312和目标对象313等等。关于方向键区域3 11、小地图区域312和目标对象313的说明,可以参考前述图3A中所示实施例的有关描述,在此不再赘述。其中,游戏应用界面330中的标记312A,与游戏应用界面310中的标记312 A在小地图区域312中的位置不相同。
电子设备100可以接收到用作用于小地图区域312(也可以被称为地图控件)的触摸操 作(例如,点击),响应于该触摸操作,电子设备100可以显示出游戏应用界面340。
如图3E所示,游戏应用界面340可以包括游戏应用的大地图和关闭控件342。其中,大 地图中可以包括有前述图3D所示的目标对象313对应的标记341,用于表示当前目标对象3 13在大地图中的位置信息。关闭控件342可以用于接收作用在该控件上的触摸操作(例如, 点击),响应于该触摸操作,电子设备100可以不再显示出游戏应用的大地图。
S204、电子设备100基于地图图像1和大地图,确定出地图图像1中目标对象对应的标 记1映射到大地图中的位置1(也可以被称为第二位置)。
其中,电子设备100可以先从上述截图1中提取出地图图像1,该地图图像1可以包括 有目标对象对应的标记1。
具体的,电子设备100可以预先获取到地图图像1在截图1中的坐标信息。电子设备10 0可以基于该截图1的坐标信息从截图1中提取出地图图像1。
示例性的,电子设备100在获取到截图1之前,可以获取到与截图1相同尺寸且包括有 小地图窗口的截图2(也可以被称为第二图像),以及地图图像(也可以被称为预设的小地图 图像)。该地图图像与截图2中小地图窗口中显示的地图图像(也可以被称为第二小地图图像) 相同。电子设备100可以通过指定的图像识别算法(例如,OpenCV中的模板匹配函数cv2. matchTemplate()),基于截图2和地图图像,识别出地图图像在截图2中的坐标信息。电子设 备100可以获取到该坐标信息。当电子设备100获取到截图1时,电子设备100可以基于该 坐标信息,从截图1中提取出预设形状(例如,正方形或矩形)的地图图像1。
在提取出地图图像1后,电子设备100可以将步骤S203中显示的大地图(例如,图3E所示的游戏应用界面340中的大地图)缩放至与地图图像1相同的尺度(也可以被称为比例尺)。电子设备100可以基于地图图像1,通过指定的图像识别算法(例如,OpenCV中的模 板匹配函数cv2.matchTemplate()),从大地图中识别出与地图图像1相似的区域(也可以被称 为第一区域)。
接下来,电子设备100可以计算出地图图像1中目标对象对应的标记1(例如,前述图3 C中的标记321A)在地图图像1中的位置信息。电子设备100可以通过指定的算法(例如,OpenCV中的remap重映射算法),计算出地图图像1中标记1映射到大地图中的位置1。
示例性的,如图3F所示,地图图像1可以是图像351,该图像351中包括有标记321A(也可以称为目标对象对应的标记1)。大地图可以是图像352。该图像352中可以包括标记352A和前述图3D所示的目标对象313对应的标记341。其中,该标记352A可以用于标记3 21A映射到大地图中的位置1,该标记341可以表示当前目标对象313在大地图中的位置信 息。
在一些可能的实现方式中,截图1中的地图图像1是圆形,而提取出的包括有地图图像 1的图像(也可以被称为第三图像)的尺寸是矩形或正方形时,电子设备100可以以提取出 的图像中心点为圆心,通过指定的图像识别算法(例如,边缘检测算法),去除地图图像1外 的多余部分,从该图像中进一步提取出地图图像1。
S205、电子设备100获取到目标对象当前在大地图中的位置2(也可以被称为第三位置)。
示例性的,电子设备100可以计算出前述步骤S203中图3E所示实施例中目标对象313 (也可以称为目标对象)对应的标记341在大地图中的坐标信息,从而获取到目标对象当前 在大地图中的位置2。
S206、电子设备100控制目标对象从位置2移动至位置1。
具体的,电子设备100可以通过性能检测工具2输出控制信号给外接机械设备(例如, 机械手)。电子设备100可以接收到外接机械设备(例如,机械手)基于该控制信号针对于显 示屏上显示出的方向移动的输入操作,响应于该输入操作,电子设备100可以控制目标对象 从位置2移动至位置1。
其中,电子设备100可以预先存储有一条或多条从位置2到位置1的行进路径。电子设 备100可以按照指定的区域大小(例如,每个区域大小为9x9的一组像素点)将大地图均匀 的划分为多块区域,每块区域可以被称为一个位置点。大地图中的多个位置点包括有位置1 对应的位置点1和位置2对应的位置点2。以位置点2作为起点,位置点1作为终点,电子设备100可以在指定的时间范围(例如,20秒)内,通过指定的算法(例如,A*寻路算法), 控制目标对象从位置点2行进到位置点1。如果目标对象能够在指定的时间范围(例如,20 秒)内从位置点2移动至位置点1,则该行进路径有效,电子设备100可以存储该条行进路 径。如果位置2移动至位置1有多条行进路径,电子设备100可以将该多条路径存储在对应 的路径集。
电子设备100可以存储有外接机械设备(例如,机械手)的操作信息。电子设备100可 以计算出外接机械设备每次作用于方向控件(例如,向右方向控件、向左方向控件、向上方 向控件、向下方向控件等等)1秒时,目标对象前进的距离。例如,首先电子设备100可以获取到截图3。电子设备100可以基于该截图3,通过图像识别算法识别出目标对象的轮廓,电子设备100可以通过该轮廓计算出目标对象的中心点位置3。当电子设备100接收到外接机械设备作用在向右方向控件上的触摸操作(例如,点击)5秒时,电子设备100可以响应 于该触摸操作控制目标对象向右移动。然后,电子设备100可以获取到截图4,电子设备10 0可以基于该截图4,通过图像识别算法识别出目标对象的轮廓,电子设备100可以通过该轮 廓计算出目标对象的中心点位置4。电子设备100可以计算出目标对象中心点位置3和中心 点位置4的位移,除以移动时间5秒,从而计算出当外接机械设备作用在向右方向控件上的 触摸操作(例如,点击)1秒时,目标对象前进的距离。
当电子设备100获取到目标对象的当前在大地图中的位置2时,电子设备100可以响应 于接收到的外接机械设备针对于方向移动的输入操作,以位置2为起点,通过预先存储的从 位置2到位置1的行进路径以及外接机械设备的操作信息,控制目标对象从位置2移动至位 置1。
示例性的,如图3G所示,电子设备100可以接收到机械手针对于方向区域311中向右 按键图标上的输入操作,响应于该输入操作,电子设备100可以控制目标对象313向右进行 移动。当电子设备100控制目标对象从位置2移动至位置1后,电子设备100可以显示出游戏应用界面360。关于该游戏应用界面360的说明,可以参考前述图3B所示实施例中的描述,在此不再赘述。其中,图3G中的游戏画面与前述步骤S202中图3C所示截图1中的游戏画 面不相同。
在一种可能的实现方式中,如果电子设备100中没有预先存储一条或多条从位置2到位 置1的行进路径,则电子设备100可以控制目标对象通过指定的算法(例如,A*寻路算法), 从位置2移动至位置1。电子设备100可以存储该条由位置2移动至位置1的行进路径。
在一种可能的实现方式中,当电子设备100控制目标对象由位置2移动至位置1后,电 子设备100可以获取到当前时刻的截图图像5(也可以被称为第四图像),计算出截图图像5 中的游戏画面与截图1中的游戏画面的相似度。如果该相似度超出指定的阈值容许范围,则 电子设备100可以通过性能检测工具2输出控制信号给机械设备(例如,机械手),电子设备 100可以接收到基于该控制信号的机械设备作用于目标对象的输入,以控制目标对象向指定 方向的指定距离移动。当目标对象每次向指定方向移动指定距离时,电子设备100可以截取 出当前目标对象已经移动后的图像,对比该图像中的游戏画面与截图1中的游戏画面1的相 似度,直到与游戏画面1的相似度在指定阈值范围内时。该操作过程可以参考前述步骤S203 -步骤S206,在此不再赘述。
S207、电子设备100控制第一游戏应用所显示游戏画面的视角转动。
具体的,电子设备100可以通过性能检测工具2输出控制信号给外接机械设备(例如, 机械手)。电子设备100可以接收到外接机械设备(例如,机械手)基于该控制信号的输入操 作,响应于该输入操作,电子设备100可以控制第一游戏应用所显示游戏画面的视角转动。 当游戏画面每向指定方向(例如,顺时针方向)转动指定角度(例如,1度)时,电子设备1 00可以将当前的游戏应用界面图像与前述截图1进行相似度的计算对比,当计算结果在指定 的阈值范围内,电子设备100即可确定出此时的游戏画面与截图1中的游戏画面1相同。
例如,如图3H所示,电子设备100可以接收到机械手针对于目标对象313的拖动操作, 电子设备100可以响应于该拖动操作,通过控制目标对象313以控制第一游戏应用所显示游 戏画面的视角转动。当电子设备100控制目标对象313每向指定方向(例如,顺时针方向) 转动指定角度(例如,1度)时,电子设备100可以将当前的游戏应用界面图像与前述图3B 所示的截图1进行相似度的计算对比,当计算结果在指定的阈值范围内,电子设备100即可 确定出此时的游戏画面与图3B所示的截图1中的游戏画面1相同。
在一种可能的实现方式中,当电子设备100控制目标对象从位置2移动至位置1,电子 设备100显示出的游戏应用界面360中的游戏画面与图3B中截图1所示的游戏画面1相同时,电子设备100可以执行步骤S208。
S208、当第一游戏应用所显示的游戏画面与截图1中的游戏画面1相同时,性能检测工 具2可以获取到电子设备100的第二设备参数。
具体的,当第一游戏应用所显示的游戏画面与截图1中的游戏画面1相同时,性能检测 工具2(例如,renderdoc工具、TraceView工具、systrace工具等等)可以基于该游戏画面, 获取到第一游戏应用在当前游戏画面对应的场景下电子设备100的第二设备参数(例如,游 戏画面顶点数、着色器复杂程度、纹理分辨率等等中的一个或多个),并基于该获取到的第二 设备参数,作进一步的设备性能分析。
例如,当第一游戏应用所显示的游戏画面与前述图3C实施例所示截图(也可以称为截 图1)中的游戏画面320(也可以被称为游戏画面1)相同时,renderdoc工具可以基于该游戏 画面,获取到第一游戏应用在当前游戏画面对应的场景下电子设备100的游戏画面顶点数、 纹理分辨率等,以用于作进一步的设备性能分析。
在一些实施例中,电子设备200可以和电子设备100建立通信连接(例如,电子设备20 0和电子设备100可以基于通用串行总线建立通信连接)。其中,电子设备200的硬件结构可 以参考前述图1实施例中所示的电子设备100的硬件结构,在此不再赘述。在前述步骤210- 步骤202中,当性能检测工具1在第一游戏应用运行的过程中检测电子设备100的第一设备 参数时,电子设备200可以基于上述通信连接获取到电子设备100发送的第一设备参数的数 据信息。电子设备200可以显示出第一设备参数的数据信息。
例如,如图4A所示,电子设备200可以和电子设备100建立通信连接(例如,电子设备200和电子设备100可以基于通用串行总线建立通信连接)。以第一设备参数是游戏运行时 的CPU温度值为例。电子设备100运行第一游戏应用,显示出游戏应用界面310。性能检测工具1在第一游戏应用运行的过程中,检测电子设备100的CPU温度值。电子设备200可以 基于上述通信连接获取到电子设备100发送的CPU温度值,并显示出CPU温度值的数据信 息。其中,关于游戏应用界面310的说明,可以参考前述图3B所示实施例的描述,在此不 再赘述。在电子设备200显示出的CPU温度值的数据信息中,X轴为第一游戏应用运行的时 长,Y轴为CPU的温度数值。
在一些实施例中,电子设备200可以和电子设备100建立通信连接(例如,电子设备20 0和电子设备100可以基于通用串行总线建立通信连接)。其中,电子设备200的硬件结构可 以参考前述图1实施例中所示的电子设备100的硬件结构,在此不再赘述。当性能检测工具 2获取到第二设备参数时,电子设备200可以基于上述通信连接获取到电子设备100发送的 第二设备参数的数据信息。电子设备200可以显示出第二设备参数的数据信息。
如图4B所示,当电子设备100显示出前述图3C实施例所示截图(也可以称为截图1)中的游戏画面320(也可以被称为游戏画面1),也即是显示出前述图3B实施例所示游戏应用界面310时,renderdoc工具可以截取出该游戏画面,并基于该截取出的游戏画面获取到该 游戏画面顶点数的数据信息。电子设备200可以基于上述通信连接获取到电子设备100发送 的该游戏画面顶点数的数据信息。电子设备200可以显示出该游戏画面顶点数的数据信息。
在一种可能的实现方式中,电子设备200可以基于上述通信连接向电子设备100发送数 据指令,以控制电子设备100运行第一游戏应用。
在一些实施例中,电子设备100可以获取到多张由性能检测工具1检测到异常的第一设 备参数(例如,游戏画面的帧率、游戏运行过程中的CPU负载、游戏运行过程中的CPU温度等中的一个或多个)时对应的截图。该多张截图中包括有截图1和截图2。当电子设备10 0基于截图1执行前述步骤203-步骤208,获取到截图1中的游戏画面对应游戏场景下的电子设备100的第二设备参数,用于作进一步的设备性能分析后,电子设备100可以基于截图2执行前述步骤203-步骤208,获取到截图2中的游戏画面对应游戏场景下的电子设备100的第二设备参数,以用于作进一步的设备性能分析。
上述实施例中所用,根据上下文,术语“当…时”可以被解释为意思是“如果…”或“在… 后”或“响应于确定…”或“响应于检测到…”。类似地,根据上下文,短语“在确定…时” 或“如果检测到(所陈述的条件或事件)”可以被解释为意思是“如果确定…”或“响应于确 定…”或“在检测到(所陈述的条件或事件)时”或“响应于检测到(所陈述的条件或事件)”。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当 使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包 括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产 生按照本申请实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算 机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从 一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从 一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线) 或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进 行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或 多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例 如,软盘、硬盘、磁带)、光介质(例如DVD)、或者半导体介质(例如固态硬盘)等。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,该流程可以由 计算机程序来指令相关的硬件完成,该程序可存储于计算机可读取存储介质中,该程序在执 行时,可包括如上述各方法实施例的流程。而前述的存储介质包括:ROM或随机存储记忆体 RAM、磁碟或者光盘等各种可存储程序代码的介质。
- 上一篇:石墨接头机器人自动装卡簧、装栓机
- 下一篇:异常监控方法和异常监控系统