MTK平台 GPU 相关知识
一.什么是Render script,以及mtk平台GPU support情况
1.什么是RenderScript ?
2.RenderScript 干什么?
3.MTK平台GPU support状况?
1.什么是RenderScript
RenderScript 是一种低级的高性能编程语言,提供了一套API,封装了着色器语言的使用和配置, 用于3D渲染和处理密集型计算
2.RenderScript 干什么?
a. 帮助书写更加高效的OpenGL程序
b.利用GPU的计算能力 ,可以让APP使用到GPU來做一些数学运算并加速,因为GPU的并行运算能力会比CPU 高。GPU和CPU的浮点计算能力差异的原因是:GPU是特别为计算密集,高并行度计算设计的,因此将有更多晶体管用于数据处理而不是数据缓存和流量控制
3.MTK平台GPU support状况?
MT6572 Mali-400 / MT6582 Mali-400 MP2 / MT6588, MT6592 Mali-450 MP4 均不support,
power VR也之后95/K2平台才有support该选项
二. 如何使用pvr tune工具分析GPU性能
0 CPU load;
9 SGX task load: 3D core
10 SGX task load: TA core


B:红线框出来的部分表示当时的PID 8513的frame rate为50.并且一直处于变化之中。
三.在开发者选项中,什么是4x MSAA和如何使用GPU呈现模式分析
4x MSAA: 多重取样抗锯齿模式,处理模型最外层的多边形单元,对边缘进行4倍的放大处理,然后进行边缘模糊过渡算法,有效改善边缘锯齿作用。
GPU呈现模式分析:
以launcher为例:勾选了上述“GPU呈现模式分析”之后,输入如下命令
adb shell kill -9 pid_of_launcher
这时launcher会重启,重启完了之后,你就开始滑动桌面,操作几次之后,再下如下命令
adb shell dumpsys gfxinfo pid_of_launcher >launcher_gfxinfo.txt
打开launcher_gfxinfo.txt,如下所示:
Profile data in ms:
Draw Process Execute
25.00 15.70 8.53
......
这些数据就是GPU呈现时间:
draw: view system draw所耗费的时间,主要是在遍历view tree,跑每个view的onDraw方法所用的时间。
Process:HWUI 去 draw view tree的所有displaylist所用的时间 。
Execute:eglSwapBuffer所耗费的时间,这个可以理解成GPU绘制所用的时间
四.什么是OpenCL以及mtk平台支持情况
五.GPU参数理解:
– SGX544, 286MHz
– 50.05M tri/sec and max. 572M pixel/sec
SGX544: Imagination Technologies PowerVR SGX Serial GPU
286MHz: GPU Frequency
D/s or tri/sec: Triangle fill rate /Texel fill rate, 多边形填充率/纹理填充率
Pixel/s: Pixel fill rate,像素填充率
Note1:多边形生成率即3D GPU每秒能画出多少骨架(三角形),由于3D贴图,效果渲染都需要在这些骨架上进行。所以多边形生成率越高,3D芯片/卡能提供的画面越细腻;
Note2:像素填充率, 即每秒钟GPU能在输出的画面上画出的点的数量
举例来说,如果你将屏幕分辩率高在800X600。则在屏幕上构成每幅图像均需800X600=480000像素。再以每项秒钟屏幕刷新60次算,在此分辩率下所需的最小像素填充率即为60X800X600=两千八百八十万像素/秒。
可以通过adb获取gpu一些信息.
adb shell cat /proc/gpufreq/gpufreq_opp_dump
六.在分析画面异常问题时,有时需要抓取OpenGLES log,以便分析送给GPU的指令流是怎么样的?
MTK平台 GPU 相关知识的更多相关文章
- 关于MTK平台CC相关的Log查询
关于MTK平台CC相关的Log查询 在外场问题中,经常会出现通话相关的故障.这里简单总结一下通话相关log的分析点: 主叫方:主叫方,是指主动发起通话的一方. 初步定位问题, 用户发起通话时,AP端的 ...
- MTK 平台上查询当前使用的摄像头模组及所支持预览分辨率
1,MTK 平台如何查询当前使用的是哪颗摄像头及相关的模组信息? 在该目录下可以查到当前平台及相关项目的配置文件 ProjectConfig.mk \ALPS.JB.MP.V1_W_20120919\ ...
- HTML入门基础教程相关知识
HTML入门基础教程 html是什么,什么是html通俗解答: html是hypertext markup language的缩写,即超文本标记语言.html是用于创建可从一个平台移植到另一平台的超文 ...
- 引用 字库编码Unicode相关知识
引用 weifeng.shen 的 字库编码Unicode相关知识 1. 各地编码 首先说明一下现在常用的一些编码方案: 1. 在中国,大陆最常用的就是GBK18030编码, ...
- 关于MTK平台SIM-ME Lock的配置方案
针对一些运营商的锁网需求,MTK平台已经对其有很好的支持.绝大多数的海外需求可以通过直接配置相关文件来完成.这里简单描述一下配置方法,不做原理分析. 相关数据结构分析: Modem中与SML锁网配置相 ...
- MTK平台Android项目APK预置方案
项目开发中,通常需要向系统中预置一些APK,这里简单介绍一下MTK平台预置APK的方法. 需要预置的apk可以放置在目录:vendor/mediate/${Project}/artifacts/out ...
- LDA模型了解及相关知识
什么是LDA? LDA是基于贝叶斯模型的,涉及到贝叶斯模型离不开“先验分布”,“数据(似然)”和"后验分布"三块.贝叶斯相关知识:先验分布 + 数据(似然)= 后验分布. 贝叶斯模 ...
- podSpec文件相关知识整理
上一篇文章整理了我用SVN创建私有库的过程,本文将整理一下有关podSpec文件的相关知识. podSpec中spec的全称是“Specification”,说明书的意思.顾名思义,这是用来描述你这个 ...
- X86 寻址方式、AT&T 汇编语言相关知识、AT&T 与 Intel 汇编语言的比较、gcc 嵌入式汇编
注:本分类下文章大多整理自<深入分析linux内核源代码>一书,另有参考其他一些资料如<linux内核完全剖析>.<linux c 编程一站式学习>等,只是为了更好 ...
随机推荐
- android 系统的时间间隔和睡眠用哪个?
原文 : https://developer.android.com/reference/android/os/SystemClock.html SystemClock.elapsedRealtime ...
- UML 顺序图(转载)
顺序图精确表达用户与系统的复杂交互过程. 顺序图用于描述进出系统的信息流. 顺序图与协作图是同构的,可以互相转换!!! 顺序图:着重体现对象间消息传递的时间顺序.顺序图允许直观的表示出对象的生存期,生 ...
- 关于Swing中JFrame等顶级容器的层次还有设置背景的方式
资料来自:http://blog.csdn.net/qq_32006373/article/details/49659129 http://yuncode.net/code/c_5196327caac ...
- 表单里的button默认是submit类型
今天很坑爹,周六一大早加班开始码代码,本来想做数据加密测试,于是乎用tp框架搭建了一个应用环境,二话不说,开始码码. 但,今天一大早就栽坑!直到同事喊吃饭还在坑里出不来!吃完饭继续码,最后码的我想哭o ...
- MySQL——sql注入
https://blog.csdn.net/lin_tuer/article/details/54809330 https://github.com/mysqljs/mysql#escaping-qu ...
- JavaScript——max-age
https://zhidao.baidu.com/question/391047416053664205.html 页面优化方式之一,延长过期时间.默认max-age=0
- PHP流程控制考察点
php遍历数组的三种方法及各自的区别 php遍历数组的方式主要有三种: for循环 foreach循环 while.list().each()组合循环 其中: for循环只能遍历索引数组,foreac ...
- 集成新版(5.17+)Activiti Modeler与Rest服务
声明: 此教程适合Activiti 5.17+版本. 本博客所涉及的内容均可在kft-activiti-demo中找到. 在线demo可以访问 http://demo.kafeitu.me:8080/ ...
- vue 发布build 本地设置 相对路径 两个地方 一个根目录用./ css文件里面用../../ 【也不好用,还是得手改】
build: { // Template for index.html index: path.resolve(__dirname, '../dist/index.html'), // Paths a ...
- C# 如何发送Http请求
HttpSender是一个用于发送Http消息的轻量C#库,使用非常简单,只需要一两行代码,就能完成Http请求的发送 使用 Nuget,搜索 HttpSender 就能找到这个库 这个库的命名空间是 ...