cairo是一个2D库,在浏览器领域主要是mozilla firfox在用。

webkit实际上也有用到cairo,主要是efl,gtk等,但是在android上,webkit用的是skia。

因此在android要想用cairo就需要自己编译移植了。


android上有Bitmap,这个直接对应于cairo的image surface就可以用,

这个移植比较简单,主要是Bitmap是java的,cairo image surface是c++的,

所以要用到jni进行相应的交互调用,速度上还可以,以现在的arm频率,完全能满足非特效web。


2013年开始cairo对gles2的支持开始增加了,而且越来越好,

因此cairo也可以像skia一样直接调用gles2了。

但是要想在android上使用gles2,还需要主要两点:

1.cairo-gl-dispatch.c 需要直接调用的gles2的函数,不能中转

2.cairo-gl-shader.c 需要注意gles2对shader语言的限制比较多

在cairo直接调用gles2后,速度上提高不到,但是cpu占有小了很多,因此可以做一些web特效了。


更多相关文章

  1. Android中几种图像特效处理
  2. Android高手应该精通哪些内容?
  3. Android的多媒体数据库
  4. afinal快速开发框架
  5. Android高手应该精通哪些内容
  6. Cortex-A8和Android应用开发视频教程
  7. Android(安卓)Studio快捷键以及使用技巧——诺诺"涂鸦"记忆
  8. Android高手应该精通哪些内容
  9. Android中的横竖屏

随机推荐

  1. Android(安卓)RadioGroup中横向、竖向布
  2. Android之数据储存001
  3. [译]依赖反转在Android中的实践
  4. android 单选按钮组的使用
  5. Android(安卓)常用 adb 命令总结
  6. Android(安卓)Studio 快捷键
  7. android SystemClock设置系统时间需要sys
  8. Android(安卓)Studio 环境搭建 与相关问
  9. Xamarin.Android(安卓)上中下布局
  10. Android(安卓)三言两语