[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Gnash-dev] Cairo
Re: [Gnash-dev] Cairo
Wed, 16 Aug 2006 08:13:03 -0600
Thunderbird 22.214.171.124 (X11/20060808)
> we at Siemens VDO are investigating a Gnash port to an embedded device. One
> of the problems we ran into is the use of OpenGL which doesn't have
> sufficient performance when no hardware acceleration is available - even on
> the desktop. As we don't have hardware accelerated graphics on our device,
> software rendering will be used. We have played around with Mesa3D which
> turned out (surprise, surprise) to be too slow on our 266MHz device (and
While OpenGL is fine for the desktop, it's not suitable for most
embedded devices. Gnash supports multiple graphic backends, but
currently they're all oriented towards game machines with hot graphics.
This is why a Cairo backend was started, plus somebody is working on
direct framebuffer support. The few embedded devices (settop boxes)
people are currently running Gnash on have adequate enough graphics to
run OpenGL and Mesa.
We realize this isn't suitable for a true embedded device, so we're
slowly trying to modify Gnash to have a smaller footprint and need less
resources so it can run well on an embedded device. My main background
is working on embedded systems, so making Gnash work well in this
environment is a definite project goal.
> contributing quite an amount of footprint as well..). On top of this, the
> Gnash player needs to prepare its data (i.e. triangulate) before it can be
> used with OGL which gives an additional performance penalty.
OGL was mostly used because it was portable with good desktop
performance. We've been having some discussions lately about changing
this, but there aren't any plans yet to do so. Yet...
> We are therefore interested in using Cairo (possibly with some adaptations
> for embedded devices - but that we will have to investigate later on) and a
> Cairo-enabled Gnash. We are willing to put effort in helping designing and
> implementing the Cairo-enabled version of Gnash. I am interested in your
> opinions regarding the approach to take in this process - i.e. you may
> regard this mail as an invitation for a discussion ;-).
Cairo does offer 2D, hardware accelerated graphics. There currently is
a Cairo backend in progress, but currently nobody is working on
finishing it, mostly because we've been lately focusing on improving the
core player itself. (and working on implementing streaming audio and
video) The base code is all checked into CVS though, and there is
configuration support (--enable-renderer=cairo). What is there was a few
days work I believe, but is somewhat functional. Cairo also now has
framebuffer support, so it should be ok.
I'd be very curious about your ideas on other tweaks for embedded
platforms, as I have my own. :-) One idea is when using Gnash, you can
create custom ActionScript classes to handle devices on your platform.
These work a bit like a Flash based device driver. One of these days
we'd also like to analyze the memory footprint so it can also be reduced.
- rob -