I downloaded several linux versions specific to the Odroid N2+ / ARMv8 architecture and bought extra microSD cards so I could test them out (honestly, so I could geek out, but also to test them with Pianoteq). So far though all the linux distributions I've tried have run Pianoteq very well. I really like their kernel build for customizing. I agree Armbian had very good performance with Pianoteq, it's a very nice light-weight linux distribution. On a Odroid XU4, I get better performance using Armbian instead of Ubuntu. The Pi4 gets a lot more love from developers, so it might already be more stable out of the box. X-runs / CPU Overloads are reduced by around 98% (I’m making up that last statistic but that’s what it looks like).
The CPU was always running behind what was needed, gasping for air.Īfter assigning cores to Pianoteq, the N2+ becomes consistently available with a performance index pegged at 33-35, PTQ reported CPU usage drops to 30-50%. Before assigning cores, the N2+ acted like it had ADD, with a wildly fluctuating/inconsistent performance index (20-35) and a Pianoteq reported CPU usage of 50-70%. Under Pianoteq 64-bit, the Pi4 and N2+ are basically equal in performance (despite what the online benchmarks would suggest), so it’s a good system for comparison.Īssigning cores on the N2+ doesn’t increase performance so much as it stabilizes and focuses the performance power that it has. I would think it uses the same scheduler. Interesting, my Pi4 seems to prefer the second core. I noticed you seem to be running "on demand". Performance Index is pegged at 34 with no x-runs/red cpu overloads There's a couple of CPU overloads/red x-runs Please keep in mind, these are snapshots of a live dynamic system, but I think these do show 'on average' CPU loads for each situation. Performance Index is pegged at 34 (no wild fluctuations), no x-runs/red cpu overloads, orange audio load is consistently below blue Performance Index. Pianoteq reads the CPU load as a more normal 302%
The 2x low-performance cores (1,2) aren't so overloaded and are free to attend to the needs of the OS and other programs. There tends to be a more even distribution across high-performance CPUs (3, 4, 5, 6) This is what it typically looks like when Pianoteq is assigned to specific cores (CPUs 3, 4, 5, 6). There's a couple of CPU overloads/red x-runs and orange audio load consistently above blue Performance Index. To add insult to injury, it's favoring the first 2x low-performance cores, and under-utilizing the 4x high-performance cores. Many times, by the time it realizes there's been a stressful "musical" event, it's too late to do anything about it.ģ. It does eventually round-robin and distribute the work load across the cores, but it's too slow for real-time music. Favor the first core, often overloading it while under utilizing the other cores.Ģ.
WITHOUT Core Assignment, the default CPU load-balancing algorithm tends to:ġ. Comparison of CPU Loads with and without assigning Pianoteq to specific cores