[Bf-committers] Web Plugin Status #2

Enrico Fracasso enrico.fracasso at email.it
Fri Aug 22 01:26:53 CEST 2008


On Thu, Aug 21, 2008 at 22:35, Marcelo Coraça de Freitas
<mfreitas at ydeasolutions.com.br> wrote:
> Hello all,
>
>        The Web plugin for netscape is working now. :)
>
>        I only tested it under gentoo linux with mozilla firefox and there are
> some issues.
>
>                1. There can be only one instance of the plugin.
>                2. It's very slow.
>                3. No shaders.
>                4. A random "Xlib: unexpected async reply" error occurs.
>
>
>        #1 will require not only plugin changes but also Ketsji modifications
> as there are some global variables being used in the code unless we fork
> the plugin instance.
>        I believe #2 and #3 are related - once I got one fixed the other fix
> will come with it.
>        I don't know about #4 yet. It gotta be some part of the plugin that's
> running outside the lock. I believe it can be fixed as soon as we
> isolate the problem.
>
>
>        Most probably we'll be able to fix all those bugs forking the plugin
> instance. But that will require a major refactoring of the plugin code.
> This will be schedule for later work - only after we got the svn branch
> or something.
>
>        Any tips will be rightly appreciated.
>
>        I'll submit a patch to the bug tracking ASAP.
>
>
> Regards,
>

Hi Marcelo,

In these days I've followed a totally different way to try to make the
web plugin work on mozilla, i.e. XEmbed
(http://developer.mozilla.org/en/XEmbed_Extension_for_Mozilla_Plugins)
Using XEmbed it's possible to run a plugin as an external application,
so I adapted blenderplayer in order to make it "XEmbed compatible" (I
need to pass a window id to blenderplayer) and then I build a very
small gecko plugin that read the .blend file from the html file and
then run (fork/exec) blenderplayer inside the plugin window/rectangle.
I've submitted the patch as #17508

The main advantages of this technique are:
* very good performance (the same as blenderplayer) so it solves your
speed issues
* if blender dies, it does not kill firefox (it's an external process)
* blenderplayer can be run as unprivileged user (for security issue)
* multiple instances are possibile

Problems I've found:
* scripting isn't so easy (IPC between processes)
* AFAIK it works only on unix
* running FPSTemplateLightMap.blend (that requires mouse and keyboard
input) sometimes the plugin gets "confused" about the keyboard status.


Bye


-- 
Enrico Fracasso


More information about the Bf-committers mailing list