Topic: Does layering improve polyphony performance?

(this discussion was started on the thread "Disappointed with performance of version 8")

When trying different instrument on v8 I and found out my CPU (*) was not up to par to produce high(**) polyphony...
This was confusing because every was fine on version 7.
What was the difference?! On version 7 I was using layered NY/HB Steinways for left/right and I forgot about that.

Anybody else notice that adding a layer improves polyphony?
Am I going mad?
is there a simplification on the sound that I don't hear?
is there any other problem I'm not detecting?

On my system there is absolutely no doubt that layering improves polyphony.

(I'll leave extra information here in case this is not all completely wrong)

Testing procedures:

Settins:
96kHz host sample, 48kHz internal sample, 512 samples, 5.3ms latency and maximum polyphony of 96
More diffictul to detect:
48kHz host sample, 48kHz internal sample, 512 samples, 10.7ms latency and maximum polyphony of 96
no, we cannot reduce the internal sample rate - the quality drop is too noticable.
I use 96kHz host sample to reduce latency.

Testing is not easy because our input adjusts automatically even if we don't notice it - but is conclusive beyond any doubt.
- test 0; full pedal, just slap the keyboard with both hands open flat ... :)
- test 1: full keyboard chromatic glissando, one finger on white one finger on black keys
- test 2: Chopin prelude 7 - full pedal from beginning to end - just 2 lines.
- test 3: Final octaves from Chopin Ballad no.1 full pedal
- test 4: Mars from the Holst/Freiberg planets full pedal - can't play 2 bars!...
on any of these there is absolutely no question on the conclusion.

Even more difficult to test:
- muting the second layer might be slightly less performant than with sound on both layers but it's still undoubtedly much better than just one instrument.

Maintenance of the two layers:
I had a nightmare maintaining the two layers when I had them split left/right - many times would make a change on the wrong side and couldn't hear the result...
for just one instrument duplication the Note Edit has the copy/paste functions that for sure make is easier to maintain.

standard version of Pianoteq 8.0.0

(*) i3-4160T
(**) by "high" I really mean "pitiful"

Re: Does layering improve polyphony performance?

Have you checked the CPU frequency when you have 1 layer and 2 layer (with the windows task manager or intel power gadget) ? My guess would be that the CPU runs at a slower frequency when you have only one layer. Changing your Windows "Power Plan" to something like "Performance" should help, if that's not already done.

Also: comparing screenshot of Pianoteq options / perf panel for 1 layer and 2 layers while playing the same sequence would also give some hints, I think.

Re: Does layering improve polyphony performance?

julien wrote:

Have you checked the CPU frequency when you have 1 layer and 2 layer (with the windows task manager or intel power gadget) ? My guess would be that the CPU runs at a slower frequency when you have only one layer. Changing your Windows "Power Plan" to something like "Performance" should help, if that's not already done.

Also: comparing screenshot of Pianoteq options / perf panel for 1 layer and 2 layers while playing the same sequence would also give some hints, I think.

Thank you Julien, I think that solves it! it never occur to me.

On Linux even with ondemand or schedutil scaling governors the CPU takes longer to reach maximum frequency (*) and doesn't stay there for long when not using layers,
it even seems to slow down when the polyphony exceeds the CPU power - which might prolong the "scratching" sound generation.
Using the performance scaling governor makes the single instrument setup perform the same/similar (hopefully better) than with layers.

that also explain why other users with different CPUs reported different results.
this CPU is an Intel core i3, 4th generation, "T" version for lower power usage on desktop systems: i3-4160T
(hopefully the i7-6700T I ordered(**) will work better - its two generations newer and double the cores).

I think this is solved - I can now sleep.

(*) I believe we can adjust the behaviour of the these governors, not sure...
(**) 2022-11-18 06:00 A mechanical failure has delayed delivery. We're adjusting plans to deliver your package as quickly as possible. - oh!... come on...

Re: Does layering improve polyphony performance?

Antonio M wrote:
julien wrote:

