大家有没有用过ARGB格式的framebuffer?
默认android是使用的RGB565格式的,这个效果太差了。我尝试着修改eglDisplaySurface(donut上),以及在froyo上直接使用ARGB格式两个版本上,出现的问题一样:大部分界面是正确的, 但是statusbar是黑色的,我查看了下,黑色是因为这快数据的alpha channel都是0。
不知道各位有没有遇到类似的问题?

解决方案 »

  1.   

    还没遇到过这个情况,alpha为0那就是不起左右了,相当于RGB
      

  2.   

    两个版本上,出现的问题一样:大部分界面是正确的, 但是statusbar是黑色的,我查看了下,黑色是因为这快数据的alpha channel都是0。ARGB的华最终还是要转化为RGB,需要自己Blend一下,呵呵
      

  3.   

    呵呵, 老大啊,framebuffer是ARGB的。可能各家厂商的驱动不一样吧, 但是我想display的硬件都是支持几个layer的,layer之间是通过硬件来blending的。目前我们的是用了两个,android目前只使用其中的一个layer。 还有一个给video显示yuv数据。
    当然android的是ARGB格式的, 其可以和video通过硬件来做alpha blending,非常方便做半透等效果。问题是,没有播放视频的时候, video是黑色的。而android输出出来的,只有RGB数据时正确的,一些地方的alpha channel为0,这样就只能看到黑色的部分了
      

  4.   

    framebuffer根据驱动设置的,不过我得出的规律是,模拟器都是RGB565,针剂在2.0以后都是ARGB,不过2.2这个顺序又有了点变化。