October 2024: Fractal Audio's VP4 Virtual Pedalboard has been added to the wiki.

Difference between revisions of "CPU usage"

From Fractal Audio Wiki
Jump to navigation Jump to search
m (added quote)
Line 219: Line 219:
 
* Decrease Echo Density to decrease CPU usage.
 
* Decrease Echo Density to decrease CPU usage.
 
* Switch to Spring Reverb.
 
* Switch to Spring Reverb.
; Shunts : Minimize shunt blocks to decrease CPU usage. If you use parallel paths, try to merge the paths instead of routing them all the way to the end separately. Also, test using the Feedback Send and Return blocks to see if CPU % is reduced.
+
; Shunts : Minimize shunt blocks to decrease CPU usage. If you use parallel paths, try to merge the paths instead of routing them all the way to the end separately. Also, test using the Send and Return blocks to see if CPU % is reduced.
 
; Synth : Turn off voices which you don't use to decrease CPU usage.
 
; Synth : Turn off voices which you don't use to decrease CPU usage.
 
; USB : Connecting USB increases CPU usage (not on Axe-Fx III and FM3).
 
; USB : Connecting USB increases CPU usage (not on Axe-Fx III and FM3).

Revision as of 14:51, 5 February 2024

CPU usage

A preset takes up CPU cycles (CPU is used here as a synonym for DSP). The amount depends on the number of blocks, effect settings, controllers, overhead and more. You can check the current CPU usage percentage on the hardware and in the software editor.

Due to the power of the different processors in the hardware, the Axe-Fx II has more CPU available in presets than the AX8 and FX8, while the Axe-Fx III has much more CPU available than the Axe-Fx II, FM9 and FM3.

Important: bypassing a block on the grid does NOT lower CPU usage. Switching a block between X/Y or changing channels may affect CPU usage, depending on the parameter values. Removing a block will decrease CPU usage.

There's a reason for the CPU ceiling and the way it works. See Fractal's explanation for more information.

Even an empty preset uses CPU, depending on things such as the input noise gate settings and overhead.

FRACTAL AUDIO QUOTES


[1] CPU usage number represents the amount of CPU dedicated to audio processing in real-time. We chose to display the actual limitation, rather than scale the number.

[2] Also on II the CPU usage increases when you play whereas on the III it more or less stays constant.

[3] Some of the amp models in the Axe-Fx III use 85% of the dedicated 1GHz DSP.

[4] Fluctuations in CPU usage are normal and it has always been this way. Instruction cache hits/misses cause the amount of time to process the grid to vary each iteration.

[5] CPU usage is not a static quantity. It bounces around a bit. The displayed value is the average.

[6] All our products use real-time operating systems with multiple threads. Audio is the highest priority thread. The displayed CPU usage is the percentage of the CPU that the audio thread is using.

If the audio thread uses too much CPU then lower priority threads will starve. The lowest priority thread is the "idle task". This thread handles user input (button/knob events). If this thread is starved then the unit will appear unresponsive.

CPU usage is also covered in the Owners Manuals.

What happens when the CPU limit is approached

When you approach the CPU limit of your processor, you’ll notice the GUI becoming very slow, while audio is still okay. That's because the audio signal gets the highest priority, above the GUI refresh rate.

When a preset requires too much CPU, audio starts to crackle and a warning message may appear. The GUI may prevent you from adding blocks at this point.

High CPU usage doesn't damage anything.

FRACTAL AUDIO QUOTES


Axe-Fx III:

[7] If your CPU usage is high the display may not update as rapidly due to thread starvation. This is especially true right after bootup due to background tasks running.

[8] As you exceed 85-90% resources start to become critical. That 10-15% has to get divided up among all the lower priority threads: USB, display, controllers, foot controller(s), LED, etc., etc. as well as pitch detection. Pitch detection is a higher priority thread but you can't get blood from a stone.

[9] The DSP won't get damaged if it overheats, it will just stop working. I've yet to see a unit overheat. Our products are overdesigned.

PREVIOUS GENERATION QUOTES


