Android 显示系统:飞思卡尔平台图形界面与GPU硬件加速
图形是Android平台中的一个大主题,包含java/jni图形框架和2d/3d图形引擎(skia、OpenGL-ES、renderscript)。
本文档描述了飞思卡尔设备上的一般Android图形堆栈和UI特性。
1. Androidt图形堆栈
- 所有Android 3D应用和游戏都有如下图形堆栈:
- Android系统UI和所有应用程序UI遵循如下二维图形堆栈,硬件渲染将使用GPU HW OpenGL-ES 2.0加速二维UI,提高性能。
硬件加速可以在i.mx6上通过device/fsl/imx6/soc/imx6dq.mk设置关闭:
USE_OPENGL_RENDERER := false
然后重新编译frameworks/base/core/jni 替换 libandroid_runtime.so
- Surfaceflinger 负责显示层的合成, 然后为显示设备对应framebuffer生成数据,图像显示层来自 2D/3D 应用.
- Surfaceflinger中Hwcomposer是OpenGL-ES接口的替代模块,Hwcomposer用于合成供应商设备支持的特定界面。飞思卡尔 i.MX6设备使用GPU 2D合成大部分界面。使用GPU 2D代替GPU 3D可以降低系统功耗,典型的节电场景如:视频回放。
Hwcomposer使用GPU 2D,可以在运行游戏和基准测试时减轻GPU 3D负载,系统总体性能提高约20%。
2. 性能测量
- 显示FPS体现Android系统性能
如果是NFS启动,需要在init.freescale.rc 中设置 “setprop debug.sf.showfps 1” ,然后重启。
对于SD或EMMC启动方式,可以设置 “setprop debug.sf.showfps 1”,然后kill system_server来重置系统。
- 三维能力测量的图形基准
Quadrant
完整的测试基准包括CPU,内存,IO, 2D和3D
GLBenchmark
NenaMark2
https://market.android.com/details?id=se.nena.nenamark2
An3DBench
http://www.androidzoom.com/android_applications/tools/an3dbench_hnog.html
AnTutu
http://www.antutu.com/software.html
3DMark
http://www.futuremark.com/benchmarks/3dmark06/introduction/
- 浏览器的标准
http://www.webkit.org/perf/sunspider/sunspider.html
http://v8.googlecode.com/svn/data/benchmarks/current/run.html
http://www.craftymind.com/guimark2/
http://www.craftymind.com/factory/guimark/GUIMark_HTML4.html
http://themaninblue.com/writing/perspective/2010/03/22/
Android 显示系统:飞思卡尔平台图形界面与GPU硬件加速的更多相关文章
- Android 显示系统:SurfaceFlinger详解
一.Android系统启动 Android设备从按下开机键到桌面显示画面,大致过程如下图流程: 开机显示桌面.从桌面点击 App 图标到 Activity显示在屏幕上的过程又是怎样的呢?下面介绍And ...
- 11.1 Android显示系统框架_framebuffer原理及改进
1. Android显示系统框架Android Graphic UI with GPU Hardware Accelerationhttps://community.nxp.com/docs/DOC- ...
- Android 显示系统:OpenGL简介和Gralloc代码分析
一.OpenGL ES与EGL Android的GUI系统是基于OpenGL/EGL来实现的. 由于OpenGL是通用函数库,在不同平台系统上需要被“本土化”——把它与具体平台的窗口系统建立起关联,F ...
- 11.5 Android显示系统框架_Vsync机制_黄油计划_三个方法改进显示系统
5. Vsync机制5.1 黄油计划_三个方法改进显示系统vsync, triple buffering, vsync虚拟化 参考文档:林学森 <深入理解Android内核设计思想>第2版 ...
- Android 显示系统:Vsync机制
一.Vsync简介: 屏幕的刷新过程是每一行从左到右(行刷新,水平刷新,Horizontal Scanning),从上到下(屏幕刷新,垂直刷新,Vertical Scanning).当整个屏幕刷新完毕 ...
- Android调用系统自带的设置界面
Android有很多系统自带的设置界面,如设置声音,设置网络等. 在开发中可以调用这些系统自带的设置界面. 点击以下列表中的选项,就可以调出相应的系统自带的设置界面. 如点击“无线和网络设置”,可以调 ...
- CentOS最小化系统,怎么安装图形界面
CentOS最小化系统做服务器,都是没有图形界面的.很多初学者不习惯命令行操作,那么应该怎么安装图形界面?本经验咗嚛以centos6.5系统为例 方法步骤: 首先进入centos系统界面,先测 ...
- CentOS 7 系统下安装gnome图形界面
在安装Gnome 包之前,我们需要先检查下安装源是否正常,因为我们要通过yum命令来安装gnome包, 而yum命令式通过yum 源来下载安装包的. 1.在命令行下输入下面的命令来安装 Gnome 包 ...
- Android Studio 使用笔记:在图形界面使用 Gradle 配置项目所需jar包
在 Android Studio 中使用第三方 jar 包,可以直接下载后添加到项目中,也可以使用 Gradle 配置进行管理.图形界面下十分简单. 点击下图中间的图标,或者选中 Model ,按F4 ...
随机推荐
- tcp关闭连接:挥手讨论
讨论焦点: 如果client发送FIN后,服务器端未返回完成的数据(缓存区中)还执行返回吗? 参考文档:https://download.csdn.net/download/u013547552/10 ...
- DNS原理极限剖析
how does DNS server work DNS Root Servers: The most critical infrastructure on the internet What is ...
- RT-Thread--内核基础
内核介绍 内核处于硬件层之上,内核部分包括内核库.实时内核实现. 实时内核的实现包括:对象管理.线程管理及调度器.线程间通信管理.时钟管理及内存管理等等,内核最小的资源占用情况是 3KB ROM,1. ...
- 使用java中的反射获得object对象的属性值
知识点:使用java中的反射获得object对象的属性值 一:场景 这两天开发代码时,调用别人的后台接口,返回值为Object对象(json形式的),我想获得object中指定的属性值,没有对应的ge ...
- Java基础 线程的通信的三个方法/ 交替数数线程 / 生产者&消费者线程问题
线程通讯笔记: /** 线程通信 三个方法: * wait(): 调用该方法 是该调用的方法的线程释放共享资源的锁,进入等待状态,直至被唤醒 * notify() : 可以唤醒队列中的第一个等待同一共 ...
- 4.使用webpack-dev-server工具实现自动打包编译的功能
使用webpack-dev-server这个工具,来实现自动打包编译的功能 1.运行 npm i webpack-dev-server -D 把这个工具安装到项目的本地开发依赖 或者运行 cnpm i ...
- Docker 退出不关闭容器以及保存日志到本地
Docker保存日志到本地 docker logs +你需要添加的额外参数 + 容器id > 文件名称 然后查看这个文件就可以了,也可以通过ftp协议下载到本地 Docker退出容器不关闭容器的 ...
- keil结合st-link使用SWO的两种调试方法笔记
通过strongerHuang的教程,实现了SWO的两种调试方法, 1.在keil调试的过程中,使用debug printf viewer打印信息, 2.在STM32 ST-LINK Utility中 ...
- JS 框架安全报告:jQuery 下载次数超过 1.2 亿次
尽管 JavaScript 库 jQuery 仍被使用,但它已不再像以前那样流行.根据开源安全平台 Snyk 统计,目前至少十分之六的网站受到 jQuery XSS 漏洞的影响,甚至用于扩展 jQue ...
- pycharm分辨率&清晰度
三个月前换了新电脑,安装pycharm.又换了新的大屏幕. pycharm界面拖到大屏上时,字大小和字体都没有变化,清晰度低了很多,就像打了一层薄薄的马赛克一样.拖回到原本的屏幕又清晰了. 一直以为是 ...