On 5/2/07, Michael Trimarchi <[EMAIL PROTECTED]> wrote: > Right now the gdk backend is pretty much hard coded to use a ARGB surface > > also the directfb Cairo backend does not work well unless the surface > > is RGB/ARGB. > If I wanto to use the RGB16_565 I must add support in the > cairo-directfb-surface?
For performance its a matter of ensuring that all the common cairo ops can be converted to directfb ops for a particular surface type the exact type is not important. If you look at the cairo binding you will see that a lot of this code is already in. Just its broken. > > For overall performance the current setup is the best one reason its > > not been changed. > What the solution for an embedded device that use the RGB16_565 format? > Turn on the acceleration defines in the cairo back end fix any bugs that effect your usage send patches to the directfb list. If your lucky you won't hit cases that have artifacts. You should grab the git heads of both cairo and directfb for this or at least the latest releases. You have a pretty good chance of it working if you don't try to do complex cairo ops on a directfb-cairo surface. The directfb team is aware of this issue and Dennis is looking into the issues of hardware acceleration primitives needed to support cairo. The reason work stopped is that the current directfb ops don't map well to cairo to make it really work directfb primitives need to be extended to support cairo Xrender has many of the same issues. Further down the food chain the actual hardware acceleration support for 2D operations is just now supporting advanced 2D rendering so even with a optimized implementation only the most recent chipsets will work. I your case I'd be surprised if you get a lot of performance gains unless you have a good directfb driver. If you chipset has support for acceleration in Xrender you can use that as a guide. Since you said your doing embedded work getting good performance from cairo is tough and embedded even harder Nokia has funded optimizing cairo/xrender for the ARM and it still has a long way to go. The easy way out. If you have a 3D chipset cairo/glitz/opengl/directfb will probably give you the best performance this would be directfb on top of glitz to drive gdk. I've not looked at the way directfb/opengl interact. If not directfb/opengl does not use the 3D hardware for dfb then dfb on glitz is easy if you use the cairo glitz driver as a guide. Sorry for the long email but your stepping into a area that is full of land mines good luck. What you want is not trivial. > Regards Michael > > _______________________________________________ gtk-devel-list mailing list gtk-devel-list@gnome.org http://mail.gnome.org/mailman/listinfo/gtk-devel-list