Axe-Fx II:

[10] The CPU simply monitors the time between frame interrupts and if it predicts it doesn't have enough cycles left to process the next effect in the grid it aborts and flashes a warning.

[11] Audio processing is the highest priority. Once you exceed 90% that remaining CPU is divided up between the display, expression pedals, MIDI, etc., etc. Something has to give.

[12] The audio will always switch quickly. The display may take a while to switch since the audio processing takes priority. If CPU usage is high the display will take a little while to update.

[13] The LCD is low priority. If CPU usage is high then the screen refresh rate drops because priority is given to the audio threads.

Axe-Fx Standard/Ultra:

[14] The audio processing is the highest priority thread. When there is time left the GUI thread is run. If CPU usage is high there simply isn't enough time to run the GUI at the normal refresh rate so the thread reduces the refresh rate.

CPU management

Axe-Fx III

CPU usage up to 80% is safe. Beyond that, the CPU meter on the hardware and in the editor will turn red as a warning.

FM9

CPU usage up to 80% is safe. Beyond that, the CPU meter on the hardware and in the editor will turn red as a warning and audio will be muted.

The Delay resp. the Reverb blocks on the FM9 run in dedicated DSP cores. When viewing a Delay or Reverb effect editing GUI screen on the FM9 hardware, a CPU meter will appear on the display if the CPU usage moves past 75%. As with the primary effects core, the recommended maximum CPU use value is 80% to ensure best performance.

Impulse responses in the Cab block are processed in an accelerator apart from the Sharc+ cores.

FM3

CPU usage up to 80% is safe. If CPU usage gets too high, the audio will be muted and a warning appears.

The Delay blocks on the FM3 share a core DSP with amp modeling.

Impulse responses (Cab block) are processed in an accelerator, apart from the Sharc+ cores.

When importing presets created on the Axe-Fx III or FM9, Reverb is automatically set to Economic Quality, and IRs are set to Standard resolution.

FX8 and AX8

AX8.jpg FX8-mk2-top.jpg

The AX8 and FX8 allow you to put blocks into the grid that will push utilization above 88% (when not playing). When taking overhead into account, the real CPU ceiling is 90% (sustained).

When CPU usage gets above 90%, the FX8 and AX8 will automatically disable blocks. The firmware will look for effects which are the biggest offenders, starting with the last edited one. If disabling the last edited one does not reduce the load enough, big offenders are next. Usually the Reverb block (especially when set to High Quality) is the first to go. Switching Reverb to Normal Quality may help to regain CPU power.

When an effect is automatically disabled, audio passes through as if it were a shunt. If it’s a block that is placed in a parallel row, this can cause a signal level issue.

Note about the Pitch block: the Pitch block in the AX8 and FX8 is very sensitive to CPU load, far before the CPU limit is reached. So try to keep CPU usage low (below 60 - 70%) when using pitch effects.

Tip: when building presets, always add the most CPU-hungry effects first.

PREVIOUS GENERATION QUOTES


AX8:

[15] As you all know, lots of different parameters, controllers, etc. can cause variation in your CPU utilization. Also, playing your guitar will bump your CPU as well. So, if you are looking at the utilization while your input is quiet, then you should plan on a 2% - 3% increase when you start playing. The cutoff for CPU is 90%. This cutoff prevents audio glitches, and provides enough CPU for low priority activities. While there are no hard and fast rules, due the dynamic nature of the AX8, I typically try to keep utilization below 87% - 88%. Even then if you're not careful, you can find ways to push up the CPU enough to disable an effect.

In general, I try to use my presets in all their various configurations while in rehearsal or at home. It's always wise to ensure you're not going to have CPU issues on stage.

[16] If I am reading these posts correctly, it sounds as though folks seem to think that an effects CPU usage is a static thing. That is, if I use a compressor in my preset it uses X% of the CPU. This is not actually how it works. CPU usage fluctuates as you use the device. That is, depending on what an effect is doing, or how it is configured, the CPU usage will vary dynamically. The AX8 monitors and manages the CPU usage. This is done for two reasons:

