XXHighEnd - The Ultra HighEnd Audio Player
March 29, 2024, 01:29:10 pm *
Welcome, Guest. Please login or register.
Did you miss your activation email?

Login with username, password and session length
News: August 6, 2017 : Phasure Webshop open ! Go to the Shop
Search current board structure only !!  
   Home   Help Search Login Register  
Pages: [1]
  Print  
Author Topic: Kernel Streaming Strategy - The Emotion Factor  (Read 7532 times)
0 Members and 1 Guest are viewing this topic.
PeterSt
Administrator
High Grade Audiophile
*****
Offline Offline

Posts: 16827



View Profile Email
« on: January 20, 2010, 10:50:05 am »

Hi all,

With a small apology to everyone not being able to play with Kernel Streaming (yet !), I thought it would be good to express my own ideas about how to "play" this sound engine;

First of all, try to imagine everyting the exact other way around as how Engine#3 should be dealt with. So, the general idea about Engine#3 is : the lower the latency the better it is. Ok, this is not really about latency but merey about "interaction with", but the lower the latency, the more interactions happen, and it is not really important with what that is (there is a whole chain of buffers and things and each work out to an individual latency, ending up at the DAC for a net latency).

Without unveiling what I'm exactly doing in this area, think of a means (!) to achieve this, implying the highest cpu useage. Not that you will have noticed this really, but for example, setting the latency of the driver('s buffer) to a low setting (when you can set that) will show a higher cpu useage compared to when you set this latency to a highest value; at "knowing" that it works like this, you will be able to proove it for yourself, I'm sure.
So, the more interactions needed, the higher the cpu useage will be, and you could say Engine#3 is based upon a high amount of interactions.

For Engine#4 (Kernel Streaming) we must think the exact other way around : It is based upon the lowest amount of interactions, and therewith implies the lowest cpu useage (remember, the latter is just the result of the former).

Now, since this is the major difference between the two sound engines, I started to think it can well be that it is this which makes the sound so different, Engine#3 being the technical/analytical one, and Engine#4 being the less accurate, but emotional one. Of course, deep inside the whay the data flows through the PC is completely different for both anyway, so it would be easy to say "thus that causes it", but what to do with that. And thus, I rather stick to the "means" both engines are driven with, and this is about those interactions I just talked about.

Well, while for Engine#3 we should try everything and all to make the latency as low as possible, this implies that for Engine#4 we must make the latency as high as possible. And, try to understand this is not about the phenomenon latency at all (it will do completely nothing to the sound), but the means to get there is something we can grab *and* will influence the sound;

Half of this means is contolled by me in the program (out of your control), but the other half is in the driver;
For those who can adjust the latency of the driver, it means that it should be set as high as possible for Engine#4.

In my case I now have set the latency to 2048, while the Engine#3 setting is/was 48. Thus, this implies that while the 48 (samples) settings would incur of an interaction each ~1ms, for 2048 the interaction is each ~42 ms. Quite a difference, with the visible effect of the cpu useage being virtually 0 at 24/176.4, while it was between 2% and 4% before (when Core Appointment Scheme 3 is used, the useage of the driver will show in the left core (or "anything but the rightmost" when more than 2 cores are there).


I do not say you will perceive a difference by this, nor do I say I did (I just didn't have listening time after thinking about this). The only thing I say is that it follows a "strategy", so it should work. And maybe to keep in mind : with Engine#3 this strategy is exactly the opposite, and everything I did about that always worked too (in the end prooven by you).
So, it may sound like voodoo, but for those who indeed perceive a better "emotion factor" from Engine#4 so far, should perceive an increased Emotion Factor at increasing the latency of the buffer (not for Engine#3 !).

Peter

?
Logged

For the Stealth III LPS PC :
W10-14393.0 - July 17, 2021 (2.11)
XXHighEnd Mach III Stealth LPS PC -> Xeon Scalable 14/28 core with Hyperthreading On (set to 14/28 cores in BIOS and set to 10/20 cores via Boot Menu) @~660MHz, 48GB, Windows 10 Pro 64 bit build 14393.0 from RAM, music on LAN / Engine#4 Adaptive Mode / Q1/-/3/4/5 = 14/-/0/0/*1*/ Q1Factor = *4* / Dev.Buffer = 4096 / ClockRes = *10ms* / Memory = Straight Contiguous / Include Garbage Collect / SFS = *10.13*  (max 10.13) / not Invert / Phase Alignment Off / Playerprio = Low / ThreadPrio = Realtime / Scheme = Core 3-5 / Not Switch Processors during Playback = Off/ Playback Drive none (see OS from RAM) / UnAttended (Just Start) / Always Copy to XX Drive (see OS from RAM) / Stop Desktop, Remaining, WASAPI and W10 services / Use Remote Desktop / Keep LAN - Not Persist / WallPaper On / OSD Off (!) / Running Time Off / Minimize OS / XTweaks : Balanced Load = *62* / Nervous Rate = *1* / Cool when Idle = n.a / Provide Stable Power = 1 / Utilize Cores always = 1 / Time Performance Index = Optimal / Time Stability = Stable / Custom Filtering *Low* (16x) / Always Clear Proxy before Playback = On -> USB3 from MoBo -> Lush^3
A: W-Y-R-G, B: *W-G* USB 1m00 -> Phisolator 24/768 Phasure NOS1a/G3 75B (BNC Out) async USB DAC, Driver v1.0.4b (16ms) -> B'ASS Current Amplifier -> Blaxius*^2.5* A:B-G, B:B-G Interlink -> Orelo MKII Active Open Baffle Horn Speakers. ET^2 Ethernet from Mach III to Music Server PC (RDC Control).
Removed Switching Supplies from everywhere (also from the PC).

For a general PC :
W10-10586.0 - May 2016 (2.05+)
*XXHighEnd PC -> I7 3930k with Hyperthreading On (12 cores)* @~500MHz, 16GB, Windows 10 Pro 64 bit build 10586.0 from RAM, music on LAN / Engine#4 Adaptive Mode / Q1/-/3/4/5 = 14/-/1/1/1 / Q1Factor = 1 / Dev.Buffer = 4096 / ClockRes = 1ms / Memory = Straight Contiguous / Include Garbage Collect / SFS = 0.10  (max 60) / not Invert / Phase Alignment Off / Playerprio = Low / ThreadPrio = Realtime / Scheme = Core 3-5 / Not Switch Processors during Playback = Off/ Playback Drive none (see OS from RAM) / UnAttended (Just Start) / Always Copy to XX Drive (see OS from RAM) / All Services Off / Keep LAN - Not Persist / WallPaper On / OSD On / Running Time Off / Minimize OS / XTweaks : Balanced Load = *43* / Nervous Rate = 1 / Cool when Idle = 1 / Provide Stable Power = 1 / Utilize Cores always = 1 / Time Performance Index = *Optimal* / Time Stability = *Stable* / Custom Filter *Low* 705600 / -> USB3 *from MoBo* -> Clairixa USB 15cm -> Intona Isolator -> Clairixa USB 1m80 -> 24/768 Phasure NOS1a 75B (BNC Out) async USB DAC, Driver v1.0.4b (4ms) -> Blaxius BNC interlink *-> B'ASS Current Amplifier /w Level4 -> Blaxius Interlink* -> Orelo MKII Active Open Baffle Horn Speakers.
Removed Switching Supplies from everywhere.

Global Moderator
Gerard
Audio Addict
***
Offline Offline

Posts: 1077


WWG1WGA


View Profile
« Reply #1 on: January 20, 2010, 11:29:19 am »

Half of this means is contolled by me in the program (out of your control), but the other half is in the driver;
For those who can adjust the latency of the driver, it means that it should be set as high as possible for Engine#4.

Peter,

Can if i understand correctly whe can set the latency to a higher level? Where can we do that?

 Happy
Logged

Januari 2017 XX 2.05
OriginAE x11v Home build HTCP ~ Asus x79 mobo 3930K 12 core underclock 500 MHz,
16GB, *Windows 10 Pro 64 bit build 14393.0* *from RAM*, music on music server / Engine#4 Adaptive Mode / Q1/-/3/4/5 = 14/-/1/1/1 / Q1Factor = 1 / Dev.Buffer = 4096 / ClockRes = 1ms / Memory = Straight Contiguous / Include Garbage Collect / SFS = *0.10*  (max 60) / not Invert / Phase Alignment Off / Playerprio = Low / ThreadPrio = Realtime / Scheme = Core *3-5* / Not Switch Processors during Playback = Off/ Playback Drive *none* (see OS from RAM) / UnAttended (Just Start) / Always Copy to XX Drive (see OS from RAM) / All Services Off / Keep LAN - Not Persist / WallPaper On / OSD On / Running Time Off / Minimize OS / XTweaks : Balanced Load = *43* / Nervous Rate = 1 / Cool when Idle = 1 / Provide Stable Power = 1 / Utilize Cores always = 1 / Time Performance Index = Not the best (OS from RAM issue) / Time Stability = Off (OS from RAM issue) / Custom Filter Mid 705600 / -> USB3 (Silverstone both sides isolated = Sw#3 of NOS1a = Up) -> *Clairixa USB 15cm* -> Intona Isolator -> Clairixa USB 0.70m -> 24/768 Phasure NOS1a 75B (BNC Out) async USB DAC, Driver v1.0.4b (4ms) -> Blaxius BNC interlink ->> Metrum Amps ->> Metrum Acoustics ESL Open Baffle.
Telstar
Audio Addict
***
Offline Offline

Posts: 732


View Profile
« Reply #2 on: January 20, 2010, 12:01:16 pm »

Well, while for Engine#3 we should try everything and all to make the latency as low as possible, this implies that for Engine#4 we must make the latency as high as possible. And, try to understand this is not about the phenomenon latency at all (it will do completely nothing to the sound), but the means to get there is something we can grab *and* will influence the sound;

Oh, these are really good news for me.
Because of my software crossover, I need to keep the drivers buffer (not technically latency) very high. This means that Engine #4 should sound much better than Engine #3 at 2048 samples (that i need to completely avoid disturbs when the latency raises).

BTW, i started to feel the "emotional" character of engine 4. Need only to find the time to listen Happy
Logged

(2nd Apr 2018)
Software:
W10 14393 Pro x64 | XXHE 2.10 | MinOS | Q=14x1/0/0/0/0 | SFS 5,19 mixed contiguous | Nervous rate 1 | 4096k buffer |

Hardware:
OrigenAE H5 case | E5300 fanless |  8GB RAM | Winmate DC-DC fanless PSU | OS on SSD | Renesas USB3 pcie card | Belden highspeed usb cable | Audio-gd dac19 NOS with sigxer F1 | My_ref_FE mono amps | Albedo Apex speakers
PeterSt
Administrator
High Grade Audiophile
*****
Offline Offline

Posts: 16827



View Profile Email
« Reply #3 on: January 20, 2010, 12:54:09 pm »

Half of this means is contolled by me in the program (out of your control), but the other half is in the driver;
For those who can adjust the latency of the driver, it means that it should be set as high as possible for Engine#4.

Peter,

Can if i understand correctly whe can set the latency to a higher level? Where can we do that?
 Happy

Hi Gerard,

As said, one half is taked care of by me in the program, but the other half is part of the driver. And, most "consumer" drivers (hence sound cards) won't allow changing the latency (or buffer size, what it actually is). Pro stuff will though (you could say, anything which supports ASIO will).
So, if you can't find anything about it, it most probably can't be changed. BUT :

We can fairly say that this won't be a problem (for Engine#4) because it will be at a high setting to begin with (which is because a higher latency is easier to manage, and nothing (like playing a midi keyboard) requires low latency. Pro stuff *always* requires a lowest latency as possible (try to play a keyboard with a latency of 50ms and you will understand), *plus* that it requires changing it, because the more channels used, the more is required from the processor, so a trade-off must be provided.

For normally playing audio, latency does nothing (but changing SQ hahaha), and thus for non-Pro cards it is always best to use a high latency, so buffers will never run empty (at low cpu power etc.).

Peter
Logged

For the Stealth III LPS PC :
W10-14393.0 - July 17, 2021 (2.11)
XXHighEnd Mach III Stealth LPS PC -> Xeon Scalable 14/28 core with Hyperthreading On (set to 14/28 cores in BIOS and set to 10/20 cores via Boot Menu) @~660MHz, 48GB, Windows 10 Pro 64 bit build 14393.0 from RAM, music on LAN / Engine#4 Adaptive Mode / Q1/-/3/4/5 = 14/-/0/0/*1*/ Q1Factor = *4* / Dev.Buffer = 4096 / ClockRes = *10ms* / Memory = Straight Contiguous / Include Garbage Collect / SFS = *10.13*  (max 10.13) / not Invert / Phase Alignment Off / Playerprio = Low / ThreadPrio = Realtime / Scheme = Core 3-5 / Not Switch Processors during Playback = Off/ Playback Drive none (see OS from RAM) / UnAttended (Just Start) / Always Copy to XX Drive (see OS from RAM) / Stop Desktop, Remaining, WASAPI and W10 services / Use Remote Desktop / Keep LAN - Not Persist / WallPaper On / OSD Off (!) / Running Time Off / Minimize OS / XTweaks : Balanced Load = *62* / Nervous Rate = *1* / Cool when Idle = n.a / Provide Stable Power = 1 / Utilize Cores always = 1 / Time Performance Index = Optimal / Time Stability = Stable / Custom Filtering *Low* (16x) / Always Clear Proxy before Playback = On -> USB3 from MoBo -> Lush^3
A: W-Y-R-G, B: *W-G* USB 1m00 -> Phisolator 24/768 Phasure NOS1a/G3 75B (BNC Out) async USB DAC, Driver v1.0.4b (16ms) -> B'ASS Current Amplifier -> Blaxius*^2.5* A:B-G, B:B-G Interlink -> Orelo MKII Active Open Baffle Horn Speakers. ET^2 Ethernet from Mach III to Music Server PC (RDC Control).
Removed Switching Supplies from everywhere (also from the PC).

For a general PC :
W10-10586.0 - May 2016 (2.05+)
*XXHighEnd PC -> I7 3930k with Hyperthreading On (12 cores)* @~500MHz, 16GB, Windows 10 Pro 64 bit build 10586.0 from RAM, music on LAN / Engine#4 Adaptive Mode / Q1/-/3/4/5 = 14/-/1/1/1 / Q1Factor = 1 / Dev.Buffer = 4096 / ClockRes = 1ms / Memory = Straight Contiguous / Include Garbage Collect / SFS = 0.10  (max 60) / not Invert / Phase Alignment Off / Playerprio = Low / ThreadPrio = Realtime / Scheme = Core 3-5 / Not Switch Processors during Playback = Off/ Playback Drive none (see OS from RAM) / UnAttended (Just Start) / Always Copy to XX Drive (see OS from RAM) / All Services Off / Keep LAN - Not Persist / WallPaper On / OSD On / Running Time Off / Minimize OS / XTweaks : Balanced Load = *43* / Nervous Rate = 1 / Cool when Idle = 1 / Provide Stable Power = 1 / Utilize Cores always = 1 / Time Performance Index = *Optimal* / Time Stability = *Stable* / Custom Filter *Low* 705600 / -> USB3 *from MoBo* -> Clairixa USB 15cm -> Intona Isolator -> Clairixa USB 1m80 -> 24/768 Phasure NOS1a 75B (BNC Out) async USB DAC, Driver v1.0.4b (4ms) -> Blaxius BNC interlink *-> B'ASS Current Amplifier /w Level4 -> Blaxius Interlink* -> Orelo MKII Active Open Baffle Horn Speakers.
Removed Switching Supplies from everywhere.

Global Moderator
Pages: [1]
  Print  
 
Jump to:  

Powered by MySQL Powered by PHP Powered by SMF 1.1 RC2 | SMF © 2001-2005, Lewis Media Valid XHTML 1.0! Valid CSS!
Page created in 0.035 seconds with 19 queries.