图形是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

http://www.glbenchmark.com/

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硬件加速的更多相关文章

  1. Android 显示系统:SurfaceFlinger详解

    一.Android系统启动 Android设备从按下开机键到桌面显示画面,大致过程如下图流程: 开机显示桌面.从桌面点击 App 图标到 Activity显示在屏幕上的过程又是怎样的呢?下面介绍And ...

  2. 11.1 Android显示系统框架_framebuffer原理及改进

    1. Android显示系统框架Android Graphic UI with GPU Hardware Accelerationhttps://community.nxp.com/docs/DOC- ...

  3. Android 显示系统:OpenGL简介和Gralloc代码分析

    一.OpenGL ES与EGL Android的GUI系统是基于OpenGL/EGL来实现的. 由于OpenGL是通用函数库,在不同平台系统上需要被“本土化”——把它与具体平台的窗口系统建立起关联,F ...

  4. 11.5 Android显示系统框架_Vsync机制_黄油计划_三个方法改进显示系统

    5. Vsync机制5.1 黄油计划_三个方法改进显示系统vsync, triple buffering, vsync虚拟化 参考文档:林学森 <深入理解Android内核设计思想>第2版 ...

  5. Android 显示系统:Vsync机制

    一.Vsync简介: 屏幕的刷新过程是每一行从左到右(行刷新,水平刷新,Horizontal Scanning),从上到下(屏幕刷新,垂直刷新,Vertical Scanning).当整个屏幕刷新完毕 ...

  6. Android调用系统自带的设置界面

    Android有很多系统自带的设置界面,如设置声音,设置网络等. 在开发中可以调用这些系统自带的设置界面. 点击以下列表中的选项,就可以调出相应的系统自带的设置界面. 如点击“无线和网络设置”,可以调 ...

  7. CentOS最小化系统,怎么安装图形界面

    CentOS最小化系统做服务器,都是没有图形界面的.很多初学者不习惯命令行操作,那么应该怎么安装图形界面?本经验咗嚛以centos6.5系统为例   方法步骤:   首先进入centos系统界面,先测 ...

  8. CentOS 7 系统下安装gnome图形界面

    在安装Gnome 包之前,我们需要先检查下安装源是否正常,因为我们要通过yum命令来安装gnome包, 而yum命令式通过yum 源来下载安装包的. 1.在命令行下输入下面的命令来安装 Gnome 包 ...

  9. Android Studio 使用笔记:在图形界面使用 Gradle 配置项目所需jar包

    在 Android Studio 中使用第三方 jar 包,可以直接下载后添加到项目中,也可以使用 Gradle 配置进行管理.图形界面下十分简单. 点击下图中间的图标,或者选中 Model ,按F4 ...

随机推荐

  1. selenium网页截图和截图定位(无界面)phantomjs

    phantomjs是一款软件,需要重新安装. 参考: https://blog.csdn.net/liyahui_3163/article/details/79064108 案例代码: from se ...

  2. Free lunch is over

    译文:http://www.mamicode.com/info-detail-1324737.html 原文:http://www.gotw.ca/publications/concurrency-d ...

  3. python链接sql server 乱码问题

    import pymssql import sys import os reload(sys) sys.setdefaultencoding('utf-8') os.environ['NLS_LANG ...

  4. redis过期机制及排行榜

    redis 内存数据集大小上升到一定大小的时候,就会施行数据淘汰策略.redis 提供 6种数据淘汰策略:  volatile-lru:从已设置过期时间的数据集(server.db[i].expire ...

  5. 图像Image类、打印Printing相关

    一.Images 1.概述 Image 类为Bitmap(位图) 和 Metafile(矢量图) 的类提供功能的抽象基类.Image类不能直接创建对象的,但Image.FromFile()返回的是Bi ...

  6. Python3基础学习-while循环实例- 猜数字游戏

    需求: 猜数字游戏, 要求如下: 给个数字, 比如是66. 让用户一直猜,直到猜对退出. 中间输入q或Q也能退出 如果猜大了,提示用户猜小一点; 如果猜小了,提示用户猜大一点; likely = 66 ...

  7. CentOS7安装Ambari2.7.4过程【离线安装】

    先配置免密码登录 修改所有结点的host 192.168.210.133 node1 192.168.210.134 node2 192.168.210.135 node3 192.168.210.1 ...

  8. SP703 SERVICE - Mobile Service

    思路:DP 提交:1次 题解: 我们把处理到的要求作为阶段. \(f[i][x][y][z]\)表示第 \(i\) 个要求,三个人分别的位置. 发现这样有很多无用状态,因为显然在第 \(i\) 个要求 ...

  9. Web应用运行原理

    web应用启动做了什么? 读取web.xml文件   - web.xml常用配置参数: 1).context-param(上下文参数)2).listener(监听器配置参数)3).filter(过滤器 ...

  10. @Component,@Service,@Controller,@Repository

    1.@controller 控制器(注入服务) 2.@service 服务(注入dao) 3.@repository dao(实现dao访问) 4.@component (把普通pojo实例化到spr ...