Blog
Horia Stan6 min read

Plugin Freeze Sandwich: How I Cut CPU by 60% in Dense Logic Pro Sessions

Slash CPU in Logic Pro with a practical render-in-place, parallel-print workflow that keeps recall and sound intact.

Horia Stan is a music producer and sound engineer at The One Records, Bucharest.

Why the Freeze Sandwich exists

I refuse to trade sound for stability. My sessions use Keyscape, Valhalla, FabFilter multiband, Waves mid-side chains and a couple of convolution reverbs. Apple Silicon helps. It does not fix bad plugin management.

The Freeze Sandwich is my non-destructive, recallable way to convert CPU-heavy plugin chains into stereo audio while keeping parallel processing and automation intact. It lets me continue mixing on a locked MacBook Pro in a cafe or in a shared studio without crashes or weird plugin-state mismatches. It is not a lazy print. It is a deliberate strategy.

The principle

I treat plugins like budget items. I budget where they matter - not everywhere. Then I print the expensive parts at three strategic layers: track-level dry print, processed print (full chain), and parallel print (wet bus). That gives me full recall and mix flexibility while removing most live CPU overhead.

I use Logic Pro (Apple Silicon), FabFilter Pro-Q3, Valhalla VintageVerb, Waves SSL E-Channel, Soundtoys Decapitator and Audient iD14 MkII for I/O. I save channel strip settings and use Track Alternatives to keep my original chains intact.

1
Audit and budget
Scan the session and tag heavy plugins: virtual instruments (Keyscape, Kontakt), convolution reverbs (Altiverb, Waves IR), spectral editors, linear-phase EQs. Count instances. Give each bus a budget of plugin 'tokens' - I allow 3 heavy instances on any bus.
2
Track alternatives
Create a Track Alternative called 'Plugins Live' before you print. Create a second alternative called 'Freeze Sandwich - Audio'. You'll switch between them for recall.
3
Render in Place - dry
For each MIDI/aux track with heavy CPU use, use Logic's Render in Place with 'Include Effects' unchecked to print a dry, velocity-sensitive audio file. Keep normalization off.
4
Render in Place - processed
Now Render in Place again but this time with 'Include Effects and Automation' enabled. Name regions with a suffix like '_PROC'. Disable the original plugin instances or switch the Track Alternative to disable them.
5
Parallel prints
For parallel chains (compression/reverb), solo the bus send and Render in Place the wet return. Create a pair: 'dry' and 'parallel_wet' for each parallel path.

Concrete Logic settings I use

  • Render in Place: Include Audio Tail ON, Include Volume/Pan/Plugin Automation ON, Normalize OFF, New Track with the source muted. That keeps regions aligned with the grid and preserves tails from reverb and delays.
  • Track Alternatives: I keep the 'Plugins Live' alternative as the archive. I work in 'Freeze Sandwich - Audio'. I never delete the Live alternative.
  • Channel Strip Settings: every heavy chain gets a saved Channel Strip Setting. That includes plugin order, Pro-Q3 nodes and Decapitator drive. Save it with a prefix 'CHAIN - [Instrument] - YYYYMMDD'.

Why I print dry and processed both

Because some decisions need to be re-opened. Dry prints let me re-apply different processing later without re-rendering virtual instrument round-robin textures. Processed prints capture the exact character I committed to. Having both means I can compare or re-edit envelopes without reloading Keyscape.

I always print the parallel wet stem as well. Parallel compression and reverb are mix tools. If you only print the processed track and not the parallel chain, you lose the ability to rebalance the wet/dry relationship later.

How this keeps automation and time-alignment perfect

Render in Place includes automation when asked. If you have complex plugin automation, render with automation included. If automation runs on sends, render the send return too. If you need nondestructive recall on a single region, use Track Alternatives rather than exporting and deleting the original track.

If you must edit clip-level automation later, I create a region with the plugin-free dry print under the processed print. Then I paste audio or comp with the dry print and blend the processed print under it with clip gain. This avoids losing micro-automation.

Plugins that must stay live and how I deal with them

Some plugins have side-effects and state: Melodyne, pitch-correction plugins, and certain analysis tools. My rule:

  • Melodyne and realtime pitch editors: print the corrected audio and keep the plugin in the Live track as a record. Use Track Alternatives to toggle.
  • Plug-ins that rely on realtime MIDI input (arpeggiators, MIDI FX): print the MIDI to notes first. Then render the audio.

Recalling the original chain later

Two recall layers:

  1. Channel Strip Setting. Every saved chain is a single click to recreate the processing.
  2. Track Alternative. Switch to 'Plugins Live' to return to the full plugin state, including automation and MIDI.

This makes the Freeze Sandwich non-destructive. It also keeps collaborators honest. When I send stems for mix review I typically send the processed prints plus the wet parallel stems. That guarantees the same balance in the other studio.

NOTE
I keep a naming convention: [TrackName]_DRY, [TrackName]_PROC, [TrackName]_PAR. That saves hours when I glance through 120-region sessions.

Real numbers from my sessions

I mix heavy dark-pop and cinematic pop. In a recent session I had 78 plugin instances and real-time CPU spikes at 72% on an M2 Pro MacBook Pro. After applying the Freeze Sandwich to 18 tracks and 5 aux returns I dropped active plugin instances to 34 and steady CPU load to 18-25%. The session stayed rock-solid during intensive automation passes and 7.5 dB of parallel compression on the drum bus.

Your mileage will vary. That said, I consistently see 50-80% CPU reduction on dense sessions using this method.

Tips and traps

  • Don't over-render. Keep at least one or two critical plugins live where you might want to alter the character. For me that's the lead vocal tuning and the main reverb send for chorus sections.
  • Watch latency plugins. Linear-phase EQs and look-ahead limiters can hide latency that ruins alignment when you render incorrectly. Always render with tails included.
  • Keep your Channel Strip Settings organized. Version them. You will reuse chains across projects.
  • If you use Waves v14 plugins and session recall across machines, make sure Waves Central is installed and licenses active before switching to the Live alternative.

When not to use this

If you are still in composition and need endless sound-design iterations, printing too early will slow creativity. Use Freeze Sandwich in mixing and final production passes, not during draft writing.

Workflow sequence I run every mix session

  1. Quick audit and token budget. I decide which buses get live plugins.
  2. Save channel strip settings for every heavy chain.
  3. Create Track Alternatives: 'Plugins Live' and 'Freeze Sandwich - Audio'.
  4. Render in Place: dry, processed, parallel.
  5. Disable plugin instances and keep one live vocal chain for last-minute tuning.
  6. Continue mixing. If a creative change requires unfreezing, switch alternatives and re-render.
-60
CPU reduction
typical when rendering heavy chains

Final note - a concrete takeaway

If your mix crashes or you constantly bounce stems because the session is unstable, stop adding plugins. Freeze strategically. Use Render in Place for dry, processed and parallel stems, save channel strip settings, and keep Track Alternatives to return to the full plugin state. Do this and expect a 50-80% cut in real-time CPU load while keeping full recall and mix flexibility.

Logic Proplugin-managementmixing-workflowApple SiliconFabFilter