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
Line 9: Line 9:
 
''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.
 
''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.
  
[http://forum.fractalaudio.com/threads/why-is-there-a-limit-for-blocks-why-not-3-pitch-blocks-or-3-amp-or-whatever.70023/#post-859452 Explanation why there is a CPU limit]
+
[http://forum.fractalaudio.com/threads/why-is-there-a-limit-for-blocks-why-not-3-pitch-blocks-or-3-amp-or-whatever.70023/#post-859452 Why is does a CPU limit exist ...]
  
 
Even an empty preset uses CPU, depending on things such as the input noise gate settings and overhead.
 
Even an empty preset uses CPU, depending on things such as the input noise gate settings and overhead.

Revision as of 14:02, 2 April 2019

About CPU usage

A preset takes up CPU cycles (CPU is used here as a synonym to 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.

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.

Why is does a CPU limit exist ...

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

“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.” source

CPU usage is also covered in the Owners Manuals.

"Also on II the CPU usage increases when you play whereas on the III it more or less stays constant." source

What happens when the CPU limit is approached

At about 90% on the AX8, FX8, Axe-Fx II and III, you'll approach the CPU limit of your processor. You may notice the GUI becoming very slow at that point, while that 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 too crackle and a warning message may appear. The GUI may prevent you from adding blocks at this point.

“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.”

“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." source

"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." source

"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." source

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

More information by AxeFxTutorials ...

CPU management in 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.

"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." source

"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." source

USB and CPU usage

Usb.png

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

This does not apply to the Axe-Fx III because USB is handled by a dedicated USB processor.

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

CPU usage per block and effect type

RoxXxtar's CPU usage chart for the AX8

Block CPU usage values for the Axe-Fx III

Roby Rocks' CPU usage chart for the AX8 (firmware 10.01):

CPU AX8.jpg

How to decrease CPU usage

  • The number of effect blocks in the preset has great impact on CPU usage. Be aware that a bypassed block uses the same CPU capacity as when engaged.
  • Adding a second Amp block in an Axe-Fx preset increases CPU usage slightly (one DSP on the Axe-Fx is dedicated to Amp blocks).
  • Attaching a controller to Input Drive in the Amp block may eat a lot of CPU. "If you attach a modifier to the Input Drive it is constantly recalculating the network which increases CPU usage."
  • Switching off the noise gate in Input/Gate decreases CPU usage (less than 1%).
  • Minimizing shunt blocks decreases CPU usage. If you use parallel paths, try to merge the paths instead of routing them all the way to the end separately.
  • If you move an expression pedal, CPU usage will increase slightly because of MIDI traffic management.
  • OUT COMP and SPEAKER COMP in the Amp block will increase CPU usage.
  • Switching a Cab block to mono and/or another resolution saves CPU usage.
  • When using more than one external IR in a mono Axe-Fx or AX8 setup: mix them into a single IR to avoid having to use a stereo Cab or two mono Cabs.
  • Connecting USB increases CPU usage (not on Axe-Fx III).
  • Some effect types within an effect block use more CPU than others. Example: Studio compressor versus Pedal compressor types, Hall reverb versus Spring Reverb.
  • Use X/Y or channels instead of two instances of an effect block to save CPU.
  • Reduce the number of controllers.
  • High Quality Reverb uses more CPU than Normal Quality.
  • Spring Reverb uses the least amount of CPU of the Reverb types.
  • Decrease CPU usage by decreasing Echo Density in the Reverb block.
  • The Fast RMS detector type in the Studio Comp uses less CPU than the other types.
  • Filter: use a lower Order and Q.
  • Multi Delay: use a different type.
  • Chorus: use less voices.
  • Phaser: use less stages.
  • Pitch: the Pitch block in the FX8 and AX8 has an Economy mode that decreases CPU usage.
  • FX8: disable the Looper.
  • Drive blocks: CPU usage is amplitude dependent, which means that adding a Drive block to a preset not only increases CPU usage, but CPU usage will also increase when playing the guitar (and more with two Drive blocks).
  • Synth: turn off voices you don't use.
  • Cab (Axe-Fx III): muting IRs decreases CPU usage.
  • Cab: preamp simulation uses more CPU in High Quality mode than in Economy mode.
  • More tips from forum member Voes and others
  • Wicked Wiki