对于网络游戏玩家来说,客户端优化的好坏,对玩家体验影响非常大,如果一款游戏客户端运行起来,消耗内存非常严重,占90%以上CPU,进游戏后,走三步卡一步;这种情况的游戏客户端优化肯定做得不好,对于游戏测试人员来说,游戏客户端后期的性能测试非常重要,需要通过详细的步骤,详细的数据,详细的分析,测试并分析游戏中每项功能对客户端性能影响;下面为游戏客户端性能测试实施方法:
游戏客户端性能目标:高配置电脑同屏百人PK不卡;
游戏客户端性能基准:FPS(帧数);
游戏客户端性能测试环境:对于网络游戏来说,显卡,CPU与内存影响比较大;
ü 高配置:GTX250、2G内存、双核CPU;
ü 中配置:GF9600、2G内存、双核CPU;
ü 低配置:X700、1G内存、P4 CPU;
游戏客户端性能测试,需要考虑、进行以下几方面测试,得出结果:
1、 角色面数:
目的:测试角色、NPC模型面数对客户端帧数的影响;
场景:无任何物件+无地表修饰物+视野开阔的地图,排除任何影响帧数因素,只要光秃秃的一张地图;
数量:角色数量1个、30个、50个、100个;也可以取其他值
方法:
Ø 选取高面数角色模型(如4000面),选取同模型低面数角色(如2000面);
Ø 通过机器人或其它方法在场景中添加上述各数量角色;
Ø 统计1个,30个,50个,100个角色高、低面数下的客户端帧数;
Ø 分析角色面数对客户端性能的影响;
2、 渲染影响:
目的:程序中由于对角色、NPC的渲染次数不一致,对角色渲染次数比较多,测试程序渲染对客户端帧数的影响;
场景:无任何物件+无地表修饰物+视野开阔的地图,排除任何影响帧数因素,只要光秃秃的一张地图;
数量:选择面数相关不多的角色模型和NPC模型各50个;
方法:
Ø 选取面数为4000的角色模型50个,选择面数为4000左右的NPC模型50个;
Ø 通过机器人或其它方法在场景中添加50个角色模型,记录帧数;
Ø 通过机器人或其它方法在场景中添加50个NPC模型,记录帧数;
Ø 排除其它因素,对比帧数结果,分析渲染对帧数的影响;
3、 骨骼动画:
目的:测试程序在处理骨骼动画对客户端帧数的影响;
场景:无任何物件+无地表修饰物+视野开阔的地图,排除任何影响帧数因素,只要光秃秃的一张地图;
数量:选择角色模型50个;
方法:
Ø 选取有动作,骨骼动画的角色模型50个;
Ø 通过机器人或其它方法在场景中添加50个角色模型,记录帧数;
Ø 屏蔽程序中处理骨骼动画的代码或去除模型的动作;
Ø 通过机器人或其它方法在场景中添加50个角色模型(可能去除角色动作),记录帧数;
Ø 通过2种环境测试帧数结果,对比分析渲染对客户端帧数影响;
4、 阴影影响:
目的:测试场景、角色、NPC等阴影对客户端帧数的影响;
场景:无任何物件+无地表修饰物+视野开阔的地图,排除任何影响帧数因素,只要光秃秃的一张地图;
数量:选择角色模型50个;
方法:
Ø 开启客户端阴影选项;
Ø 通过机器人或其它方法在场景中添加50个角色模型,记录开启阴影的客户端帧数;
Ø 关闭客户端阴影选项;
Ø 记录关闭阴影的客户端帧数;
Ø 同上可以选择NPC或有场景物件的地图进行测试;
Ø 对比分析帧数测试结果,分析阴影对客户端帧数影响;
5、 全屏柔光:
目的:测试柔光对客户端帧数的影响;
场景:一张正常带有场景物件、水面等效果的地图;
数量:选择角色模型1个、50个;
方法:
Ø 开启游戏全屏柔光选项;
Ø 通过机器人或其它方法在场景中添加1个或50个角色模型,记录开启柔光的客户端帧数;
Ø 关闭客户端全屏柔光选项;
Ø 记录客户端帧数;
Ø 对比分析帧数测试结果,分析全屏柔光对客户端帧数影响;
6、 地表修饰:
目的:测试地表修饰对客户端帧数的影响;
场景:一张正常带有场景物件、地表修饰、水面效果等的地图;
数量:选择角色模型1个、50个;
方法:
Ø 设置地图地表修饰各等级选项(如高、中、低);
Ø 通过机器人或其它方法在场景中添加1个或50个角色模型,记录地表修饰各等级下客户端帧数;
Ø 对比分析帧数测试结果,分析地表修饰对客户端帧数影响;
7、 水面细节:
目的:测试水面细节对客户端帧数的影响;
场景:一张正常带有场景物件、地表修饰、水面效果等的地图;
数量:选择角色模型1个、50个;
方法:
Ø 设置地图水平细节各等级选项(如高、中、低);
Ø 通过机器人或其它方法在场景中添加1个或50个角色模型,记录水平细节各等级下客户端帧数;
Ø 对比分析帧数测试结果,分析水平细节对客户端帧数影响;
8、 粒子特效:
目的:测试技能特效、场景特效、物件特效等粒子特效对客户端帧数的影响;
场景:无任何物件+无地表修饰物+视野开阔的地图,排除任何影响帧数因素,只要光秃秃的一张地图;
数量:选择角色模型1个、50个;带有特效的坐骑或宠物;带有特效的物件;
方法:
Ø 选择1个有特效的角色模型或坐骑、宠物等;
Ø 通过机器人或其它方法在场景中添加1个,记录帧数;
Ø 选择1个无特效的角色模型或坐骑、宠物等;
Ø 通过机器人或其它方法在场景中添加1个,记录帧数;
Ø 选择50个有特效的角色模型或坐骑、宠物等;
Ø 通过机器人或其它方法在场景中添加50个,记录帧数;
Ø 选择50个无特效的角色模型或坐骑、宠物等;
Ø 通过机器人或其它方法在场景中添加50个,记录帧数;
Ø 选择50个角色同时播放某技能,记录帧数;
Ø 通过上述模拟场景或其他场景测试的帧数结果,对结果进行分析,分析粒子特效对客户端帧数影响;
9、 场景物件:
目的:测试场景物件对客户端帧数的影响;
场景:一张有场景物件的地图、一张无场景物件的地图;
数量:1个角色模型;
方法:
Ø 选择无场景物件地图;
Ø 添加角色进入,记录客户端帧数;
Ø 选择有场景物件地图(记录物件面数及数量);
Ø 添加角色进入、记录客户端帧数;
Ø 统计结果、分析场景物件对客户端帧数影响;
10、 界面UI:
目的:测试影响界面UI对客户端帧数影响;(界面UI有时候会很影响客户端性能)
场景:无任何物件+无地表修饰物+视野开阔的地图,排除任何影响帧数因素,只要光秃秃的一张地图;
数量:1个角色模型
方法:
Ø 进入游戏,打开游戏部分界面,如背包,属性界面等;
Ø 记录客户端帧数;
Ø 通过程序协助或快捷键,把游戏所有界面UI进行屏蔽,不显示;
Ø 记录客户端帧数;
Ø 对比分析,界面UI对客户端帧数影响;
11、 内存消耗:
目的:
场景:
数量:
方法: