Close

Page 4 of 4 FirstFirst ... 234
Results 31 to 34 of 34

Thread: My New Build

  1. #31

    Default Re: My New Build

    Slipped buffers with SAC, SAWStudio and Win10 is still a mystery... Win10 is a bear for this kind of realtime stuff...

    I believe SAC is accurately reporting when its threads get stomped on and it fails to finish a buffer load... but you still have SAWStudio filling its buffers and then handing them over to SAC... there is currently no measuring mechanism in that part of the chain... so I am looking into the fact that SAW may be getting starved from time to time as Win10 happily processes its 100+ background processes and there is no direct way of measuring whether it is not finishing its internal load in time... I am exploring some new code to be looking for unfinished buffer loading on the SAW side of the link.

    I have made modifications to SAC's engine that moves a few more routines under the Time-Critical thread umbrella... and this seems to have a positive impact on canceling out some of the Win10 thread stomps that can create the SAC slipped buffers... but now SAW starvation is even more pronounced and the end result may not be a good one.

    Its all quite a tough challenge with the way Win10 attempts to override thread priorities and decides to load balance intense threads to give up time to lesser threads... this has made an attempt at realtime performance almost impossible... I'm still working hard at it to try and get around this behavior.

    For now... I would recommend 64 size as the lowest buffer size, since 32 size definitely puts extra loads on the engine loop as the variable setup time for each loop starts to take longer than the amount of samples processed each time around.

    You can try using some other playback source for your tests... or playback from SAW on a different machine and analog connect to your SAC machine... this eliminates the SACLink buffer handoff and will tell you pretty accurately whether the slippage is on the SAC side or the SACLink handoff side of the process.

    In my tests... SAC can sit there sometimes for twenty hours with no slipped buffers... then instantly drop 20 or 30 buffers as Win10 decides to run some background process and stomp all over the SAC engine... I have spent weeks with monitor logging programs running in an attempt to narrow down exactly when the buffer slippage occurs and exactly what processes may have started or intensified when the slippage happens... it really is a horror story.

    XP was so much more controllable... but alas... it is dead to the world now.

    Bob L

  2. #32

    Default Re: My New Build

    I appreciate your quick response, Bob.

    I did the math to see how a 64 sample delay compares to the distance sound travels in that amount of time at 48k, which is what I track at. Sound moves about 1,200 ft per second, so...

    48,000 samples per sec/64 samples per buffer = 750 buffers per second

    1,200 ft per sec/750 buffers per second = 1.6 ft per, 64 sample, buffer

    If I haven't screwed that up, one 64 sample buffer is equivalent to the delay from a sound 1.6 ft away. I doubt whether anyone can hear that, but I know for sure that I can't . So - I'm satisfied at 1-64.

    My preoccupation with 32 had to do with pride (and astonishment, frankly...) that my middle class machine could apparently pull it off. Although I am disappointed that after all that work - I apparently still don't know.

    Bob, did you ever investigate:

    https://docs.microsoft.com/en-us/win...-latency-audio

    ...as introduced to us by matt last June 2nd in the SAWStudio forum? That looked very promising to me, as Microsoft intended it to solve, seemingly, exactly the problems you are encountering (albeit only for Windows 10).

  3. #33

    Default Re: My New Build

    Yes... I have seen that info... and am still exploring how I might be able to use it... but unfortunately... it does not directly fit my programming model and involves quite different code styles... so it is not a simple fit.

    To be honest... I am trying to decide whether it would be useful at all within the SAC structure as it is currently designed. It hooks the application very deeply into the Windows APIs and system resources... not sure it will solve anything for me yet.

    Bob L

  4. #34

    Default Re: My New Build

    Quote Originally Posted by Bob L View Post
    Yes... I have seen that info... and am still exploring how I might be able to use it... but unfortunately... it does not directly fit my programming model and involves quite different code styles... so it is not a simple fit.

    To be honest... I am trying to decide whether it would be useful at all within the SAC structure as it is currently designed. It hooks the application very deeply into the Windows APIs and system resources... not sure it will solve anything for me yet.

    Bob L
    Gotcha. That's an issue when attempting to retrofit new technology into very old code. Almost always painful. At least you only have one person's style to deal with, rather than the last 50 programmers. Thanks for taking a look though.

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •