On Thu, Aug 02, 2012 at 06:22:49PM +0200, m...@apollinemike.com wrote:
> On 2 août 2012, at 18:18, Lucas Gonze wrote:
> 
> > Is it architecturally possible to make a significant amount of
> > overhead go away? Are incremental compiles plausible?
> 
> It is very difficult.  It's better to use a front-end editor
> that shows some sorta mock-up of the score and that only
> compiles the nice LilyPond version from time to time (if this
> exists).  Getting an actual LilyPond score requires calculating
> line breaks and there's no way to get rid of the overhead.

Sure there is.  Compile each bar individually with the default
spacing (i.e. whatever you get if your entire score is one bar and
you use ragged-right=##t).  The concatenate bars until the sum is
larger than the allowable line-width, at which point you put the
bar on the next line.

It'll be completely ugly (ragged score lines?  even finale doesn't
do that!), but it eliminates the overhead of line breaks.  Then
the question is what trade-offs of speed for beauty you want to
make.  I mean, a slightly less invasive/drastic speed-up would be
to have the user hard-code 4 bars per line.  That's also ugly, but
not as bad as the previous option.


In short: if there is a concerted effort to create a "quick
render" output, I would be absolutely shocked if it wasn't at
least 10 times faster than the current output.  Kill line breaks,
draw slurs as rectangles, place noteheads on a strict timing grid
instead of optical spacing... there's a lot of beautiful things
that lilypond does which uses CPU resources.

> As for the svg, significant improvement can be made in the speed
> of LilyPond's svg export - contributions are certainly welcome
> in this area.  The backend is very well written but it is all in
> Scheme

The "compiled scheme" in guile 2.0 could help here.  So if anybody
feels like picking up the porting-to-guile2.0 work...

- Graham

_______________________________________________
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user

Reply via email to