Firmware Upgrades and CPU Creep

TheloniusJ

Experienced
I'm curious about folks experience with CPU loads creeping up with subsequent firmware upgrades. How do you manage/mitigate this?

Basically my main preset (that I am really happy with) was constructed using previous firmware versions. When I first built it, it was pushing the edge of CPU limit (basically bounced around 77 to 80%). After a few upgrades it is now consistently over 80% and can go as high as 84%. It is still causing no problems, but I'm a little concerned that any additional upgrades that push CPU consumption up will push it over the edge and causing issues.

First, is this kind of thing a common occurrence and expected?

Second, is my concern about this thing "going over the edge" valid?

Lastly, what are some approaches to "refactor" presets after upgrades?

What is odd is that this isn't really a crazy preset. I do have a pitch block (I use it to get a little Scofield detune effect mostly). I think the biggest culprit is the two drive blocks. I stack them for my lead tone and I've played with getting rid of one, but lose a little of what I like.

1651243758211.png

Anyway, I'm interested in people's take on this.
 
I too had a preset that I liked that was at the limit but now doesn’t work. To me, it’s no big deal. In fact, the sound improvements of each update (especially the last), are worth it for me to drop a block that I don’t absolutely need. I’d much rather have a better tone and deal with the CPU hit. One thing you could try to do in your situation is push the amp drive on a scene instead of relying on the second drive and make sure your reverb is set to economy. I myself prefer amp gain over drive blocks anyway.
 
I'm curious about folks experience with CPU loads creeping up with subsequent firmware upgrades. How do you manage/mitigate this?

Basically my main preset (that I am really happy with) was constructed using previous firmware versions. When I first built it, it was pushing the edge of CPU limit (basically bounced around 77 to 80%). After a few upgrades it is now consistently over 80% and can go as high as 84%. It is still causing no problems, but I'm a little concerned that any additional upgrades that push CPU consumption up will push it over the edge and causing issues.

First, is this kind of thing a common occurrence and expected?

Second, is my concern about this thing "going over the edge" valid?

Lastly, what are some approaches to "refactor" presets after upgrades?

What is odd is that this isn't really a crazy preset. I do have a pitch block (I use it to get a little Scofield detune effect mostly). I think the biggest culprit is the two drive blocks. I stack them for my lead tone and I've played with getting rid of one, but lose a little of what I like.

View attachment 100985

Anyway, I'm interested in people's take on this.
Can you upload the preset here? Just wanna experiment for myself! ;)
 
Most drives are cpu expensive though the simpler ones (ie FET Boost) take less. If u can, use the amp block's boost instead of a separate drive block to boost.

Reduce reverb quality - big cpu savings for little difference. Also, spring reverb is a cpu bargain if u can use that instead of others

Reduce cab resolution for cpu savings - I use 512 - sounds fine to me.

Premix cabs if possible rather than having them running separately in the cab block.

Avoid shunts if possible.

Turn off any block features not needed.
  • Output comp in amp block.
  • Input dynamics in amp block.
  • GEQ in amp block.
  • Gates in input blocks.
  • Compander in delay blocks.
  • pre feature in cab block.
New features take cpu resources - no getting around that.
 
Can you upload the preset here? Just wanna experiment for myself! ;)
Here you go. Interested in what you see on your end.

For context, this originally started as more or less mimicking Andy Timmons set up from a Rig Rundown. Mainly the comp and first drive really pushing the front of the amp (and shaping the tone a bit). The second drive is for dirt.

After playing with it, I just really liked the response so started using it as my main rig for the fusion/funk/jazz thing I'm doing.
 

Attachments

  • Main Tone.syx
    24.1 KB · Views: 12
Also note that I play pretty much exclusively on the neck pick-up of my Strat with this patch (though I blend in bridge pick-up a bit, since I have a repurposed one of my tone knobs as a blend knob). Just FYI if it sounds bright or anything.
 
I ran through it and scene 2 seemed to be the most CPU hungry with all blocks on. I hit 82-83% consistently and then when I turned reverb quality to Normal I'd hit 85 consistently and 85.4% was my max, but no cutting out. I tried deleting the one empty block and shifting everything over which in the past has helped reduce CPU load a little, but this time it seemed to make it worse staying above 83% and hitting 86.6% but no cutting out. I'm on FW 5.03b4 FYI. Interestingly rolling back to 5.02 made it even worse.
 
