Short Circuit 3: The Quest For Low Latency

Neddac
Neddac Member Posts: 32 Member

I'm starting this thread to document my progress and troubleshooting steps taken in the hope it helps someone else.

I'm trying to rinse the lowest latency possible out of it before biting the bullet and buying a new laptop. The current latency is 20+ms which isn't suitable for scratching.

I've been using NI since Traktor Scratch 1 and want to stick with it if possible.

I'm running TP3 on an old Lenovo X1 with an Audio10 and a fresh Win10 build.

A few steps that I've already taken, followed by a few questions

  1. I've already run through the usual Audio PC Performance steps
  2. I've run a debloat script to strip out unnecessary windows stuff
  3. Audio 10 has the latest available driver

I'm happy to run LatencyMon or make any registry changes that people suggest but may need some help on what to look out for.

Q: I have a Traktor Z2 arriving next week, is it less CPU intensive compared to the Audio10?

Q: Does the Multi-core Support option affect latency? It's currently enabled.

Q: I currently record through the Audio10 too. How much can I reduce latency by recording to an external device?


I'm going to do some testing today and will report any findings. Any and all help welcomed!


Thanks!

«1

Comments

  • Neddac
    Neddac Member Posts: 32 Member

    Win10 64bit

    8Gb RAM

    Intel(R) Core(TM) i5-3427U CPU @ 1.80GHz, 2295 Mhz, 2 Core(s), 4 Logical Processor(s)


    It's an old machine, I know, so I may not see much improvement but I'm interested to see just how low I can get the latency within Traktor if I disable absolutely everything that isnt required for TP to run

  • Sunborn
    Sunborn Member Posts: 2,179 Expert

    Assuming you are using ASIO drivers (which is always the best option):

    Reduce the buffer size. If the buffer is too low it can cause glitches, and if it’s too high it can cause audible latency, so you’ll have to try different settings that work well with your computer system. The more powerful the system and the better the sound card, the less trouble you’ll potentially have with this buffer size issue. In your case since you said that 20ms are too low, i suggest to increase buffer size to 512. If this is still not enough, you have to go up to 1024, which is a bit much for music creation but it is ok for playback.

  • Neddac
    Neddac Member Posts: 32 Member

    Thanks for you reply.

    I've made a few changes and the latency is now 12.7ms. I'll test it out

    My issue is I use a lot of key changes so a cpu spike results in glitchy recordings.

    Is there any benefit to turning Mulitcore Support off? I've seen people say here that it can cause more issues than it fixes.

    Are there anything else (drivers, reg keys etc) I can disable to improve latency?

  • Neddac
    Neddac Member Posts: 32 Member

    To further reduce CPU-load, I've also disabled Limiter and Auto-Gain because I can manage that on the mixer.

  • Sunborn
    Sunborn Member Posts: 2,179 Expert

    Hello,

    According to your problem, what you need is a bigger latency, not a lower one. The bigger the latency is, the more "relaxed" is your CPU. If you find the correct for your system value, you don't have to disable anything.

    Mulitcore Support on/off is a big question. Depending on your system, and what else is running in Windows, it could be either very beneficial, either catastrophic. You have to experiment with both setting. However, with only 2 cores, i'm afraid you don't have much choices. I think is best to keep it disable.

  • Neddac
    Neddac Member Posts: 32 Member
    edited June 2023

    I am hoping to lighten the cpu load by disabling things outside of traktor to keep latency low to make scratching more immediate/responsive.

    The laptop currently runs at 2% CPU usage when idle so I don't think there is much left to disable tbh.

    I'll run LatencyMon to see if there are any rogue drivers I can remove to squeeze a few more milliseconds out of traktor.

    Thanks again for your reply. I'll test without multicore support today and report my findings.

    My audio settings are currently set to 48000k, 256 samples and 4ms usb buffer and I'm getting 12.7ms latency.


    Other variables are that the audio 10 is connected directly to the laptop while a Kontrol x1, an SSD and usb mouse are all connected via a powered USB hub.

    I'll remove the usb mouse as part of the tests.

    I will also compare latency with the Z2 next week with the SSD connected to it which will leave one laptop usb port free and remove the need for the hub.

    Recording is currently performed through the audio 10 but the audio glitches caused by cpu spikes are audible even when not recording so changing recording method isn't a priority right now.

  • Sunborn
    Sunborn Member Posts: 2,179 Expert
    edited June 2023

    To further reduce CPU load, and for best audio performance in older (or not powerful enough) systems, there are a lot of settings you can do to your Windows, regardless Traktor. Some of them, are a "must":

    • Processor scheduling should be set to background services and not Programs. Start > Settings > Control Panel > System > Advanced > Performance Settings > Advanced Tab > Background Services
    • Visual effects should be set to a minimum (unless you have a good GPU). Start > Settings > Control Panel > System > Advanced > Performance Settings > Visual Effects Tab > Adjust for best performance
    • Switch Off Hibernation
    • Speed Up Menus: Start > Run > Regedit > Go to HKEY_CURRENT_USER\Control Panel\Desktop. Set "MenuShowDelay" to 1
    • Disable Disc Indexing Service: Right Click Start > Explorer > Right Click Each Disc > Properties > Untick "Allow Indexing Service to index this disc for fast file searching"
    • NO Energy saving!: Any energy saving option should be deactivated in favor of continuous operation. Open Control Panel ▸ Power Options ▸ Create a power plan ▸ High Performance and set the computer sleep time to ‘Never’. Once set-up, go to Change plan settings ▸ Change advanced power settings ▸ USB settings and disable the ‘USB selective suspend settings’.
    • Minimize background tasks as much as possible. This also includes online storage solutions as Dropbox, OneDrive, Google Drive, iCloud, etc. They are often not considered, even though constant synchronization can stress the system significantly. Even if you do not experience performance difficulties, it is advisable to pause cloud services at least while recording.


    Some more advanced tips (from Steinberg network):

    • Disable Hyper-Threading (Intel)/Simultaneous Multi-Threading (AMD) in the UEFI BIOS if your CPU supports it and if your BIOS allows you to modify this setting.
    • Disable advanced power-saving and dynamic performance options for your CPU if applicable. This usually needs to be done in the UEFI BIOS of your computer and includes ‘Enhanced Intel SpeedStep (EIST)’, ‘AMD Cool 'n' Quiet’, ‘Intel Turbo Boost’, and ‘AMD Turbo CORE’.
    • Disable C-States in the UEFI BIOS if this is accessible. C-States allow your CPU to sleep when idle, which may interfere with real-time applications such as audio. This option is often called ‘Disable CPU Idle State for Power Saving’.


  • Neddac
    Neddac Member Posts: 32 Member

    I have already done most of those but I've never seen the menu speed one before.

    Thanks for that!

    I'll check the BIOS too. I can't remember if I changed any of those settings.

    Thanks again. I'll add more to this thread later

  • Neddac
    Neddac Member Posts: 32 Member
    edited June 2023

    I have disabled a few devices in both device manager and bios.

    The latency figure hasn't changed but I think I can keep it at 12.7ms on the 256 sample rate while maxing out the features I use most, namely looping and key locks/changes. The CPU meter in traktor maxed out if I quickly jumped to <1 beat loops but that's not something I normally do anyway.

    I still have 3 things I can disable/remove, Internet security background services, the external mouse and indexing service.

    I will run those tests tonight as I want to see just how good I can get it.

    Using Latency Mon, I couldnt see any real difference with having Traktor's Multicore Support option enabled or disabled but will continue testing that too.

    Disabling the carder reader in bios did improve the USBPORT.SYS latency performance quite a bit but the improvement wasn't really visible within traktor.

    I've been asking on turntablism forums on what latency they use and the results varied. One said he gets 20ms with his Z2 mixer so i think its just a case of using muscle memory to manage the deficit.

  • Neddac
    Neddac Member Posts: 32 Member
    edited July 2023

    Quick update, removed the usb mouse which was causing some glitching when used. I can use the track pad for anything I need

    Disabled indexing on the C Drive (it's still needed for searching for tracks in traktor so I didn't disable indexing on my external ssd) and all WiFi/Bluetooth

    Made the BIOS changes suggested above.

    In Advanced System settings I changed priority from Programs to Background Services. (I thought I had already done this but seemingly not)

    I also set high priority on the audiodg.exe and tractor.exe programs in CPU settings. I only have two cores but for those with more cpu cores, it's advised to set affinity on audiodg.exe to any CPU of an even number that isn't "CPU0" EG: CPU2 or CPU4. This stops windows wasting time and resource bouncing audiodg between cores.

    My old Lenovo manages to do everything I need it to without glitching at 12.7ms latency which will suffice for scratch practice for now.

    I can up the sample rate to 512 for any mixes to ensure a clean recording.

    Its time for a new laptop but I'm glad I managed to run Traktor Pro 3 smoothly on a 10+ year old machine. I'll have a viable spare in emergencies.

    Thanks for all the advice. I hope this thread helps someone else.

  • Neddac
    Neddac Member Posts: 32 Member

    UPDATE:


    The Z2 arrived earlier. Latency is now 10.7ms with 256 sample rate and 2ms usb buffer.


    I don't know if that improvement is due to the Z2 or the fact the powered USB hub is no longer required in the setup.

  • Sûlherokhh
    Sûlherokhh Member, Traktor Mapping Mod Posts: 1,513 mod
  • Sûlherokhh
    Sûlherokhh Member, Traktor Mapping Mod Posts: 1,513 mod

    @Neddac wrote:

    I also set high priority on the audiodg.exe and tractor.exe programs in CPU settings. I only have two cores but for those with more cpu cores, it's advised to set affinity on audiodg.exe to any CPU of an even number that isn't "CPU0" EG: CPU2 or CPU4. This stops windows wasting time and resource bouncing audiodg between cores.

    This one has been really helpful avoiding audio glitches! Thanks for pointing it out. 🦋

  • Sunborn
    Sunborn Member Posts: 2,179 Expert
    edited July 2023

    Yes this comment by @Neddac is gold and it does make a difference!

    However it has one disadvantage. Every time your computer restarts you have to do it again... and again... every day.

    So, to solve this and keep my setting permanent i discover this little program who runs as a service and it is extremely light (just 0.4 mb of memory)!


    All you need to do is setup your desired options and then, enable the "Save Priority"



    It is called Prio it is free and you can download it here:


  • Stevan
    Stevan Traktor Mapping Mod Posts: 1,538 mod

    I believe the affanity is contra productive in newer versions of Traktor 3.8 and 3.9

    I had audio freeze issues on Win 10 PC after disabling core settings.

    What made a real difference is debloating windows.

Back To Top