[fluxus] optimisation (was: Re: What is the best X resolution?)

Dave Griffiths dave at pawfal.org
Mon Jun 26 07:10:26 PDT 2006


> Hi im working with fluxus here and i noticed that it was a bit slow on
renders of thing other than particles :).
> Then i thought it could be a good idea to know what is the best
> resolution to have a good performance and keep the render quality, my
default is 1920x1280 and when im working with blender(also uses opengl)
it runs ok, now ive used wmxres to change it while running X and it is
at 1024x768, its cool if you change it like this cause you can pan
around the older big screen and have some stuff on the side (like im
always looking at some source code/docs to understand what im doing). i
dunno if changing like this is worst than restarting X.
> is there a consense on this?

Well, the only thing that changes with resolution is the rasterisation, so
the change in performance should be the same ratio as it is with blender -
basically, at that level it's all down to your driver and hardware afaik.

More generally, I've done a little bit of profiling recently with
cachegrind, and so far there are no surprises about what's slow. Any
script where the per-frame function is non trivial (so most of them), the
guile interpreter functions are all at the top of the list. Next (for
scripts like examples/03-primitives.scm where there is no per frame func)
is the nurbs rendering - although this will depend on the driver, but I
think it will be fairly consistently slow.

In the scripts where there are lots of pdata-ops - which operate on large
amounts of data in one scheme command - such as used on certain particle
and poly/nurbs deformation scripts, there is more of a balance between the
interpreter and the underlying operations - so although the interpreter is
still the slowest - optimising it or replacing it with a faster one is not
going to have a huge effect (for these scripts).

So I think the rendering of polys and particles are pretty optimal (well,
it's not come up on any profile yet) and to get more performance we need
to use pdata-op more (and I need to figure out a better way of passing
arguments to it so we can use it for more things - ie skinning) and
potentially find a faster interpreter (which we've known for some time)

I've yet to profile the games, or any scripts that use ode or glsl.

cheers

dave




More information about the Fluxus mailing list