

前言:
随着全平台游戏/应用发行的浪潮,PC游戏/应用开发需求日益增长,PerfDog团队增加了对PC平台性能数据采集的支持,为PC研发工程提供稳定可行的性能测试方案。
注:部分游戏保护方案比较严苛,严禁三方工具,可能会造成无法测试或者游戏无法正常使用。
使用场景:
1)支持win11/win10/win8.1/win8/win7
2)支持DX9/DX11/DX12以及32位和64位游戏测试,若无FPS数据,可以根据项目DX类型自选DX版本测试
3)支持全应用测试,非游戏测试,暂无FPS、FrameTime和Render数据
使用步骤:
步骤一:打开PerfDog文件夹后,右键PerfDog.exe以管理员身份运行
步骤二:点击设备列表选项框,选择Windows设备
步骤三:启动需要测试的应用,以下步骤以“英雄联盟“为例
步骤四:选对目标测试进程,开始数据采集
步骤五:切换到测试进程,进行测试任务
步骤六:结束测试与上传数据
a)主动在客户端结束测试
b)关闭测试进程结束测试
c)框选数据,右击上传到云端
步骤七:使用快捷键Ctrl+R在目标进程窗口快速开始记录/保存数据(注:Recording即表示已开始记录)
PC常见问题:
1)根据项目DX类型自选DX版本测试
a) AUTO:自动识别目标应用使用的版本;
b) DX_9:目标应用DX类型为DX9;
c) DX_11:目标应用DX类型为DX11;
d) DX_12:目标应用DX类型为DX12。
2)自定义浮窗开启及样式:支持隐藏和显示浮窗,显示浮窗支持配置浮窗位置和字体颜色
浮窗开启方式:
浮窗样式:
3)常用快捷键自定义
指标介绍:
1、 FPS(1秒内游戏画面或者应用界面真实平均刷新次数,俗称帧率/FPS)
a) Avg(FPS):平均帧率(一段时间内平均FPS)
b) Var(FPS):帧率方差(一段时间内FPS方差)
c) Drop(FPS):降帧次数(平均每小时相邻两个FPS点下降大于8帧的次数)
d) Std(FPS):帧率标准差(一段时间内FPS标准差)
2、 Jank(1s内卡顿次数。详情可查阅帮助中心的Jank介绍)
a) BigJank:1s内严重卡顿次数
b) Jank(/10分钟):平均每10分钟卡顿次数。
c) BigJank(/10分钟):平均每10分钟严重卡顿次数
3、 SmallJank(微小卡顿,在Jank基础上对细微的卡顿进行捕捉)
4、 Smooth(稳帧指数,可对游戏或者应用画面平稳度更精准的评估)
5、 Stutter(测试过程中,卡顿时长的占比)
6、 FTime(上下帧画面显示时间间隔,即认为帧耗时)
a) Avg(FTime):平均帧耗时
b) Delta(FTime):增量耗时(平均每小时两帧之间时间差>100ms的次数)
c) Std(FTime):帧耗时标准差
d) Var(FTime):帧耗时方差
7、 CPU(进程CPU使用情况)
a) AppCPU:当前进程CPU使用率
b) AppUserCPU:当前进程用户空间执行CPU使用率
c) AppKernelCPU:当前进程内核空间执行CPU使用率
8、 Memory(进程内存使用情况)
a) WorkingSet:The working set of a process is the set of pages in the virtual address space of the process that are currently resident in physical memory.具体可参考https://learn.microsoft.com/en-us/windows/win32/memory/working-set
b) PrivateBytes:当前进程使用而保留的私有虚拟内存的数量
c) VirtualBytes:当前进程使用的所有的虚拟内存空间,包含共享,非共享,物理,页面,甚至为程序保留但还未分配的内存。
d) PageFaults:进程内存访问页异常次数
e) AvailableMemory:系统可用内存
9、 GPUUsage(GPU工作状态)
a) GTemp:GPU温度
b) AppGUsage3D:进程3D GPU引擎利用率
c) TotalGUsage3D:系统3D GPU引擎利用率
10、 GPU Memory Usage
a) AppDedicated:进程所使用的专用GPU内存
b) AppShared:进程所使用的共享GPU内存
c) Dedicated:系统所使用的专用GPU内存
d) Shared:系统所使用的共享GPU内存
11、 Render(测试目标进程渲染信息,支持dx9,dx11,dx12)
a) DrawCall:每帧调用draw次数
b) Primitive:每帧绘制的图元数量
12、 IO(进程IO操作统计,包括IO读和IO写操作)
a) IOReadCount:读取次数
b) IOReadBytes:读取字节数
c) IOWriteCount:写出次数
d) IOWriteBytes:写出字节数
13、 Thread(线程使用情况)
a) ThreadCount:当前进程的线程数
14、 Handle(进程句柄)
a) HandleCount:当前进程的句柄数量