XXHighEnd

Ultimate Audio Playback => XXHighEnd Support => Topic started by: edward on July 28, 2007, 10:03:43 am



Title: Question About Process Priority
Post by: edward on July 28, 2007, 10:03:43 am
Peter, I hope this question wasn't already answered somewhere else on the forum, but here it is:

I know in XXHE you can select Player Priority (which I have selected RealTime). When I’m playing music and I look at the Task Manager, it shows Realtime priority just fine. However, of course, when a song starts playing XXEngine3.exe shows up in the Task Manager. This has a priority of “Normal”. Is that how it’s supposed to work? Or is it supposed to be running at Realtime? Or does it matter? Can we force it to run in Realtime?

BTW, in XXHE, Thread Priority is greyed out and cannot be changed. I assume this is normal?

Thanks for a clarification.


Title: Re: Question About Process Priority
Post by: PeterSt on July 29, 2007, 08:22:53 am
Hi,

This is all how it's supposed to work;
The Player Priotity is for the controlling mechanism and the Thread Priority is for the Audio Engine itself.

The Player Priority really shouldn't be higher than the Thread Priority, because the Audio Engine then may suffer from the Player's tasks. So both should be in proper balance towards eachother, and further act within the system as a whole.

The priority of the Engine with #3 currently can not be changed for two main reasons :
1. I thought it really wasn't necessary because whatever I do with the system, it keeps on playing, and to my ears the same;
2. I have to make something for that which is different from #1 and #2.

You could say it is about the latter ony, but this is not true; there are (or will be) many settings for #3 in the near future, and all what's happening in there, happens at the lowest level. This means that wrong treatment of priorities will hang your system or can even hang itself. So in the #3 environment there's much more to it, *and* it isn't necessary IMO.

