Adreno Profiler分析高通GPU上Shader性能

    前面的文章有所过在Mali的GPU上采用DS-5 Streamline分析Shader在Mali T860上的执行性能。现在遇到一个问题在高通GPU上GLSL 从ES2.0升级到ES3.0以后就出现Shader性能的明显下降。在高通GPU上选择Adreno Profiler作为性能分析工具。

环境配置:

    下载地址:https://developer.qualcomm.com/software/adreno-gpu-profiler/tools

连接终端:

    确保adb可以正确connect上设备以后,点击Adreno Profilter左上角Connect按钮,运行待测试的目标应用程序。Connect对话框将出现如下状态:

    选择目标应用,进行Connect连接。

分析Shader:

    由于我们是要进行Shader的性能分析,因此是把目标机器作为一个Online的Compiler,高通没有提供类似ARM malisc那样的Offline Compiler,因此目前情况下必须通过Adreno Profiler连接真机作为Compiler。

    确保应用程序GPU在运行状态,点击Shader Analyzer,输入Vertex和Fragment Shader代码,代码下方就会列出当前Shader运行在目标机器上所需要的指令执行情况。

OpenGLES2.0 Vs OpenGLES3.0:

    由于ES3.0由于texelFetch可以直接采用目标x,y坐标取纹理操作,不用归一化到0.0-1.0的scale区间,因此可以避免大图像下去纹理的浮点数失真导致的误差。理论上也可以减少一次归一化的乘法操作。然而运行以后发现在高通的GPU上性能不升反降了。采用如上方法分析指令如下:

ES2.0:

ES3.0:

   分析发现在ES3.0上总体指令数量较ES2.0少了3个,算术ALU指令出现明显减少,和预期一致。但是No-Op Instructions出现明显增多。

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值