» 您尚未登录:请 登录 | 注册 | 标签 | 帮助 | 小黑屋 |


发新话题
打印

强行进行GPU渲染的问题

posted by wap, platform: ZTE (U956)

看过太多似是而非甚至完全错误的解释,干脆写一个帖子说明一下自己比较常用的开发者选项的含义,先从误解最多的“强制进行GPU绘制”开始。
强制进行GPU绘制
了解Android开发的应该都清楚,Android的UI界面是通过Android开发框架库里面的Canvas(http://developer.android.com/reference/android/graphics/Canvas.html )绘制出来的。在1.x和2.x时代,Canvas的内部实现使用的是Skia图形库(https://code.google.com/p/skia/ ),它完全使用CPU进行绘制,也就是说UI界面每一个像素的颜色都是CPU计算出来的。
从3.x开始,Android通过hwui模块,为Canvas增加了另外一个实现 - OpenGLRenderer,顾名思义,就是通过OpenGL实现2D绘图,但是为了兼容性考虑,原来基于Skia的实现仍然被保留。
从4.x开始,在一个应用启动时,为应用创建的Canvas到底内部是使用OpenGL还是Skia,是按这样的规则决定的,针对4.x开发的应用默认使用OpenGL,针对2.x开发的应用默认使用Skia,但是应用在初始化的时候可以声明自己要使用硬件加速,也就是使用OpenGL。
也就是说一个针对2.x开发的应用可以在启动时自己开启硬件加速,但是如果它没有自己开启的话,默认是关闭的,而“强制进行GPU绘制”这个选项的意义就是“针对2.x开发的应用强制使用OpenGL”。


本帖最近评分记录

TOP

发新话题
     
官方公众号及微博