CN109876446A - 一种检测游戏贴图和网格在内存中占用分布的方法和装置 - Google Patents

一种检测游戏贴图和网格在内存中占用分布的方法和装置 Download PDF

Info

Publication number
CN109876446A
CN109876446A CN201910032617.4A CN201910032617A CN109876446A CN 109876446 A CN109876446 A CN 109876446A CN 201910032617 A CN201910032617 A CN 201910032617A CN 109876446 A CN109876446 A CN 109876446A
Authority
CN
China
Prior art keywords
game
textures
memory
node
operation control
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
CN201910032617.4A
Other languages
English (en)
Other versions
CN109876446B (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 Xishan 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 Xishan Mobile Game Technology Co Ltd, Zhuhai Kingsoft Online Game Technology Co Ltd filed Critical Zhuhai Xishan Mobile Game Technology Co Ltd
Priority to CN201910032617.4A priority Critical patent/CN109876446B/zh
Publication of CN109876446A publication Critical patent/CN109876446A/zh
Application granted granted Critical
Publication of CN109876446B publication Critical patent/CN109876446B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Debugging And Monitoring (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本发明涉及一种检测游戏贴图和网格在内存中占用分布的方法和装置。其中方法包括:A、对游戏的Mono客户端进程进行挂钩操作,以在游戏调试运行时弹出统计操作控件;B、触发所述统计操作控件,获得当前游戏帧的所有父节点;C、遍历所有父节点,获得每个节点中贴图和网格的详细路径及内存占用信息;D、统计各节点的贴图及网格资源使用情况。其中装置包括存储器和处理器,以被配置为实施上述方法。本发明的技术方案中,无需修改游戏客户端代码,即可检测游戏运行过程中的美术资源占用,为研发和美术提供可靠、直观的数据,去规范制作及优化过程中遇到的问题,减轻客户端内存负担。

Description

一种检测游戏贴图和网格在内存中占用分布的方法和装置
技术领域
本发明涉及一种检测游戏贴图和网格在内存中占用分布的方法和装置,属于游戏软件技术领域。
背景技术
目前基于Unity3d引擎开发的游戏较为流行,在项目中,由于美术制作上的不规范或者开发流程上的不规范,使美术贴图或网格被滥用,直接影响游戏内存占用的大小,轻则影响游戏性能,重则引起游戏崩溃。但在Unity3d引擎中,无法直接获取到游戏运行过程中,项目各节点使用的贴图/网格资源及其内存占用。此外,在游戏运行的过程中,对内存中的美术贴图进行统计,分类和去重,对减少游戏内存占用,优化游戏性能显得尤为重要。
发明内容
本发明提供一种检测游戏贴图和网格在内存中占用分布的方法和装置,实现在不修改游戏客户端代码的前提下,即可对游戏中美术资源进行分类统计。
本发明的技术方案第一方面为一种检测游戏贴图和网格在内存中占用分布的方法。该游戏为Unity3d引擎开发的游戏。所述方法包括以下步骤:
A、对游戏的Mono客户端进程进行挂钩操作,以在游戏调试运行时弹出统计操作控件;
B、触发所述统计操作控件,获得当前游戏帧的所有父节点;
C、遍历所有父节点,获得每个节点中贴图和网格的详细路径及内存占用信息;
D、统计各节点的贴图及网格资源使用情况。
进一步,所述步骤A包括:
提供hook.so模块,基于通用hook技术,以修改机器指令跳转的方式对目标游戏进程,注入MonoBehaviour脚本;
将hook.so模块加载到客户端游戏进程中,从而弹出统计操作控件。
进一步,所述步骤B包括:
以人工触发或虚拟触发的方式,激活所述统计操作控件动作,以获得当前游戏帧的父节点。
进一步,所述步骤C包括:
在客户端游戏进程中,统计各节点的贴图和网格资源,并记录顶级节点路径。
进一步,所述步骤D包括:
计算出每个顶级节点的贴图资源和网格资源,并统计出该节点的内存占用。
进一步,所述的统计操作控件包括按钮、滑动条、事件触点。
进一步,所述方法还在游戏程序进程出现内存占用率超过预设阈值时被激活运行。
本发明的技术方案第二方面为一种计算机装置,包括存储器、处理器及储存在存储器上并能够在处理器上运行的计算机程序,所述处理器执行所述程序时实施上述的步骤。
本发明的技术方案第三方面为一种计算机可读存储介质,其上储存有计算机程序,所述计算机程序被处理器执行时实施上述的步骤。
本发明的有益效果为:
提出改进的检测游戏贴图和网格在内存中占用分布的方法和装置;无需修改游戏客户端代码,即可检测游戏运行过程中的美术资源占用,为研发和美术提供可靠、直观的数据,去规范制作及优化过程中遇到的问题,减轻客户端内存负担。
附图说明
图1所示为根据本发明的方法的总体流程图。
具体实施方式
以下将结合实施例和附图对本发明的构思、具体结构及产生的技术效果进行清楚、完整的描述,以充分地理解本发明的目的、方案和效果。
此外,除非另有定义,本文所使用的所有的技术和科学术语与本技术领域的技术人员通常理解的含义相同。本文说明书中所使用的术语只是为了描述具体的实施例,而不是为了限制本发明。本文所使用的术语“和/或”包括一个或多个相关的所列项目的任意的组合。
术语解释
MonoBehaviour:Unity3d中的脚本都是继承自MonoBehaviour。
Mono:跨平台.net运行环境,Unity3d游戏客户端可以编译成IL2cpp或者Mono的包。
参考图1。根据本发明的方法包括以下步骤:
A、对游戏的Mono客户端进程进行挂钩操作,以在游戏调试运行时弹出统计操作控件;
B、触发所述统计操作控件,获得当前游戏帧的所有父节点;
C、遍历所有父节点,获得每个节点中贴图和网格的详细路径及内存占用信息;
D、统计各节点的贴图及网格资源使用情况。
优选地,该方法还可以在游戏程序进程出现内存占用率超过预设阈值时被激活运行。
上述测试方法还可以以hook.so模块实现。在一个具体的实施例中,比如在***中获取测试数据的步骤如下:
第一步:实现hook.so模块,该模块使用通用hook技术(修改机器指令跳转的方式hook)对目标游戏进程,注入MonoBehaviour脚本;
第二步:打开游戏程序,将hook.so加载到客户端游戏进程中,屏幕中会出现统计按钮;
第三步:激活统计按钮,该模块会在客户端的Update中,统计各节点的贴图和网格资源,并记录顶级节点路径;
第四步:通过分析模块获取的数据,计算出每个顶级节点的贴图资源和网格资源,并统计出该节点的内存占用。
应当认识到,本发明实施例中的方法步骤可以由计算机硬件、硬件和软件的组合、或者通过存储在非暂时性计算机可读存储器中的计算机指令来实现或实施。所述方法可以使用标准编程技术。每个程序可以以高级过程或面向对象的编程语言来实现以与计算机***通信。然而,若需要,该程序可以以汇编或机器语言实现。在任何情况下,该语言可以是编译或解释的语言。此外,为此目的该程序能够在编程的专用集成电路上运行。
此外,可按任何合适的顺序来执行本文描述的过程的操作,除非本文另外指示或以其他方式明显地与上下文矛盾。本文描述的过程(或变型和/或其组合)可在配置有可执行指令的一个或多个计算机***的控制下执行,并且可作为共同地在一个或多个处理器上执行的代码(例如,可执行指令、一个或多个计算机程序或一个或多个应用)、由硬件或其组合来实现。所述计算机程序包括可由一个或多个处理器执行的多个指令。
进一步,所述方法可以在可操作地连接至合适的任何类型的计算平台中实现,包括但不限于个人电脑、迷你计算机、主框架、工作站、网络或分布式计算环境、单独的或集成的计算机平台、或者与带电粒子工具或其它成像装置通信等等。本发明的各方面可以以存储在非暂时性存储介质或设备上的机器可读代码来实现,无论是可移动的还是集成至计算平台,如硬盘、光学读取和/或写入存储介质、RAM、ROM等,使得其可由可编程计算机读取,当存储介质或设备由计算机读取时可用于配置和操作计算机以执行在此所描述的过程。此外,机器可读代码,或其部分可以通过有线或无线网络传输。当此类媒体包括结合微处理器或其他数据处理器实现上文所述步骤的指令或程序时,本文所述的发明包括这些和其他不同类型的非暂时性计算机可读存储介质。当根据本发明所述的方法和技术编程时,本发明还包括计算机本身。
计算机程序能够应用于输入数据以执行本文所述的功能,从而转换输入数据以生成存储至非易失性存储器的输出数据。输出信息还可以应用于一个或多个输出设备如显示器。在本发明优选的实施例中,转换的数据表示物理和有形的对象,包括显示器上产生的物理和有形对象的特定视觉描绘。
以上所述,只是本发明的较佳实施例而已,本发明并不局限于上述实施方式,只要其以相同的手段达到本发明的技术效果,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。在本发明的保护范围内其技术方案和/或实施方式可以有各种不同的修改和变化。

Claims (9)

1.一种检测游戏贴图和网格在内存中占用分布的方法,该游戏为Unity3d引擎开发的游戏,其特征在于,所述方法包括以下步骤:
A、对游戏的Mono客户端进程进行挂钩操作,以在游戏调试运行时弹出统计操作控件;
B、触发所述统计操作控件,获得当前游戏帧的所有父节点;
C、遍历所有父节点,获得每个节点中贴图和网格的详细路径及内存占用信息;
D、统计各节点的贴图及网格资源使用情况。
2.根据权利要求1所述的方法,其特征在于,所述步骤A包括:
提供hook.so模块,基于通用hook技术,以修改机器指令跳转的方式对目标游戏进程,注入MonoBehaviour脚本;
将hook.so模块加载到客户端游戏进程中,从而弹出统计操作控件。
3.根据权利要求1或2所述的方法,其特征在于,所述步骤B包括:
以人工触发或虚拟触发的方式,激活所述统计操作控件动作,以获得当前游戏帧的父节点。
4.根据权利要求2所述的方法,其特征在于,所述步骤C包括:
在客户端游戏进程中,统计各节点的贴图和网格资源,并记录顶级节点路径。
5.根据权利要求4所述的方法,其特征在于,所述步骤D包括:
计算出每个顶级节点的贴图资源和网格资源,并统计出该节点的内存占用。
6.根据权利要求1所述的方法,其特征在于,所述的统计操作控件包括按钮、滑动条、事件触点。
7.根据权利要求1所述的方法,其特征在于,所述方法还在游戏程序进程出现内存占用率超过预设阈值时被激活运行。
8.一种计算机装置,包括存储器、处理器及储存在存储器上并能够在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实施如权利要求1至7中任一项所述的方法。
9.一种计算机可读存储介质,其上储存有计算机程序,所述计算机程序被处理器执行时实施如权利要求1至7中任一项所述的方法。
CN201910032617.4A 2019-01-14 2019-01-14 一种检测游戏贴图和网格在内存中占用分布的方法和装置 Active CN109876446B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910032617.4A CN109876446B (zh) 2019-01-14 2019-01-14 一种检测游戏贴图和网格在内存中占用分布的方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910032617.4A CN109876446B (zh) 2019-01-14 2019-01-14 一种检测游戏贴图和网格在内存中占用分布的方法和装置

Publications (2)

Publication Number Publication Date
CN109876446A true CN109876446A (zh) 2019-06-14
CN109876446B CN109876446B (zh) 2022-07-26

Family

ID=66925967

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910032617.4A Active CN109876446B (zh) 2019-01-14 2019-01-14 一种检测游戏贴图和网格在内存中占用分布的方法和装置

Country Status (1)

Country Link
CN (1) CN109876446B (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110935170A (zh) * 2019-10-29 2020-03-31 广州西山居世游网络科技有限公司 一种游戏美术资源分布查阅方法及***
CN111240930A (zh) * 2020-01-08 2020-06-05 珠海金山网络游戏科技有限公司 一种获取游戏模块性能占用率的方法及***
CN111821690A (zh) * 2020-07-06 2020-10-27 珠海西山居移动游戏科技有限公司 优化ui图集利用率的方法、装置及可读介质

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101741912A (zh) * 2009-12-30 2010-06-16 中兴通讯股份有限公司 一种处理计算任务的方法、网络设备及分布式网络***
CN105094920A (zh) * 2015-08-14 2015-11-25 网易(杭州)网络有限公司 一种游戏渲染方法和装置
CN106557424A (zh) * 2016-11-18 2017-04-05 腾讯科技(深圳)有限公司 内存测试方法、被测终端、测试客户端及***
US20170102981A1 (en) * 2015-10-13 2017-04-13 International Business Machines Corporation Dynamic instrumentation based on detected errors
CN107277226A (zh) * 2017-05-11 2017-10-20 珠海金山网络游戏科技有限公司 一种获取手机应用内存快照和内存分配堆栈的方法及装置
CN108280009A (zh) * 2017-12-25 2018-07-13 福建天晴数码有限公司 一种监控网格资源的方法及终端

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101741912A (zh) * 2009-12-30 2010-06-16 中兴通讯股份有限公司 一种处理计算任务的方法、网络设备及分布式网络***
CN105094920A (zh) * 2015-08-14 2015-11-25 网易(杭州)网络有限公司 一种游戏渲染方法和装置
US20170102981A1 (en) * 2015-10-13 2017-04-13 International Business Machines Corporation Dynamic instrumentation based on detected errors
CN106557424A (zh) * 2016-11-18 2017-04-05 腾讯科技(深圳)有限公司 内存测试方法、被测终端、测试客户端及***
CN107277226A (zh) * 2017-05-11 2017-10-20 珠海金山网络游戏科技有限公司 一种获取手机应用内存快照和内存分配堆栈的方法及装置
CN108280009A (zh) * 2017-12-25 2018-07-13 福建天晴数码有限公司 一种监控网格资源的方法及终端

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110935170A (zh) * 2019-10-29 2020-03-31 广州西山居世游网络科技有限公司 一种游戏美术资源分布查阅方法及***
CN110935170B (zh) * 2019-10-29 2023-09-15 广州西山居网络科技有限公司 一种游戏美术资源分布查阅方法及***
CN111240930A (zh) * 2020-01-08 2020-06-05 珠海金山网络游戏科技有限公司 一种获取游戏模块性能占用率的方法及***
CN111821690A (zh) * 2020-07-06 2020-10-27 珠海西山居移动游戏科技有限公司 优化ui图集利用率的方法、装置及可读介质
CN111821690B (zh) * 2020-07-06 2024-05-10 珠海西山居数字科技有限公司 优化ui图集利用率的方法、装置及可读介质

Also Published As

Publication number Publication date
CN109876446B (zh) 2022-07-26

Similar Documents

Publication Publication Date Title
CN109876446A (zh) 一种检测游戏贴图和网格在内存中占用分布的方法和装置
CN108563548B (zh) 异常检测方法及装置
CN107577522B (zh) 应用控制方法、装置、存储介质以及电子设备
Liang et al. Caiipa: Automated large-scale mobile app testing through contextual fuzzing
CN111008707A (zh) 自动化建模方法、装置及电子设备
US9014551B1 (en) Method and apparatus for simulating a photon-counting detector array as used in a communication link
CN108721898A (zh) 帧率的确定方法和装置、存储介质、电子装置
CN104424354A (zh) 使用用户操作生成模型检测异常用户行为的方法和***
US20210073669A1 (en) Generating training data for machine-learning models
CN107636621A (zh) 检测数据中心中的异常资源使用
CN109885481A (zh) 一种基于Unity技术的游戏NGUI的录制回放测试方法及装置
CN111223006A (zh) 一种异常用电检测方法及装置
CN108874470A (zh) 一种信息处理方法及服务器、计算机存储介质
CN110138638B (zh) 一种网络流量的处理方法及装置
CN107704876B (zh) 应用控制方法、装置、存储介质以及电子设备
US10504492B2 (en) Apparatus and methods for generating dynamic trace data on a GPU
CN110471821A (zh) 异常变更检测方法、服务器及计算机可读存储介质
CN110780882B (zh) 代码文件的处理方法及装置、***、电子设备、存储介质
WO2015007197A1 (en) A method, device, platform, and mobile terminal for recording and analyzing battery power of a mobile terminal
CN110188862A (zh) 用于数据处理的模型超参数的搜索方法、装置、***
CN109857650A (zh) 一种游戏性能监听方法及***
CN108985048A (zh) 模拟器识别方法及相关装置
US9507616B1 (en) Methods, systems, and computer readable media for emulating computer processing usage patterns on a virtual machine
CN111744183A (zh) 游戏中的光照采样方法、装置以及计算机设备
CN110389840A (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
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: Building 3, Jinshan Software Park, 325 Qiandao Ring Road, Tangjiawan Town, high tech Zone, Zhuhai, Guangdong 519000

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