Most drives are cpu expensive though the simpler ones (ie FET Boost) take less. If u can, use the amp block's boost instead of a separate drive block to boost.

Reduce reverb quality - big cpu savings for little difference. Also, spring reverb is a cpu bargain if u can use that instead of others

Reduce cab resolution for cpu savings - I use 512 - sounds fine to me.

Premix cabs if possible rather than having them running separately in the cab block.

Avoid shunts if possible.

Turn off any block features not needed.
  • Output comp in amp block.
  • Input dynamics in amp block.
  • GEQ in amp block.
  • Gates in input blocks.
  • Compander in delay blocks.
  • pre feature in cab block.
New features take cpu resources - no getting around that.
I definitely played with the amp block boost, but it's not really getting me there. I could probably tweak it a bit more and give that a shot.

The drives are definitely a big culprit here. I shunted the Horizon drive I'm using and immediately got back 10%.

I looked at the rest of the suggestions, and it doesn't look like I have much to gain there.
 
I ran through it and scene 2 seemed to be the most CPU hungry with all blocks on. I hit 82-83% consistently and then when I turned reverb quality to Normal I'd hit 85 consistently and 85.4% was my max, but no cutting out. I tried deleting the one empty block and shifting everything over which in the past has helped reduce CPU load a little, but this time it seemed to make it worse staying above 83% and hitting 86.6% but no cutting out. I'm on FW 5.03b4 FYI. Interestingly rolling back to 5.02 made it even worse.
Thanks for doing that. I'm still on 5.02. Maybe I don't have to worry about it in the near term since you are getting a little better with 5.03 beta.
 
You can try replacing the Reverb with the Multi-Delay running Mono Diffuser, with it's Master Time lowered, which sounds like some early/vintage Digital Reverbs (think Space Station etc).

That'll save you some CPU, in addition to all the great answers above.

Also, it seems when the CPU gets high other things slow down, like responses to external MIDI if you're using that (due to the fact that the audio threads have priority etc).
 
