XXHighEnd - The Ultra HighEnd Audio Player
April 20, 2024, 11:23:33 am *
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: XXHighEnd Model 0.9z-4-0 (New Memory Management again)  (Read 10658 times)
0 Members and 1 Guest are viewing this topic.
PeterSt
Administrator
High Grade Audiophile
*****
Offline Offline

Posts: 16837



View Profile Email
« on: January 19, 2011, 12:25:36 pm »

WARNING : This is a beta version for 0.9z-4, and not meant to be used by new XXHighEnd users. So please don't.

For a little background info, read here : http://www.phasure.com/index.php?topic=1432.msg15612#msg15612

There will be no normal Release Notes for this version, and earlier bugs may have been solved without notice, or new bugs may be there ditto; This version challenges to observe the "sound quality" possibilities, and tries to sort out the best path to follow in the near future. This means that this version contains various means for memory organization, and these various means could each be optimized but next won't combine very well anymore with the other means. Besides, as it is now things will be too complex for users to "dial in", so one of the purposes is to eliminate dials where it is clear they are not necessary. But it needs "you" to determine this.

Inspired by ideas from Josef who also was so kind to let people taste some of his ideas by means of his playback "try it out !" software - but also after pointing out by Josef that the ideas applied in 0.9z-3 didn't technically work out as intended - 0.9z-4 will be a completely new approach to it all, with the focus on memory management and how the OS deals - or struggles with that.

It is the idea that this version goes as much as possible around the inteference of the OS, be it directly or be it indirectly because of dealing with other tasks.

Most works for XP as well as Vista, W7 and W7-SP1, but all behave - and respond differently in the end.

Watch out : Again referring to the link above, it may very well be that this version shows how things can be over the top. At this moment it is not definite whether this indeed is so, but *if* it is so indeed, it will mean that "smoothening" means will be needed in order to obtain optimal sound quality. It means that without those, we may be listening to a too direct means of playback, and it now largely depends on your further system how this turns out net; You may get crazy of too high transients, or may receive plain distortion when something can't cope. So, YMMV all over, and maybe it all comes down to one thing only : who is capable of perceiving a best sound compared to ever before with the least means of "filtering" (smoothening). And so yes, this approach is new, and maybe not even justified because we may not be dealing with "over the top" at all, but just things being wrong in the first place.
Try to look through everything, and notice this will be difficult.

The following phenomena play a role in this all, and the suggestions underneath it will show you how things influence, and influence eachother :

1. OS
2. RAMDisk
3. SFS
4. Memory type used
5. Clock resolution

Ad 1, OS.

Each OS sounds very different. This is most profound when the RAMDisk is *not* used.

Each OS does not utilize the appliances the same way. Observations for what we have in the dev rooms show :

Straight Contiguous (large pages) : Not possible for XP. Memory pages for Vista are 4MB, for W7 they are 2MB.
Clock resolution : Minimum for XP is 1ms, minimum for Vista/W7 is 0.5ms.
Clock resolution changes :  XP and Vista don't allow lower (resolution) once set higher - until reboot.
Clock Resolution workout : Vista starts off at 5ms, so net the lowest resoution is 5ms (see above).
Contiguous memory : Vista is easily forced into stalling itself because of services shutting down (as known, but this encourages it).

Ad 2, RAMDisk

Acts as a smoothening phenomenon. Is theoretically not good. May in practice workout for the better.

Ad 3, SFS

Is a most complex phenomenon because it lets react - and interferes with - the memory organization by the OS;
For more about this, see the ToolTip on te Memory Organization field (Settings). -> read it carefully in the "?" page, once it has been asked for.

Notice that the lowest SFS can be 200KB now (0.2MB), while all will act for 100% as "memory playback" as before. This will, however, impeed for a large amount of overhead and it really needs a somewhat more powerful system to use the SFS that low. But for your reference : an i7/870, using KS Special Mode and 32 samples of latency at 32/384 (device buffer size 512, clock resolution 12ms) consumes 3-4% CPU continuously. This is very okay of course, but think about the further impact on SQ.
On another note you could say that all responds "Foobar like" with such a low setting.

Ad 4, Memory Type used

The three Types provided (Mixed, Mixed Contiguous and Straight Contiguous) can all workout the same from theory. How they do within themselves - and in combination with the SFS - is explained more or less in beforementioned ToolTip. But, it also influences the behaviour of the OS to a large degree, and that degree by itself depends on the amount of available memory in the first place.
It may take some time to get the grasp, but for example (and only one), think about all being more difficult for Vista when Straight Contiguous is used, Vista needing to find 4MB pages of free memory, while W7 only needs 2MB pages to find. Add to this the amount of memory in the first place, what you consumed by means of a RAMDisk, and how large you set the SFS which dictates all in the first place - but up to some degree won't "utilize" Contiguous space in the first place. Aha. wacko

Ad 5, Clock resolution

Although it may have been suggested by others, do not take it for granted that the higher the resolution (hence the lower the ms number) the better SQ will be. Merely think the other way around ! (although it will be up to yourself to proove it for SQ);
The higher the resolution, the faster the OS will respond to things. But, to *all* things which require attention, and this is beyond your playback. For example : it is easy for a developer to have a timer of 1ms in there (officially - and when normal means are used the lowest), but if the clock resolution is set to 15ms YMMV but think that 15ms will be the average response time of the OS. Still, that program has a timer of 1ms ... So, the higher the clock resolution, the more my program will be served for whatever it needs to do. This just means one thing (in general) : when the clock resolution is set to 1ms, the overhead of my program will be 15 times larger compared to when the clock resolution would be set to 15ms. This counts for all the programs using a lower ms timer than the clock resolution is set to, and still all works. Maybe the developer with his 1ms timer had another idea about it all, but it still works.
But ...
before we think the higher ms number is thus beter, it will be a smoothening factor when set lower, and all which sounds "raw" in the first place, may sound more smooth with the lower ms number. But what did you actually apply for this better sound ? a filter ...

Of course, things won't be simple ever anymore, because when you had the idea that a lower latency - especially from the device driver('s buffer) sounds better, it is your luck to be able to set the clock resolution higher (lower ms number) so the buffer will be serviced in time. Yeah, well, true, but ...
swoon


Summarized, what do we have ?
We have OSes which respond differently to our new settings, an SFS which lets react the OS differently per Size but which depends on the Memory Type used in the first place, unless the Size is so that it doesn't matter at all, while whatever it is that the OS reacts to, happens per the Clock Resolution which allows different settings per OS - and while a certain low amount of SFS together with the Straight Contiguous memory type would eliminate all, now the OS (actually XX) is busy with the overhead of obtaining the small track parts.
So, that's all clear now ! nea


Allright, before you move on with 0.9z-4-0, it is good to know a few things :

At using the Straight Contiguous Memory setting for the first time, a message may follow that your "privileges" have been set, with the question to reboot. Not doing so, will have the messages popping up each time, and playback is not possible. Change the Memory Type again will, though.

In between tracks ticks will be audible. How loud they sound (never dangerous) will depend on the "accuracy" all will exhibit, that by itself impeeded by your settings. Although not on purpose, the loudness of the ticks may be a measure for this accuracy (until proven otherwise !).

Although easily solvable, the setting "Max for this system" won't allow the maximum ms number for the clock resolution (small rounding problem). So, when you indeed want to have the max setting for an OS which allows resestting it to a higher number anyway, use "Nothing". That will give you the max 15.6ms.
Read the ToolTip on th Clock resolution field (Settings) as well in order to understand better which OS may allow for what and how.

This version not ony shuts down some crucial services, but it now also shuts down the complete desktop (which in the end is explorer.exe). You won't see the difference, until you start doing things not anticipated upon in this version, and you are in lack of your icons and all. When this latter is the case, do this : ctrl-esc will bring up TaskManager. Choose File in the left top corner, and from there choose Run. Next enter explorer and all will be back.

Four warnings regarding the desktop not being there anymore :
1.
It may happen that under W7 - especially SP1 - when XXHighEnd is brought up again, no desktop appears, but a normal "explorer" instance instead. Of course this should not be happening, but the solution to this is a weird one to begin with, and maybe other systems won't allow this solution. Please let know when this happens to you (no desktop but normal explorer instead).
2.
When you bring up XXHighEnd during Unattended, the desktop will re-show as usual (but see 1 above of course). BUT, when you now quit XX again, the desktop will disappear, but it will be the same as what you were used to, and the Desktop will be there under the hood. You can't see this ! (except for in TaskManager where you will see the explorer.exe instance running). Moral for this version : don't bring up XX for fun, or restart playback; then it will all be as intended again.
3.
Icons in the Taskbar Tray which tend to hide after while of not using them (and no matter the settings for that) will have disappeared after the Desktop has been restarted. When you may need those, make regular Desktop Icons of them. Usually (depending on the program) double clicking such a Desktop Icon will being it back in the Taskbar Tray (or otherwise the program just starts normall).
4.
You may be used to the (red ballon) Security Warnings, depending on what you all have shut off regarding this. They occur each reboot and are annoying. Now though, they will occur each time the Deskop is started, and are even *more* annoying. Notice they can be removed, but it takes some strange activities to get there. If you need it, ask please, and it wil be layed out.

Although most of this version has been running here for two weeks by now, by no means all the combinations have been tested, while the things changed should make you insert your preamp again. Well, that is what happened here for safety. Not a single time things went wrong, but better be safe than sorry; Try a few albums with preamp so possible static won't break things, do the things you are used to, and only after that remove the preamp again.

Last for now, a tip :

Especially when you don't have much memory in there (remember, 2GB is the absolute minimum anyway), and when you are trying out Straight Contiguous, start playback as soon as possible after a reboot. Notice that an SFS of 40 is already "high" in such critical situations, but it may still work. If it doesn't a message will tell you. It is the experience that once it worked and playback has been going on for 10 minutes or so, it will work again at a next attempt (without needing a reboot). So, no problem, but don't wait long after stopping playback. On that matter, and this works best with Unattanded, when you are about to play a new album, bring up XX, choose the album, prepare everything for the playing of it, and only then stop the former one, and press Play. This way only seconds will be in between the two playback sessions, and it will work again.
If you can't get it done in the first place and you are using a RAMDisk, shut it off. It gives you the opportunity to listen without it in the mean time (and this may be needed !).

Keep in mind that to a certain extend a high SFS won't help SQ, but that a lower does. This counts for all Types of Memory, unless you go too low with the SFS and things may start backfireing (for SQ). 1.5MB will be the lowest setting with possibly max result for Vista and Straight Contiguous. For W7 this may be 0.8MB.
For Straight Contiguous a much higher setting shouldn't matter much, while for Mixed Contiguous it will (for the worse) and for normal Mixed it will more (for the worse).
A very low SFS setting (like 0.2) will improve normal Mixed, but mind the overhead this implies. Such a low setting will degrade Mixed Contiguous a little, and will degrade Straight Contiguous more.
All from theory !

Don't get mad ...


Edit : At using the very low SFS settings, please switch off Logging, or otherwise your PC may choke on just that.

Edit2 : In this version Engine#3 (the not KS: prefixed sound devices) will not work ("stopped working").

* XXHighEnd-09-z4-0.zip (14628.66 KB - downloaded 2051 times.)
« Last Edit: February 05, 2011, 05:54:41 pm by PeterSt » 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.085 seconds with 19 queries.