Have you checked the CPU frequency when you have 1 layer and 2 layer (with the windows task manager or intel power gadget) ? My guess would be that the CPU runs at a slower frequency when you have only one layer. Changing your Windows "Power Plan" to something like "Performance" should help, if that's not already done.

Also: comparing screenshot of Pianoteq options / perf panel for 1 layer and 2 layers while playing the same sequence would also give some hints, I think.

Thank you Julien, I think that solves it! it never occur to me.

On Linux even with ondemand or schedutil scaling governors the CPU takes longer to reach maximum frequency (*) and doesn't stay there for long when not using layers,
it even seems to slow down when the polyphony exceeds the CPU power - which might prolong the "scratching" sound generation.
Using the performance scaling governor makes the single instrument setup perform the same/similar (hopefully better) than with layers.

I was watching your other thread with lots of interest and curiosity and indeed having the computer become faster when there was more work to do did not make any sense. Well, now it does!!

Thanks Julien (and again, thanks for making such a marvelous program available to us Linux users).

Antonio, can you please share more details on how you set the performance scaling governor? Thanks a lot in advance.

And ciao ciao!

Where do I find a list of all posts I upvoted? :(

Re: Does layering improve polyphony performance?

dv wrote:

[...]

Antonio, can you please share more details on how you set the performance scaling governor? Thanks a lot in advance.

And ciao ciao!

command line on linux (my desktop has a gui interface but the PT computer doesn't - debian Sid vs debian Testing):

echo "performance" | sudo tee /sys/devices/system/cpu/cpu*/cpufreq/scaling_governor

governors on my system:
conservative, userspace, ondemand, powersave, performance, schedutil

from (I'm not sure if we are authorised to post external links):
stevescargall.com/2020/02/12/how-to-set-linux-cpu-scaling-governor-to-max-performance/

now, no matter the governor, the frequency never goes down from maximum - but that's for sure my system - nothing to do with PT

Re: Does layering improve polyphony performance?

Awesome, thanks!

Antonio M wrote:

I'm not sure if we are authorised to post external links

For the future for you and others: yes we are. I guess the admins would reserve the right to remove posts or castigate offenders for inappropriate stuff, but this is very appropriate.

Also, for future readers in case the original page goes away, here's a link to its cached version off the wayback machine from the internet archive

https://web.archive.org/web/20220930134...rformance/

Where do I find a list of all posts I upvoted? :(

Re: Does layering improve polyphony performance?

this is really helpful for figuring out how to get the best performance

https://codeberg.org/rtcqs/rtcqs

Re: Does layering improve polyphony performance?

Or one can use all the specific information of this forum, using a google command in your browser:

site:https://forum.modartt.com "governor" "performance"

Re: Does layering improve polyphony performance?

Easy way to set CPU frequency and governor in Linux, using cpupower-gui (install using synaptic or software manager)

CPUpower-gui webpage: https://github.com/vagnum08/cpupower-gui

https://imgur.com/swKbqGT.png

Last edited by Stephen_Doonan (21-11-2022 19:46)
--
Linux, Pianoteq Pro, Organteq

Re: Does layering improve polyphony performance?

Stephen_Doonan wrote:

Easy way to set CPU frequency and governor in Linux, using cpupower-gui (install using synaptic or software manager)

CPUpower-gui webpage: https://github.com/vagnum08/cpupower-gui

yeah... but... I couldn't find CPUpower-gui in debian Testing on my PTQ computer... and CPUpower-gui changes don't survive a restart...

Re: Does layering improve polyphony performance?

Antonio M wrote:

(this discussion was started on the thread "Disappointed with performance of version 8")

I just noticed: there are 3 settings on the "Multicore Rendering" option: Off, On, Max
I never noticed the "Max" before...

with "Max" I can do 256 polyphony in CPU powersave mode using only half the CPU no matter what I do to try overrunning it... (i7-6700T) win!

(now I'm not sure I needed the new computer... but I'm happy I have it)