Is it normal that increasing the driver's buffer size/latency increases library loading times?

Options
13»

Comments

  • J.T.
    J.T. Member Posts: 14 Member
    Options

    I don't own Komplete, and a lot of my Kontakt libraries are a bit older (and have simple interfaces and load instantly), libraries where I noticed loading issues a lot are:

    • Electric Keys Diamond
    • Electric Keys Phoenix
    • Piano Colors
    • Heavyocity Ascend

    Session Percussionist also takes 3-5seconds longer to load (switching from 256 to 2048smp).

    For all libraries I just load the default patch, and usually don't count the first time it loads since it needs to load samples into RAM.

  • reffahcs
    reffahcs Member Posts: 848 Guru
    Options

    So some quick testing with the Stadivari Cello - Multi Mic Longs, and there was a difference, but very minor.

    With the lowest samples selected I had around 4.5 seconds until the instrument was loaded.

    With the most amount of samples selected, it was about 8.5 seconds.

    Not sure if this is normal for a PC, but I had to use the ASIO control panel to adjust the delay samples. The min samples was 88 @ 2ms, max was 882 @ 20ms.

    I did about 4 tests at 2ms and 4 at 20ms closing Kontakt each time. I did this whole thing at 44.1 KHz sample rate and 96 KHz sample rate and got the same numbers each time.

  • J.T.
    J.T. Member Posts: 14 Member
    Options

    Thank you for taking the time to test it!

    Since in my tests the loading times were linear (with a base offset) to the sample times it would make sense that if you theoretically could set your buffer length to 1024 or 2048 it might reach loading times of 15+ seconds.

    I'm grateful for any other tests to get to the bottom of this🙏

  • reffahcs
    reffahcs Member Posts: 848 Guru
    edited February 23
    Options

    Yeah unfortunately I'm just stuck with my sound card on my PC, my "real" audio interface is racked next to my Mac. I'm install Piano Colors currently, and I'll run another test, maybe I can find a different audio interface.

    And no problem, that's what we're all in the forum for, to help each other out and to seek help. And honestly I really am curious what's behind this issue as much as your are.

    I tried WASAPI drivers, but I didn't have any luck with those using my onboard sound card. Not surprised though.

  • reffahcs
    reffahcs Member Posts: 848 Guru
    Options

    Well another test this time with Piano Colors using the default Piano Colors preset, same settings as the last test.

    5 seconds to load with the least amount of samples I can select.

    16-17 seconds to load with the most amount of samples I can select.

    I'm stumped. Chalking this up to a driver issue, possible Kontakt bug? Seems like Kontakt is hanging waiting for something to happen. Impossible to say what's at fault though as a forum member. That's something NI would have to investigate.

  • Kubrak
    Kubrak Member Posts: 2,808 Expert
    Options

    @J.T.

    For all libraries I just load the default patch, and usually don't count the first time it loads since it needs to load samples into RAM.

    So, what do you want to measure? I guess that most time takes the loading of the samples....

    The only relevant measurement is restart OS, start Kontakt and load.

    And the same steps for each buffer size.

  • J.T.
    J.T. Member Posts: 14 Member
    Options

    I have the libraries on m.2 SSDs and they usually load the samples in a matter of a second since these libraries are fairly small (some are only 3GB), but the first time loading them usually takes 0.5-1 seconds more, after that when I load them 10 times in a row the loading time only changes depending on the buffer size. For all the testing I did I just didn't include that extra second for numbers.

    I'd recommend giving my video a watch (I can finally embed it here since my forum account leveled up), maybe on 2x speed since part of it is literally just me waiting for the libraries to load 😅


  • Kubrak
    Kubrak Member Posts: 2,808 Expert
    edited February 24
    Options

    OK, I have made tests with Piano Colors, the default patch that loads first (Aleatoric Sequence).

    Win10 Home, AMD APU 5700G (8C/16T), 64 GB RAM, NVMe SSD.

    RME Fireface UCX, 48kHz connected by USB and using RME ASIO driver.

    I can confirm that loading time considerably rises with the rise of buffer size. Which is rather strange.

    I made measurement for each buffer size twice to verify the time. Each measurement was done as first thing after computer restart. I started Kontakt and loaded given Library. Time measurement was "precise" to 0.5 s.

    RME is known for producing exellent drivers, so I would not contribute it to misbehaving audio driver....

    ------

    48 and 64 samples do have the same loading time in my measurements. I would atribute it more to time measuring resolution (0.5 s) than anything else.

    ----

    @EvilDragon Do you know, why this happens? Is it by design (intended) or sort of bug or whatever?

  • J.T.
    J.T. Member Posts: 14 Member
    Options

    Thank you guys so much for taking the time to check this 🙏 I think it seems worth for NI to look into this

  • Kubrak
    Kubrak Member Posts: 2,808 Expert
    Options

    I am happy I have found the reason Kontakt libraries started to have considerably longer loading times. I suspected there is problem with SSD. Instead it was because I have increased buffer size because of one CPU hungry plugin and left it so....

  • Kubrak
    Kubrak Member Posts: 2,808 Expert
    Options

    I have made few more tests. Not all buffer sizes, just 64, 1024 and 2048. Again twice each one and always after computer restart.

    The values are the same (within measuring resolution/precision) as with RME Fireface UCX for both aditional interfaces used.

    Interfaces used:

    RME Fireface 802 using the same ASIO driver as FF UCX.

    RME Digiface USB using different ASIO driver than two others.

    Each interface has been plugged to its own USB socket, so three different USB sockets were used.

    So, one cannot blame USB socket, audio interface HW or ASIO driver. Kontakt 7 behaves consistently despite different USB sockets, ASIO drivers and audio interfaces used.

    OK, one may say that the both RME ASIO drivers share the same codebase and so on. Yes, it is probable, but RME is known to deliver high quality drivers and they do differ. The one for Digiface may go as low as 32 samples, while the other has minimum value 48.

    I may test it with several more interfaces, if needed, but it is time consuming and it is on the same computer. Would be bettter if other people test it the exactly same way so that measurements are comparable.

  • D-One
    D-One Moderator Posts: 2,948 mod
    edited February 26
    Options

    I re-tested and got +- the same results and conclusions as @Kubrak. However, I also tested with KK and the results make no sense to me:

    Piano Colors - Aleatoric Sequence patch, all results are from a fresh boot except the last ones:

    Kontakt 7:

    • 32 buffer - 4s to load.
    • 2048 buffer - 20s to load
    • If not a fresh-boot/instance then loads 2-3s faster for 2048, not significant, with 32 it remains the same speed.

    KK 3:

    • 32 buffer - 12s to load.
    • 2048 buffer - 12s to load
    • +- 6-8s for both buffer sizes - If not a fresh-boot/instance.

    So.. With big buffers, KK loads 2x as fast as K7 even tho it's a plugin-wrapper !? What the heck? I ran the tests many times, same results. [albeit for this to be meaningful I'd have to test with many other instruments]

    @J.T. said:

    For all libraries I just load the default patch, and usually don't count the first time it loads since it needs to load samples into RAM.

    Then what you're measuring is not how fast a lib loads but how fast a lib is re-loaded.. (the cache/ram thing) Why? Do you use multiple instances of the same instrument often?

  • J.T.
    J.T. Member Posts: 14 Member
    Options

    Then what you're measuring is not how fast a lib loads but how fast a lib is re-loaded.. (the cache/ram thing) Why? Do you use multiple instances of the same instrument often?

    I do that because this whole thing is not related to the loading time of samples, but there is some loading going on in the background (user interface, effects, buttons, etc.) that is causing these loading increases. Some of the libraries I tested it with are less than 3GB and the samples load in half a second, but the interface takes 20+ seconds to load.

  • Kubrak
    Kubrak Member Posts: 2,808 Expert
    Options

    I do not know what happens behind the curtain, but I guess Kontakt uses heavily the audio output, maybe to test how many voices may be run or whatever related or it might be somehow related to copy protection....

    And to fill huge buffer takes longer than small buffer.... The load time is well proportional to buffer size as is clearly visible from my graph. But still, the loading times have huge, huge difference.

    @J.T. is probably right that to speed up tests those may be done without restart. It is not so precise, but one may do much more tests with much more libraries. It probably removes just time needed for loading samples and maybe something else. Yes it has potential to give misleading results, so measurements should be taken with that in mind.

  • D-One
    D-One Moderator Posts: 2,948 mod
    edited February 27
    Options

    Oh, I see... Beyond loading GUI and whatnot, it probably hooks into background services to check for licenses, to see if you own the product you're loading I guess..

    Kubrak's explanation sounds plausible. I guess a way to test if FX and whatnot cause an extra delay due to audio initialization of some kind is to actually make (or edit) a simple custom Kontakt instrument with tons of FX and another without and compare.

Back To Top