51Testing软件测试论坛

 找回密码
 (注-册)加入51Testing

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 1044|回复: 0
打印 上一主题 下一主题

游戏性能测试的一些想法

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2022-8-8 16:04:53 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 草帽路飞UU 于 2022-8-10 17:00 编辑

最近2年都在做性能优化这个方向,对渲染,内存,cpu调度,以及美术制作等有了较多认识,想聊一下对qa而言,如何可以做好游戏性能测试,希望能可以和大家讨论。主要分为几个部分:
· 游戏优化的目的。
  · 性能优化的流水线
  · 游戏性能测试应该掌握的内容
  · 思考的一些可以深入下去研究的方向
  1,游戏优化的目的
  首先游戏优化的目标是什么?这也引出来我对优化的认识,即,优化的基本原则:游戏性能优化的终极目标是提升体验。不论我们对fps,流畅度提升多少,内存降低多少,功耗降低多少,最终还是归结到提升体验上。很多时候针对美术效果而言,我们要做取舍,比如一个效果太耗,在中端机上是比较吃力的,导致卡顿或者闪退,那么为了体验的考虑,我们会做lod。做lod本质上,目的也是在体验和性能上取舍。
  之前在w厂也做过一段时间性能优化,不过由于qa的权限不高,技术层面接触的并不是很多。但是那个时候,项目组内的研发风格,驱动优化的是体验,体验和性能相辅相成。后面接触的越多,中间一段时间,自己对游戏性能优化陷入了一种量化的陷阱,通过各种指标,数据计算来衡量优化的效果,唯数据是从。现在回头看,那个时候的自己思考的还是比较少。总的来说,从qa角度上来看,游戏性能优化测试的核心点就是体验。从体验上考虑一些内容,很多事情就可以很好处理了。如要考虑高帧率,也要考虑低jank,帧率高和jank低就好了吗?不是,还要考虑断触这种操作无响应(游戏是交互的)。要考虑低内存,也要考虑低峰值,另外也要因为cache考虑空间换时间,时间换空间这种策略问题,等等。
  2,性能优化的流水线
  “性能优化的流水线“,起这个名字也是源于我来t厂的感悟。以前我比较迷信小而美,认为小作坊似的开发团队能开发出好玩的游戏。但是来t厂后,接触到更多偏向于工业界流水线似的工作,虽然我认为t厂的工业化比较初级,而且以损失了很多效率作为代价。参考国外各个大厂的游戏制作,所谓3a大作,其实很多都是工业化产品。工业化不是说游戏创意像工业化产出一样,没有新意,相反,工业化指的是整个游戏制作过程。各类人才各司其职,又能通力合作,做出很赞的游戏。
  以美术制作为例,整个美术过程包括,立项,原画,模型,动画,特效,音效,策划配置等等,其实是一个很复杂的过程。我们还没考虑到这里面各个职能处于自己立场下的追求和坚持,比如模型,特效的复杂度,每个岗位也都是有自己对游戏制作的理解和倾向,毕竟做一个伟大的游戏是每个人的追求。当然对于qa来说每个人也是有自己的理解的。
  在我看来,性能优化的流水线,包含4个部分:
  需求阶段,制作阶段,锁定阶段,线上阶段。
  这4个阶段有各自的特点,有各自的优化侧重点。
  需求阶段:需求制定,需求预研,这两个是需求阶段核心的内容。需求评审时,如何制定提前制定美术的制作标准,预估用户操作频率和使用习惯等。需求预研一般是一些新技术的试验,比如一些压缩技术,一些新的渲染技术,一些新的架构调整等。
  制作阶段:系统和功能的制作和打磨阶段,需要对相关性能需求进行验收,这是最常见的,就不赘述了。
  锁定阶段:这个阶段应该是锁定版本,只允许修改bug,不再合入新的功能和风险项了。这个时候更多的是罗列清单回归项,进行回归。
  线上阶段:运用各类数据手段,线上性能数据,舆情数据进行线上数据监控,并对问题及时查证。
  3,游戏性能测试应该掌握的内容
  游戏性能测试应该掌握哪些内容?做了一个xmind图,大概列了一下。这方面内容其实非常多,涉及到客户端的方方面,对技术要求还是蛮高的。我一般对我们qa的定位是,底线是能发现问题,分析问题。如果能在发现和分析问题的基础上,能提出自己的见解或者解决方案那是最好了的。这也是最考验技术理解力的时候。
  什么是技术理解力?我认为是能透过现象看清本源的能力,并能通过技术对这个问题进行建模。比如,针对卡顿问题,你是否能认清造成卡顿的原因,是否能针对卡顿问题,建立比较完备的模型来进行描述和量化呢?
  很多qa觉得自己看一些客户端开发的一些内容觉得无用,认为那是程序需要考虑做的事情,这是不对的。如果我们只有发现问题的能力,这只能是及格,是无法证明你是性能测试qa的。所以在此基础上,有自己的分析能力,有自己的解决方案。更一般的,你能从更高维度看待这个事情,知道这个问题的痛点在哪里,应该怎么去解决。
  4,思考的一些可以深入下去研究的方向
  有哪些可以深入的研究方向呢?我自己的看法:
  · 游戏体验类的,对用户的行为和感受进行科学解释和量化的
  · 性能数据类的,安卓,ios,截帧,对xcode的逆向的
  · 制作方向的,美术向ta,特效,材质是否有问题?shader效率如何。代码向的,代码扫描,函数耗时分析,内存分配相关hook技术
  · 引擎方向
  等等......

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

本版积分规则

关闭

站长推荐上一条 /1 下一条

小黑屋|手机版|Archiver|51Testing软件测试网 ( 沪ICP备05003035号 关于我们

GMT+8, 2024-11-8 09:28 , Processed in 0.063612 second(s), 23 queries .

Powered by Discuz! X3.2

© 2001-2024 Comsenz Inc.

快速回复 返回顶部 返回列表