I have finally bitten the bullet here, and bought new hardware. I installed KX studio on it, and everything seemed to go very smoothly. There is just one thing... it still seems like I'm getting too much latency. I didn't really skimp on anything on this build, so that surprises me. Here is what I have:
Code: Select all
8 Core i9 Coffee Lake CPU (3.6GHz, 5.0 GHz Turbo)
Gigabyte Z390 Designare LGA1151
2x Western Digital Black SN750 NVMe M.2 2280 1TB SSD (Not RAIDed)
64 Gig of DDR4 3000
Focusrite Scarlet i1820 (first gen)
I have installed KDE Neon as the base, and turned off all desktop effects and fanciness. Turned off everything that runs in the background, ensured noatime options were in my fstab... I ran the realtime script to check my settings -- everything is green and says "good". I'm running the low-latency kernel that ships with the distro.
For my first test, I pull up guitarix, and plug my guitar into the scarlet. I start carla to monitor my Xruns, and I'm disappointed to see that I have a few after only a couple seconds. After much testing, I find that the best I can do for my Jack settings are:
Code: Select all
Sample Rate: 4800
Frames/Period: 256
Periods/Buffer: 2
Code: Select all
TubeScreamer
Standard Amp Head (that is always on)
WaveShaper
Oscilloscope
Tonestack
Cabinet
Graphic EQ
Convolver
This gives me a latency of 10.7ms. I play for about 20-25 minutes without an x-run. Any further reduction of the settings will produce Xruns. So it looks like this is the best I can do. Note: I'm only running Guitarix here at this point. I will need to be running Guitrix and Ardour together, which I imagine will only increase the propensity for Xruns.
I really have no sense of perspective on this. Is 10.7ms good under these conditions? Or is it something to worry about? I can still shred pretty well without noticing it much... maybe not at all. But then, this is only a very simple load.
Is there anything I can do to push the latency down (I'd like to stay at 4800)? My cores are cool, it doesn't look like system is under any great duress... It seems like I could push it considerably harder than it is getting worked. Is there anything else I should do to squeeze more performance out of this rig? As I said before, I am using the low-latency kernel that ships with the distro... I hear people talk about "Real-time kernels"... I don't know if those terms are synonymous (low-latency vs. real-time), or if they are different animals... but there is no real-time kernel in my repos.
Please let me know if I'm being ridiculous here, or if there is more tweaking that can be done to increase performance.
Thank you very much for your input.
G