51Testing软件测试论坛

标题: 浅谈游戏研发全流程的性能测试及深度分析方法 [打印本页]

作者: lsekfe    时间: 2023-5-31 14:32
标题: 浅谈游戏研发全流程的性能测试及深度分析方法
【知识储备】
  基础的引擎、渲染知识,常用性能测试工作的使用方法和性能问题的诊断方法。
  【前期规划】
  性能指标: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软件测试论坛 (http://bbs.51testing.com/) Powered by Discuz! X3.2