来自Google的Android工程师Dianne Hackborn写的,原意是反驳一些关于android和ios的对比(主要是对于graphic performance),后来也引起了很多的讨论。原文在Google+上,在中国境内无法访问。 Continue reading [转]2篇关于Android Graphics的文章-By Dianne Hackborn
Category Archives: Android
Android中的EGL扩展
Google在Android中对egl做了一些扩展,让整个显示渲染的软件体系运行地更加有效率。在我们分析,修改SurfaceFlinger代码的过程中,经常可以看到这些egl扩展相关的代码,比如android native fence, KHR image等等。虽然跳过这些内容对理解SurfaceFlinger本身影响并不大,但是在阅读代码时,每次看到这些”小石头”,心理总不很舒服。因此,稍微花了一些时间,找了一些KHRONOS的文档,结合SurfaceFlinger源代码,大致对这些EGL扩展做了一点点基本的了解。 Continue reading Android中的EGL扩展
搭建ARM DS-5 Streamline
ARM DS-5(Development Studio 5)是ARM公司为应用程序开发人员、设置制造商和芯片供应商提供的软件开发套件。除了编译,链接工具之外,ARM还提供了一个非常酷的性能调试工具:Streamline。 Continue reading 搭建ARM DS-5 Streamline
Android Framework(内置应用)调试
当我们需要调试Framework部分的代码时(Java部分),使用Eclipse是一个非常方便的选择。
这里就一步步地介绍如何在Eclipse上setup一个Android Framework的调试环境。 Continue reading Android Framework(内置应用)调试
使用GDB调试Native库
无论是Android, 还是FxOS。GDB都是调试Native程序的好帮手。这里以SurfaceFlinger为例,简单介绍Android+MTK平台的GDB设置步骤和常用的调试技巧。 Continue reading 使用GDB调试Native库
通过打印DisplayList调试graphics性能
在调试graphic,尤其是动画的性能问题时,我们通常采用traceview或者systrace进行分析。这两个工具各自有适合的问题类型:
如果是程序逻辑导致graphics缓慢,比如缓慢的数据库访问,进程间通讯等等的,那么traceview+dmtracedump是最有效的。
如果是由于绘画本身导致动画缓慢,那么问题就复杂一些了,原因可能是各式各样的:
Continue reading 通过打印DisplayList调试graphics性能
Google IO Video Collections
2013
[UI] Android Grphics Performance
[UI] Writing Custom Views for Android
[UI] A Moving Experience
[RenderScript] High Performance Application with RenderScript
[App Tips] Taking Advantage of Android Platform Features
[App Tips] Making Apps Working Like Magic
[Audio] High Performance Audio
Continue reading Google IO Video Collections
Android 高性能图形处理 之 二. OpenGL ES
在之前的介绍中我们说到在Android 4.2上使用RenderScript有诸多限制,我们于是尝试改用OpenGL ES 2.0来实现滤镜。本文不详细介绍OpenGL ES的规范以及组成部分 Continue reading Android 高性能图形处理 之 二. OpenGL ES
Android 高性能图形处理 之 一. RenderScript
前几天收到产品经理的一个新需求,要求在下一代的8核CPU的产品上实现 照相机的实时滤镜效果。且必须 8个(或以上)滤镜同时显示。
拿到需求,首先参考了下竞品以及主流的照相/图片处理应用,发现大部分的应用都是采取静态的图片处理,即拍完照之后再进行处理,比如meitu, camera 360(v4.6)等等 Continue reading Android 高性能图形处理 之 一. RenderScript
使用traceview+dmtracedump快速定位性能问题
今天和同事调试一个Gallery的动画性能问题。一上来还是老套路,上systrace。可是systrace并没有提供足够多的信息,只能看到从dispatchInputEvent()到最后的draw()花去了几百毫秒。于是改用traceview,意外地发现android sdk中自带了一个名叫dmtracedump的工具,配合traceview一起使用,功能强大且使用方便,可以帮助迅速地定位性能问题。 Continue reading 使用traceview+dmtracedump快速定位性能问题