Last edited:
de-stress by playing (forget what-ifs). when getting too close to unusable (you just can't play in some cases), sell it and get a bigger brother :D
That's what I would do.
 
Last edited:
I think the biggest culprit is the two drive blocks.

You may find that the "Saturation/Saturation Drive" very effective for a lead/saturation boost allowing you to drop a Drive block to free up some CPU.

I really love the Saturation/Saturation Drive and prefer it over Drives in most cases. I find it to be very transparent and doesn't change the character/tone of the amp at all, just adds a richer, 'clean' distortion/saturation/hair that sounds more natural vs a Drive pedal.

I use the "Ideal" setting and can usually dial it back from the default of "4" to just add enough grit for a lead boost with more gain. Again, I love how it doesn't affect the tone/character you've already dialed in...it's just a bit 'more'.

I sometimes use it engaged all the time if I need to push an clean-ish amp (like a Fender) into overdrive. It can be easier, quicker, and more effective using the Saturation Drive vs fiddling with the Input Drive/Trim, a Drive pedal, Bright Cap, etc.
 
I do have a pitch block (I use it to get a little Scofield detune effect mostly)

If you don't use scene 5 much, I'd consider using a Chorus block here as the dual detune stereo effect isn't persisted into the amp block. With that and removing the empty shunt I'm around 75% on 5.02.
 
It was my understanding that Fractal had actually made the code more CPU efficient in the last couple of firmware releases.

I now run my reverb on ultra high or whatever the highest setting is. I want convolution dammnit.
 
You may find that the "Saturation/Saturation Drive" very effective for a lead/saturation boost allowing you to drop a Drive block to free up some CPU.

I really love the Saturation/Saturation Drive and prefer it over Drives in most cases. I find it to be very transparent and doesn't change the character/tone of the amp at all, just adds a richer, 'clean' distortion/saturation/hair that sounds more natural vs a Drive pedal.

I use the "Ideal" setting and can usually dial it back from the default of "4" to just add enough grit for a lead boost with more gain. Again, I love how it doesn't affect the tone/character you've already dialed in...it's just a bit 'more'.

I sometimes use it engaged all the time if I need to push an clean-ish amp (like a Fender) into overdrive. It can be easier, quicker, and more effective using the Saturation Drive vs fiddling with the Input Drive/Trim, a Drive pedal, Bright Cap, etc.

I totally agree. The saturation works great, especially with P90’s. I set mine about like you do. Gives the amp some sizzle and it feels good. I use the neutral amp boost, or the saturation, or the one drive I have in every preset. The drive is usually the FET boost with germanium, or the micro boost with HV tube option. So 4 gain options per amp channel, using 1 drive block. Which frees up room for the rest of the goods.
 
I'm curious about folks experience with CPU loads creeping up with subsequent firmware upgrades. How do you manage/mitigate this?
They go up and back down as the team adds features and then optimizes code. It's a normal part of the process.

Basically my main preset (that I am really happy with) was constructed using previous firmware versions. When I first built it, it was pushing the edge of CPU limit (basically bounced around 77 to 80%). After a few upgrades it is now consistently over 80% and can go as high as 84%. It is still causing no problems, but I'm a little concerned that any additional upgrades that push CPU consumption up will push it over the edge and causing issues.

First, is this kind of thing a common occurrence and expected?
On the latest beta, your preset is running <=80% on my FM3. I'm not running guitar signal through it, but I wouldn't expect it to climb more than 1% if I did, which would keep it within the safe zone.

Common? Yes, because people push the boundaries.

Expected? Yes, occasionally in the short run of a single firmware update, then, over time you'll see drops in CPU demands as new firmware is released that contains optimizations. If you read through the posts about the current firmware you'll see comments that people saw CPU usage drop also.

Second, is my concern about this thing "going over the edge" valid?
I'm not sure what valid concerns have to do with it. The reality is that the machine has physical limitations, Fractal is trying to cram as much functionality into it as possible because they have a cycle of continuous improvement, and people push those limits and their preset choices collide with the added improvements… My advice is to not make presets that walk that edge, give them a little breathing room, and the problem becomes a non-issue. The other choice is to keep pushing the boundaries, and lobby Fractal to stop making improvements.

Lastly, what are some approaches to "refactor" presets after upgrades?
Consider whether you need two drives cascaded, and if, instead, you can take advantage of the built-in boost in the Amp block to remove the second drive or see if you can get the same effect with a GEQ or Filter block in front of the second Drive block since the first is a boost only. Pitch and Drive blocks use a lot of CPU, about 10%. If you can find a way to remove one of those you'll be down to about 70%. Yek's Esoteric RCB (based on Xotic RC Booster) page might be useful.

What is odd is that this isn't really a crazy preset. I do have a pitch block (I use it to get a little Scofield detune effect mostly). I think the biggest culprit is the two drive blocks. I stack them for my lead tone and I've played with getting rid of one, but lose a little of what I like.

View attachment 100985
It's not a crazy preset, but it does have four CPU-heavy blocks in it including the Reverb block.

Note: As a general design principle, I try to avoid boosting and cutting levels as the signal moves through blocks. Little tweaks up or down in one block help but when multiple blocks boost and cut, that, in my opinion, is a smell that there's something wrong. Look at the Factory presets; You'll see that, in the vast majority, there's little level manipulation up and down except in the Amp block.
 
It was my understanding that Fractal had actually made the code more CPU efficient in the last couple of firmware releases.

I now run my reverb on ultra high or whatever the highest setting is. I want convolution dammnit.
It'd appear that you being able to run Reverb on Ultra-High is proof that they have made the code more efficient. Making it more efficient doesn't necessarily make it more compact and allow adding other features though, because sometimes adding code can result in speedups. It's curious that way.
 
I think sometimes folks inadvertantly make a change and misinterpret a resulting cpu increase as caused by fw update. I do it all the time: wonder why a given patch's cpu increased (suspecting fw update) and realize doh!, I turned a gate on somewhere, or added a tad of output comp in an amp block, or changed delay type... - doesn't take much sometimes - one has to be really methodical in assessing what change introduced the increase.
 
Back
Top Bottom