博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
游戏性能指标
阅读量:7256 次
发布时间:2019-06-29

本文共 1709 字,大约阅读时间需要 5 分钟。

对不同主流机器(一般来自TOP20配置,覆盖90%以上的设备)根据不同硬件能力建立高、中、低等多档性能指标,游戏按照该指标对应多个画质选项进行适配。

CPU负载:一帧内执行的指令数

GPU负载:一帧内执行的shader指令数

FPS:游戏每秒运行的帧数

① GPU瓶颈

影响因素有:DrawCall数、shader复杂度、纹理采样、透明物件、OverDraw、RenderState频繁切换

使用GPA等进行截帧分析

② CPU瓶颈

影响因素有:游戏逻辑、剔除算法、Cache Missing

使用VTune等进行函数耗时分析

③ 传输瓶颈

影响因素有:VBO(Vertex Buffer Object)顶点数据量

内存:包括虚拟内存和物理内存

① 虚拟内存

Private Bytes  // 进程Committed的虚拟内存字节数    对应win7任务管理器中的【提交大小】,资源管理器中的【提交】

Peak Private Bytes  // 进程Committed的虚拟内存的最高峰字节数

Virtual Size // 进程Reserved的虚拟地址空间字节数

Page Faults  // 发生过的缺页中断次数    对应win7任务管理器中的【页面错误】

虚拟内存地址空间碎片  // 不可用的虚拟内存空间,造成的原因有:

                                a. windows保留虚拟地址空间起始地址必须是系统分配粒度的整数倍(64KB),大小必须是系统页面大小的整数倍(4KB)

                                b. windows提交虚拟地址空间起始地址和大小必须是系统页面大小的整数倍(4KB)

② 物理内存

Working Set = WS Private + WS Shareable  // 进程占用物理内存总字节数  对应win7任务管理器中的【工作设置(内存)】,资源管理器中的【工作集】

     WS Private // 进程独享的物理内存字节数(如:堆内存+栈内存+cow机制创建的内存)   对应win7任务管理器中的【内存(专用工作集)】,资源管理器中的【专用】

     WS Shareable  // 进程可与其他进程共享的物理内存字节数(如:exe及dll代码段、数据段等)  对应win7资源管理器中的【可共享】

     WS Shared  // 进程已与其他进程共享的物理内存字节数,WS Shared<=WS Shareable

                         // 若只启动一个exe实例,那么exe的代码段、数据段等不会被共享,因而就不统计在WS Shared中

Peak Working Set // 物理内存的最高峰字节数  对应win7任务管理器中的【峰值工作设置(内存)】

物理内存碎片:// 不可用的物理内存,包括内部碎片(能明确指出属于哪个进程)和外部碎片(不属于任何进程)。

                         内部碎片 --  对象

                         外部碎片 --  与页面分配算法有关,频繁的分配与回收内存会导致大量的、连续且小的页面块夹杂在已分配的页面中间

③ 托管内存:

函数级别GC Alloc大小与次数

④ 内存相关的问题

a. 32位系统虚拟内存地址空间不足 

b. 内存泄漏 

c. 托管内存用完引用不释放导致无法被gc回收 

d. 频繁的GC Alloc引发性能问题 

e. 内存碎片

f. 内存越界(栈溢出、堆破坏等)

资源

资源管理、资源重复率、资源大小、资源动态下载、资源加载卡顿、资源句柄泄露

显存:纹理、VBO、shader

手游特有指标:

弱网络:由于网络制式(2G/3G/4G/wifi)之间网速差异大,用户地理位置变动使得网络发生切换,信号被遮挡后强度减弱,人口密集区网络拥塞严重,从而导致网络出现抖动、延时、丢包,甚至断线

具体应对措施:客户端超时重发(每条消息都带唯一ID)、心跳包探测、断线重连(简化登录鉴权,不用走完整登录流程)、客户端发生crash下次进入提示重回;服务器延迟下线机制

流量:单位时间内通过网卡的数据总量

具体应对措施:a. 紧凑协议结构 b. 去掉本地可以计算得到的数据  c. 协议压缩  d. 协议合并  e. 按照优先级来设定不同包的发送频率

电量:单位时间内消耗的电荷数量

温度:手机发烫程度

 

转载地址:http://bepdm.baihongyu.com/

你可能感兴趣的文章
iOS导航栏-导航栏透明
查看>>
iOS UITableView侧滑删除
查看>>
斯坦福 CS224n 中文笔记整理活动 | ApacheCN
查看>>
xcode 更新svn/Git后发现模拟器显示No Scheme问题
查看>>
[Hdu1693]Eat the Trees(插头DP)
查看>>
转行程序员深漂的这三年 #4
查看>>
jquery滚动条插件slimScroll
查看>>
1798: [Ahoi2009]Seq 维护序列seq
查看>>
3408: [Usaco2009 Oct]Heat Wave 热浪
查看>>
3856: Monster
查看>>
iOS-设计模式简析
查看>>
postman Runner配置
查看>>
阿里、网易、滴滴共十次前端面试碰到的问题
查看>>
【BZOJ】1798: [Ahoi2009]Seq 维护序列seq 线段树多标记(区间加+区间乘)
查看>>
大型项目前端架构详谈(1)纯前端发布
查看>>
【BZOJ】1704: [Usaco2007 Mar]Face The Right Way 自动转身机
查看>>
我的公众号
查看>>
Mysql 相关操作
查看>>
Android 2.0 开机动画文件分析
查看>>
django1.11
查看>>