1) If CPU load gets too high, then the audio is effected.
2) If CPU load gets too high, the front panel (footswitches primarily) is adversely effected. The performance of preset, scenes, effect bypass, etc. starts to become effected.

A lot of development time has been put into reducing these effects, but it is impossible to eliminate them entirely. Rather than just allow the AX8 to behave in an undesirable fashion, the unit manages the CPU load by disabling effects. The biggest offenders are disabled first in an effort to reduce the number of disabled effects. This typically means the REVERB block is the first effect disabled.

The trick is to build your presets in a manner in which this does not happen when you are playing live. In other words, test your presets out and give yourself some head room for last minute changes whenever possible.

USB and CPU usage

Connecting via USB will increase CPU utilization. This is by design.[17] If a preset uses much CPU, you may run into CPU overload problems when connecting the hardware to a computer through USB.[18]

This does not apply to the Axe-Fx III, FM9 and FM3, because USB traffic is handled by a dedicated USB processor on those units.

FRACTAL AUDIO QUOTES


Axe-FX III:

[19] The Axe-Fx III USB audio does not add CPU usage. It's handled by a separate processor.

FM9:

[20] USB is handled by a separate microcontroller (the same micro that the Axe-Fx III uses).

CPU usage management

The number of effect blocks in the preset has a great impact on CPU usage. Note that a bypassed block uses the same CPU capacity as when engaged.

Amp block 
  • Adding a second Amp block in an Axe-Fx preset increases CPU usage slightly because one DSP is dedicated to Amp blocks.
  • Using a Modifier on Gain in the Amp block increases CPU usage because it'll constantly recalculate the network.
  • Using OUT COMP and/or SPEAKER COMP increases CPU usage.
Cab block 
  • Switching a Cab block to Mono and/or another resolution decreases CPU usage.
  • When using more than one external IR in a mono rig, mix them into a single IR to avoid having to use a stereo Cab or two mono Cabs.
  • Use a Normal/Standard IR instead of Ultra-Res of FullRes.
  • Shorten an IR with the IR LENGTH parameter to decrease CPU usage.
  • Muting IRs decreases CPU usage.
  • Disable Room Reverb decreases CPU usage.
  • Preamp simulation in the Delay block uses more CPU in High Quality mode than in Economy mode.
Chorus 
Use fewer voices to decrease CPU usage.
Compressor 
  • The Fast RMS detector type in the Studio Comp uses less CPU than the other types.
  • Pedal types use less CPU than others.
  • Auto Attack/Release uses more CPU.
Controllers 
Reduce the number of attached controllers to decrease CPU usage.
Delay block 
  • Diffusion increases CPU usage.
  • Disabling the compander saves CPU.
Drive block 
Set Clip Type to Numb to save CPU usage.
Effect types 
Some effect types use more CPU than others. Example: Studio Compressor type versus Pedal, and Hall versus Spring Reverb.
Filter 
Use a lower Order and Q to decrease CPU usage.
Input 
Switching off the noise gate in Input to decrease CPU usage.
Looper 
Disable the global Looper in the FX8 to decrease CPU usage.
Phaser 
Use less stages to decrease CPU usage.
Pitch 
The Pitch block in the FX8 and AX8 has an Economy mode that decreases CPU usage.
Plex Delay 
Use less delays to decrease CPU usage.
Reverb 
  • Lower Quality to decrease CPU usage.
  • Decrease Echo Density to decrease CPU usage.
  • Switch to Spring Reverb.
Shunts 
Minimize shunt blocks to decrease CPU usage. If you use parallel paths, try to merge the paths instead of routing them all the way to the end separately. Also, test using the Send and Return blocks to see if CPU % is reduced.
Synth 
Turn off voices which you don't use to decrease CPU usage.
USB 
Connecting USB increases CPU usage (not on Axe-Fx III and FM3).
X/Y or channels 
Use these instead of two instances of an effect block to decrease CPU usage.
Global EQ 
 Disable these to save some CPU.

For more information see: