首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Android图形内部

Android图形内部
EN

Stack Overflow用户
提问于 2011-01-02 17:35:19
回答 4查看 26.1K关注 0票数 45

我还没有找到关于Android图形系统工作原理的明确解释,具体而言,它是否使用显示服务器,是基于DirectFB还是基于X11等等。

从我努力拼凑的情况来看,安卓依赖于Linux帧缓冲区。不过,我还没有发现什么类型的显示服务器或窗口管理器 Android用于多路访问框架缓冲区,所以任何指针都会非常感谢!

最后,据我所知,ARM指令集提供了加速OpenGL的指令,但这与显示服务器的集成方式尚不清楚。客户端应用程序是否协商一个共享内存缓冲区,客户端直接写入该缓冲区?

平台加速器的OpenGL库是开源的吗?我发现了一些暗示它们是封闭源二进制文件的参考资料。再一次,任何指示都将不胜感激。

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2011-02-15 17:38:23

安卓图形有两个核心部分: SurfaceFlinger和Skia。SurfaceFlinger是Android的排序器,由窗口管理器用来创建和显示窗口(实际上称为曲面)。SurfaceFlinger目前是在OpenGL ES 1.x之上实现的,在可用时还可以使用其他硬件加速技术(MDP、the G1上的2D闪存或Xoom上的硬件覆盖)。

每个应用程序主要使用Skia将其呈现到其窗口(或表面)中。Skia是Android的2D图形库。您还可以使用OpenGL es1.x和2.0将其渲染到曲面中。

安卓不使用DirectFB或X11或任何其他现有的Linux解决方案。

票数 46
EN

Stack Overflow用户

发布于 2012-01-05 08:21:00

票数 10
EN

Stack Overflow用户

发布于 2013-03-08 05:34:51

罗曼·盖伊绝对是对的。但是自从Android3.0之后,事情发生了变化。Skia不再那么重要了,大多数2D绘图都是使用openGL (也就是HWUI组件)加速绘制的。

票数 6
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4579573

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档