Highlights
- The convolution reverb has a new engine. On my M3 Pro the eight factory presets that use it went from between 16 and 38% of one core to between 6 and 8% with a four-note chord held, and from between 10 and 28% to about 1% on a silent track. I checked the new engine against the old one on 135 test cases, every factory response at several Stretch settings and sample rates plus a set of user files, and the worst difference was 124 dB below the signal.
- An open window costs about a third less. With the standalone in front on Init and nothing playing, Laura used about 45% of one core on my M3 Pro. Now it's about 32%. The animated controls used to redraw themselves 20 to 30 times a second whether or not anything had changed, and every one of those redraws also re-ran the drawing for the whole window's background. Most controls now redraw only when what they show has changed, and the busiest ones, the LFO previews and the dots on modulated knobs, redraw only the part that moves.
- Minimised, or hidden by your DAW, the window stops animating. Before, minimising stopped nothing, and a minimised standalone kept using about 40% of a core. Now it's about 22%. A window you can still see keeps its meters and controls moving, even behind other apps, so it stays live on a second screen.
- Patches with oscillator B turned off cost about 8% less while playing, because Laura no longer reads a wavetable it's about to multiply by zero. Laura also looked up its sequencer settings by name, about fifty lookups on every buffer. Now it finds them once, when it loads, which takes about a tenth off what an idle instance costs.
- The manual listed Z and X for the computer keyboard's octave shift. It's X and C. It also explains now why most computer keyboards stop at six notes. That limit is in the keyboard, and Laura never sees the seventh key.
- Your patches, packs and license carry over. Laura FX moves to 1.7.4 alongside Laura. It gets the new convolution engine, and its knobs and effect cards get the cheaper drawing too.
Details
This release is about CPU. I measured every factory preset with a chord held and again on a silent track, then logged every redraw the window made. The convolution reverb and the window itself stood out by a long way.
The convolution engine I was using cuts the impulse response into 256-sample blocks, more than a thousand of them for the cathedral, and runs through all of them every 256 samples, inside whichever buffer crosses that point. On top of that, Laura padded each response with silence to twice its length, so half that work multiplied zeros. The new engine handles the start of the response sample by sample and then in short blocks, so it adds no latency. The long tail goes through in much bigger blocks, and that work is spread across several buffers so no single buffer takes the hit. It also skips the work for input that's silent, so once a tail has died away the reverb costs close to nothing.
The window was the bigger surprise. On most presets it cost several times what the sound did, and it kept costing that much when it was minimised. I rendered every page before and after, in several themes and window sizes, and compared them pixel by pixel. They match. What I haven't changed yet is the graphics layer underneath, which still redraws the whole window on every screen refresh, open or minimised. That's most of what's left.
I also rendered the factory bank on both versions and compared them sample by sample. Most presets come out bit for bit identical. The convolution presets and one sequencer preset differ at about 70 dB below the signal, and nudging the old build's reverb mix by less than a millionth gives the same difference, so that's rounding noise in the output stage. The few others vary from one render to the next on the old version too, because parts of them are built on background threads while they play. If you own Laura this is a free update, as every update is.