• GPA简介


    GPA(Graphics Performance Analyzers)是Intel公司提供的一款免费的跨平台性能分析工具。

    填写e-mail、name和country并提交后,就会收到一封有专属下载链接的邮件,点开之后,有3大os平台的GPA版本可供下载

    我本机是win7 64bit,于是下载gpa_17.2_release_312434_x64_standalone.msi    最新GPA版本简介

    GPA 2017 R2版本支持的平台及图形API

    宿主机(GPA所在机器 目标机(游戏所在机器) 图形API
    Windows* 7 SP1/8/8.1/10 Windows* 7 SP1/8/8.1/10 DirectX* 9/9Ex, 10.0/10.1, 11.0/11.1/11.2/11.3
    Windows* 10 Windows* 10 DirectX* 12, 12.1
    Windows* 7 SP1/8/8.1/10
    或者
    macOS* 10.11, 10.12
    或者
    Ubuntu* 16.04

    Android* 4.1, 4.2, 4.3, 4.4, 5.x, 6.0

    OpenGL* ES 1.0, 1.1, 2.0, 3.0, 3.1, 3.2
    Ubuntu* 16.04 Ubuntu* 16.04 OpenGL* 3.2, 3.3, 4.0, 4.1 Core Profile

    GPA的工具集关系如下:

    Graphics Monitor -- GPA最核心组件,其主要作用有:

                                   ①Hook目标进程,来实现游戏内hud绘制和快捷键、截帧、捕获trace、抓取cpu、gpu、图形api数据、执行实验选项等功能

                                   ②客户端必须启动Graphics Monitor并Hook目标进程,服务端的System Analyzer才能与客户端机器建立连接并获取进程各项数据指标

                                   ③必须启动Graphics Monitor,Graphics Frame Analyzer才能打开帧文件进行分析

                                   ④托盘快捷菜单可以快速拉起System Analyzer、Graphics Frame Analyzer、Platform Analyzer和Trace Analyzer工具

                                   ⑤通过Profiles和Preferences界面来进行GPA的各项设置

    Graphics Frame Analyzer -- 打开形如:MeshFromOBJ_2017_09_25__15_23_01_609.gpa_frame的帧文件进行gpu上各种消耗的细致分析

                                   ①使用API log显示出图形api的调用过程,并查看是否存在一些error或warning

                                   ②查看某个draw call在gpu消耗,颜色、深度、模板buffer,像素的alpha值及format

                                   ③执行一些实验选项来精确查看gpu消耗的减少情况

    Platform Analyzer -- 打开形如:MeshFromOBJ_2017_09_25__14_29_27_931.gpa_traceMeshFromOBJ_2017_09_25__14_29_27_931.gpa_trace.amplxe的trace文件来分析cpu与gpu协作工作及消耗的细节

                                   ①标识出cpu与gpu的帧边界

                                   ②依据时间线来review执行流程上的各段时间消耗

                                   ③查看gpu的任务队列、检查cpu利用率

                                   ④捕获时,目标进程在机器上cpu与gpu的消耗情况

    System Analyzer -- 支持本机与远程连接目标进程

                                   ①用良好的图形化界面显示建立连接的目标进程的cpu、gpu、图形api各项数据指标的曲线图

                                   ②在其图形化界面执行实验选项来快速确定是cpu还是gpu造成了性能瓶颈

                                   ③在其图形化界面上进行截帧和捕获trace

    Trace Analyzer -- 与Platform Analyzer一样,利用Trace Viewer For Google Chrome方式来可视化trace中cpu与gpu分析cpu与gpu协作工作及消耗的细节

                               打开形如:MeshFromOBJ_2017_09_25__14_39_01_887.sea的trace文件夹

    注1:启动Graphics Monitor后,等待弹出如下气泡时,再去操作Graphics Monitor,否则会引发卡死

    注2:点击Profiles面板Tracing标签页的Collection Settings按钮,来设置捕获那种类型的trace文件

    Graphics Monitor

    双击托盘中的Graphics Monitor图标会弹出Analyze Application对话框

    点击Analyze Application对话框中Manage按钮会弹出Profiles面板(或单击托盘中的Graphics Monitor图标,选择Profiles...)

    windows下,GPA有2种Hook D3D的方法:

    方法① 从Analyze Application中拉起一个D3D程序

               

    方法② 单击托盘中的Graphics Monitor图标,选择Preferences...,弹出如下对话框,勾选“Auto-detect launched applications”,

               

              此时会看到Graphics Monitor图标从蓝色变成绿色

              

              则后续启动的D3D程序都会成为被Hook目标(注:开了这个之后,会引发2010及以上版本的vs崩溃)

    若Profiles的HUD Options标签页的Display Mode没有选择Disable的话,就会在程序的窗口上看到GPA的HUD

    下图为gpasample.exe被Hook时的情况:

    注:877为当前帧的fps(1s / 当前帧的时间),526为过去1s内min fps(1s / 最耗时一帧的时间),951为过去1s内max fps(1s / 最快一帧的时间)

    看到了GPA的HUD表明程序已经被GPA成功Hook了,可以按Ctrl + Shift + C进行截帧,按Ctrl + Shift + T进行截取一段时间内(时长在Profiles的Tracing标签页中设置)的Trace

    截取的帧和Trace放置在“文档GPA”目录中

    若截取的帧的图像在Graphics Frame Analyzer中无法预览(状态栏右下角的进度条卡死无法完成),可能是显卡不兼容导致的,若有多个显卡(如:1个nVidia独显+1个Intel集显),可以切到另外一个显卡上重新截帧

    扩展阅读

    Intel Software youtube

  • 相关阅读:
    【转】java对File.listFiles()排序
    java 获取当前目录文件名
    python批量创建文件夹
    [好课推荐]数据结构与算法python实现
    SCI论文重复率与降重
    [转]一图搞定Matplotlib
    [GitHub寻宝]机器学习实战python3代码分享
    [好课推荐]人工智能实践:Tensorflow2.0
    [转]用深度学习给黑白照片上色
    java split函数分割字符串
  • 原文地址:https://www.cnblogs.com/kekec/p/7527071.html
Copyright © 2020-2023  润新知