My tests were in a "normal" environment, meaning that no other realtime prio tasks were running, and all I did to shoot at the engine was with Normal priority. But, all does mean that your Realtime prio of the Player really should not be so. In your (#3) case it should Normal. Which brings me to this :

Usually one would set the Player Prio lower than - or equal to the Thread Prio. Furthermore, one would set the Player Prio by itsef at least one tad higher than Normal. Just to cause the tracks are loaded, and the thing (the controlling mechanism) does kind of realtime what you order it to, or quickly enough anyway. Now, since with #3 the Thread Prio can't be changed, the least I should "provide" is that the Player Prio is not allowed to change as well.
In the very end, of course, I should allow for changing the Thread Prio afterall ... :yes:.



Title: Re: Question About Process Priority
Post by: SeVeReD on July 29, 2007, 12:14:12 pm
Because you know what the ratio of player to thread priority to be, maybe you should have them combined to a single option that has various levels of priority to choose from?  Just brainstorming here.


Title: Re: Question About Process Priority
Post by: PeterSt on August 13, 2007, 06:17:58 pm

As you will have learned by now, the possibility to change the priority of Engine#3 is in there (0.9i).

Quote
Because you know what the ratio of player to thread priority to be, maybe you should have them combined to a single option that has various levels of priority to choose from?  Just brainstorming here.

Not really. Many things depends on the systems.
For #1 and #2 the priority of the Player is more important than for #3. But in either case the priority of the Player could degrade the Audio Engine. So actually the prio of the Player should be as low as possible (like shutting off other services to gain on quality), until it can't do its job in time (which would be preparing tracks, and even timing things).

Anyway, as far as I can tell so far, setting the thread priority to High for #3 really makes a difference.
Also, Vista is more "out of control" at doing things behind your back than I would like.

Lastly, IMHO currently we're at a next level of sound quality, so more "micro" stuff is becoming audible anyway. I'd still won't shut down services, but the Thread Priority is the least we should use now.
Times change ... :yes:


Title: Re: Question About Process Priority
Post by: edward on August 14, 2007, 09:06:46 am
Peter - I actually prefer setting the (thread) priority of Engine #3 to Realtime. Although, I have to change it with the Task Manager since XXHighEnd only allows changing it as high as "highest" (which only goes to "High" in Task Manager). Can the "Realtime" option be included in the setting? And by the way, setting the player priority to "Nothing" just shows up as "Normal" in Task Manager. In fact, no matter what setting I choose in the player, it shows up as "Normal" in Task Manager.


Title: Re: Question About Process Priority
Post by: PeterSt on August 14, 2007, 10:47:30 am
Hi Edward,

As it appeared, RealTime is just not possible in Vista. Not that I could find it. Maybe a registry tweak ? You can't do it by task manager and I can't do it by the program. In XP it can ...

"Nothing" means the program doesn't change it. So that's meant for external tweaking (like a startup parameter for the player (not the threads, that's not possible).

Quote
In fact, no matter what setting I choose in the player, it shows up as "Normal" in Task Manager.
Not sure, but I don't think that is true. You must first start playing to see it ! IOW, it always reverts to normal when playing stops (or is not at order).

?


Title: Re: Question About Process Priority
Post by: edward on August 14, 2007, 10:52:18 am
Hi Edward,

As it appeared, RealTime is just not possible in Vista. Not that I could find it. Maybe a registry tweak ? You can't do it by task manager and I can't do it by the program.

What do you mean? I changed it to Realtime with Task Manager no problem.

And yes, I check it while it's playing.


Title: Re: Question About Process Priority
Post by: PeterSt on August 14, 2007, 11:08:17 am
Huh ??
That would be the most strange ...

I forgot what Vista version you have ...


Title: Re: Question About Process Priority
Post by: edward on August 14, 2007, 11:15:34 am
Huh ??
That would be the most strange ...

I forgot what Vista version you have ...

I'm using Vista Home Premium.


Title: Re: Question About Process Priority
Post by: PeterSt on August 14, 2007, 11:41:44 am

You'd be having premium pirority then.
Djeez, what is this.

When I try to change to realtime (no matter what program) Vista tells me it is not allowed. "Set to High instead".

Since you can do it anyway, can you conveniently press Next or Stop ? I mean, does it respond correctly when running at realtime (XXEngine3.exe) ? Because if not, it's worthless anyway.

Sidenote : I had it all build in, and had to remove it because it just did not work. Here ... :sad:


Title: Re: Question About Process Priority
Post by: BertD on August 14, 2007, 12:02:21 pm
When I try to change to realtime (no matter what program) Vista tells me it is not allowed. "Set to High instead".

Sidenote : I had it all build in, and had to remove it because it just did not work. Here ... :sad:

Hi Peter,

Realtime works on my PC too (and #3 is running like that but it has to be changed for each track manually...)

So, build it in again for the PC's where it does work...  ;)

Bert


Title: Re: Question About Process Priority
Post by: PeterSt on August 14, 2007, 12:04:49 pm
Hi Bert, thanks.

What about your Player Priority ? can you change that effectively ? (from within XX).


Title: Re: Question About Process Priority
Post by: PeterSt on August 14, 2007, 07:18:19 pm
If all is ok ... fixed in 0.9i-1
(but mind Vista and just not allowing it ! like with me ... :()


Title: Re: Question About Process Priority
Post by: edward on August 14, 2007, 10:29:24 pm
It's fixed!

Thanks Peter, I can now set thread (engine #3) priority to Realtime and player priority to Below Normal and it stays that way in Task Manager.

Good job. How odd that it doesn't work for you.


Title: Re: Question About Process Priority
Post by: SeVeReD on August 15, 2007, 09:58:09 am
It's fixed!

Thanks Peter, I can now set thread (engine #3) priority to Realtime and player priority to Below Normal and it stays that way in Task Manager.

Good job. How odd that it doesn't work for you.

Why do you set the Player Priority to Below Normal?  did I miss a thread giving a reason?  I understand setting Player priority to below the setting of Thread priority..

This is something I haven't spent much time evaluating other than thinking/feeling I like setting player to normal or above normal and thread to high or realtime.  I only have XXHE setup on the FE, so the computers not taxed at all.


Title: Re: Question About Process Priority
Post by: edward on August 15, 2007, 10:15:33 am
Why do you set the Player Priority to Below Normal?

I did it just for the sake of experiment and because Peter said:
"But in either case the priority of the Player could degrade the Audio Engine. So actually the prio of the Player should be as low as possible" (look in the 4th post down on this thread)


Title: Re: Question About Process Priority
Post by: SeVeReD on August 15, 2007, 07:01:54 pm
Why do you set the Player Priority to Below Normal?

I did it just for the sake of experiment and because Peter said:
"But in either case the priority of the Player could degrade the Audio Engine. So actually the prio of the Player should be as low as possible" (look in the 4th post down on this thread)



Ok reread it; thanks for pointing it out again. 

From PeterSt:
"So actually the prio of the Player should be as low as possible (like shutting off other services to gain on quality), until it can't do its job in time (which would be preparing tracks, and even timing things)."

For me, since most of my music is still a huge single wav file of the album, "preparing tracks" isn't an issue... I wonder what he means by "timing things"... I'm guessing getting the next track ready on time?  Anyway I'm going to try this below normal too or at least go back to normal.

Going back and forth with Thread Priority between High and Realtime (very limited time playing with that and no formal subjective testing yet) I think I might prefer High over Realtime..., but I'll take more time checking that out.

Thanks, Dave


Title: Re: Question About Process Priority
Post by: PeterSt on November 16, 2007, 06:38:32 pm
FYI :

When I try to change to realtime (no matter what program) Vista tells me it is not allowed. "Set to High instead".

I just found that when you are not allowed (Vista) to give a process Realtime Priority, this is caused by not having Uplevelled Administrator Rights (i.e. disable UAC).
Also see Vista Users ... prepare yourselves ... (http://www.phasure.com/index.php?topic=209.0), "Third thing".

Peter