游戏研发全流程的性能测试及深度分析方法

发表于:2023-5-31 09:38

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:银龙背上的骑士    来源:博客园

  【知识储备】
  基础的引擎、渲染知识,常用性能测试工作的使用方法和性能问题的诊断方法。
  【前期规划】
  性能指标:FPS、内存、耗电、CPU占用、GPU占用、清晰度、灵敏度。
  制定方法:寻找竞品,列出各指标进行对比。
  目的:1.了解竞品资源设计规范,简介美术制作标准;2.开发过程中对比细节实现,取其精华。
  关键:QA持续“版本性能测试”,统计出每个版本关键性能的变化趋势。
  【发现问题】
  性能标准 = 目标机型 + 性能指数
  注意保持测试环境一致性,例如每次测试时手机亮度保持一致,否则耗电不一样。
  测试方法:
  1.资源测试:“压力测试”获得性能上限->粗粒度指标分配->细粒度指标分配;(QA)
  2.脚本测试:脚本开销(程序)
  测试工具:
  1.引擎性能工具;
  2.第三方性能工具;
  3.自制脚本插件,如“场景热力图”;
  4.多维度(机型、指标、测试时间)数据聚合;
  5.特征聚合图。
  【解决问题】
  常规优化方式:
  1.包体/Patch优化;
  2.有损优化(面数、分辨率等);
  3.性能分级排查。
  知识体系:gameplay->引擎->操作系统->CUP/GPU/内存
  【方法论】
  不靠谱的方法:基于朴素经验主义的性能分析(即靠经验猜)
  靠谱的方法:
  1.基于pipeline,(借助监控工具)定位瓶颈(瓶颈即整个pineline的“短板”,拖累渲染的因素)->分组细化->找到问题->完成优化。
  2.层次化的分析。
  例子1:有一个游戏系统打开后很卡,凭经验觉得是模型面数太多,让美术见面,但并无明细效果。后发现问题出在渲染流程,一是renderPass过多切换太频繁导致内存带宽占用过大(找到瓶颈),二是点光源太多导致阴影面过多。
  例子2:“哈利波特”手游在翻魔法书时特别卡,经分析是多线程同时播放大量特效引起的(详细原因没记住),改成单线程解决。
  本文内容不用于商业目的,如涉及知识产权问题,请权利人联系51Testing小编(021-64471599-8017),我们将立即处理
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号