November 01, 2024, 02:02:30 am
Welcome, Guest. Please login or register
News:

Arturia Forums



Author Topic: Pigments is not performant enough  (Read 2363 times)

kyouko

  • Newbie
  • *
  • Posts: 2
  • Karma: 0
Pigments is not performant enough
« on: April 28, 2020, 02:15:43 pm »
Hello Arturia Team,

I bought Pigments 2 since the user interface is quite amazing, and the synth features are great as well.
Everything seems good, but there is one Problem with this vst-synth.
Pigments is not optimized well enough, and uses too much CPU time.
It is quite obvious that this is the case when comparing its wavetable synth function with one of its competitors, serum.
To test the performance I did the following for Serum and Pigments:
- Chose a basic sine waveform for both wavetable Oscillators/Engines
- Disable any effects and filters
- Use the same Basic VCA envelope for both synths
- Close the GUI
- Play 4 Notes simultaneously

The sound of both serum and pigments is the same.
I use the Pigments Version 2.0.1.837 for this test.
Using these settings, and using both synths in Ableton Live 10, with a sampling rate of 44100 I gathered following metrics:

One instance of Pigments caused Ableton to show a CPU load of 7%, while the CPU load of Serum is 3%.
The difference is pretty large.

I did some more testing.
Enabling 8 voices for both wavetable oscillators of pigments and serum, I tested the CPU load, as shown by ableton.
The load caused by Pigments was 21%. The load caused by Serum was 8%.
Again, quite a big difference.

Now I tried to see how many instances I can run simultaneously.
Using 8 voices for both wavetable oscillators, and playing 4 notes again, I added vst instances until a crackle started to appear.
For Pigments I could have 24 instances without the audio starting to crackle.
With Serum I could have 82.

24 may seem ok, but this is without any filters, without modulation, without any processing, without a mastering chain, with just 44100, just 4 notes, and a quite powerful processor.
Considering all of this I find 24 instances to be rather lacking. After all I may want to use my projects on a less powerful PC as well.

So I would be really glad if you could manage to squeeze out more performance out of this plugin.
Then I could use and recommend this synth all the time without any regrets.

My hunch as a performance oriented programmer, is that there probably is a lot of stuff that can be optimized in this plugin.
I recommend the following talk by Mike Acton for a good introduction into what could be done to get more performance (although it is half a rant, the content is actually great).
https://www.youtube.com/watch?v=rX0ItVEVjHc
This intrinsics guide by intel is very helpful as well
https://software.intel.com/sites/landingpage/IntrinsicsGuide/#

Thanks,
K M

bpeterson1123

  • Apprentice
  • *
  • Posts: 13
  • Karma: 0
Re: Pigments is not performant enough
« Reply #1 on: April 29, 2020, 03:02:38 pm »
I am seeing similar results with Pigments 2.0.1.837 on Windows 10 with a relatively beefy laptop (i7-6600U, 32GB RAM, 1 TB SSD). In Gig Performer (VST host software), each Pigments VST3 instance consumes 3-4% audio CPU processing without hitting a key. When I start playing, that goes up to 18-19% PER PIGMENTS INSTANCE. So with 5 Pigments instances running, it consumes 17% idle and over 90% CPU when playing all 5 instances simultaneously. Looks like there is ample room for optimizing the Pigments codebase.

 

Carbonate design by Bloc
SMF 2.0.17 | SMF © 2019, Simple Machines