Audioplayer MQn

Bernd Peter
Aktiver Hörer
Beiträge: 4013
Registriert: 04.05.2010, 19:37

Beitrag von Bernd Peter »

Hallo,

hab nun die clockrate448 nach Fujaks Anleitung eingerichtet und mit der 3.14 getestet.

Läßt sich bei Akustikgitarrenmusik - Timing is crucial - leicht erkennen, ob mit oder ohne abgespielt wird.

(Wer sich schwer tut, schaut dann halt im Loader nach :wink: )

Das Script von Aleg läuft wohl nur auf Quadcoreprozessoren, oder?

Gruß

Bernd Peter
Bild
Fujak
Moderator
Beiträge: 5753
Registriert: 05.05.2009, 21:00
Wohnort: Bayern
Kontaktdaten:

Beitrag von Fujak »

Hallo Bernd Peter,
Bernd Peter hat geschrieben:hab nun die clockrate448 nach Fujaks Anleitung eingerichtet und mit der 3.14 getestet.

Läßt sich bei Akustikgitarrenmusik - Timing is crucial - leicht erkennen, ob mit oder ohne abgespielt wird.
Interessant, dass Du mit Deinem Setup einen Unterschied hörst. Es wird doch nicht an dem Art Veluda oder so ähnlich liegen.
Bernd Peter hat geschrieben:(Wer sich schwer tut, schaut dann halt im Loader nach :wink: )
Wenn ich mich wenigsten schwer tun würde, aber ich höre verlässlich keinen Untershied. Dass der Wert 448 gegenüber dem Originalwert eingetragen ist, überprüfe ich, indem ich regedit aufrufe.
Bernd Peter hat geschrieben:Das Script von Aleg läuft wohl nur auf Quadcoreprozessoren, oder?
So, wie es derzeit konfiguriert ist, ja. Aber es lässt sich auch anders konfigurieren z.B. für Dualcore. Nur sollte man dort erstmal mit Processlasso grundlegend die Prozesse aufräumen, um einen Core freizuschaufeln für MqnPlay. Die MQnControl könnte man durch folgende Zeile im tasker.bat Script beenden, sodass dafür kein Core belegt werden muss:

Code: Alles auswählen

taskkill /IM mqncontrol.exe /F
[/size]
Dann müssen die entsprechenden Parameter der Tasker-Zeilen geändert werden. Da mir die komplette Befehlssyntax von Tasker.exe nicht bekannt ist, könnte hier vielleicht Christoph oder Aleg helfen.

Grüße
Fujak
Bild
ESM
Aktiver Hörer
Beiträge: 406
Registriert: 21.12.2012, 22:57
Wohnort: Detmold

Beitrag von ESM »

Hallo zusammen,

vielleicht hab ich es überlesen, aber startet denn mittlerweile eines der Skripte den Dienst neu, damit sich überhaupt jemand für den geänderten Wert Clock Rate interessiert?

Gruß Erwin
Bild
Aleg
Aktiver Hörer
Beiträge: 65
Registriert: 26.08.2013, 11:45
Wohnort: Niederlande

Beitrag von Aleg »

Fujak hat geschrieben:
Bernd Peter hat geschrieben:Das Script von Aleg läuft wohl nur auf Quadcoreprozessoren, oder?
So, wie es derzeit konfiguriert ist, ja. Aber es lässt sich auch anders konfigurieren z.B. für Dualcore. Nur sollte man dort erstmal mit Processlasso grundlegend die Prozesse aufräumen, um einen Core freizuschaufeln für MqnPlay. Die MQnControl könnte man durch folgende Zeile im tasker.bat Script beenden, sodass dafür kein Core belegt werden muss:

Code: Alles auswählen

taskkill /IM mqncontrol.exe /F
[/size]
Dann müssen die entsprechenden Parameter der Tasker-Zeilen geändert werden. Da mir die komplette Befehlssyntax von Tasker.exe nicht bekannt ist, könnte hier vielleicht Christoph oder Aleg helfen.

Grüße
Fujak
Tasker Befehlsyntax kan man sehen mit tasker -?
R:\mqn>tasker -?

Tasker 1.21 - Process Management Tool
Copyright (C) 2013-2014 Christoph Heins (heins@gmx.de)

Usage:
tasker -exe -x process [-r params] [-s show] [-p priority] [-a affinity] [-e]
tasker -set -x process [-p priority] [-a affinity] [-e]
tasker -all [-x excluded] [-p priority] [-a affinity] [-e]

-exe Execute <process>.
-set Set priority class and/or affinity mask for running <process>.
-all Set priority class and/or affinity mask for all running
processes excecpt processes listed in <excluded>.

-x process Process to be executed or set.
-x excluded Processes to be excluded (Mode:-all).
Use pipe symbol for separation. See example #4.

-r params Parameters for <process> to be executed.
Use $$ for nested quotation marks if needed. See example #2.
-s show Display mode for <process>.
{hidden|normal|maximized|minimized}
-p priority Priority class for <process>.
{dontchange|low|belownormal|normal|
abovenormal|high|realtime}
-a affinity Affinity mask for <process>.
E.g. on a machine with four cores use:
0001 to bind <process> to core #0 only.
0010 to bind <process> to core #1 only.
1010 to bind <process> to core #1 and #3.
1111 to bind <process> to all cores.
-e Eliminates all console messages.

Examples:
tasker -exe -x "D:\Special.exe" -r "D:\Test.txt" -s normal -p high -a 0010 -e
tasker -exe -x "D:\Notepad2.exe" -r "--e $$D:\Special site.htm$$" -s normal -p abovenormal -a 1111 -e
tasker -set -x "Cool.exe" -p realtime -a 0010
tasker -all -x "Special.exe|Cool.exe" -p low -a 1101 -e
tasker -all -p low -a 1101
Man braucht kein Prozeslasso weil mit "tasker -all [-x excluded] [-p priority] [-a affinity] [-e]" alle andere Prozessen nach andere Core verschieben kann.

Core affinity ist 4 position binaire Wahl.
Bild
Fujak
Moderator
Beiträge: 5753
Registriert: 05.05.2009, 21:00
Wohnort: Bayern
Kontaktdaten:

Beitrag von Fujak »

Hi Aleg,

perfekt. Vielen Dank. :cheers:

Grüße
Fujak
Bild
Fujak
Moderator
Beiträge: 5753
Registriert: 05.05.2009, 21:00
Wohnort: Bayern
Kontaktdaten:

Beitrag von Fujak »

Hallo Erwin,
ESM hat geschrieben:vielleicht hab ich es überlesen, aber startet denn mittlerweile eines der Skripte den Dienst neu, damit sich überhaupt jemand für den geänderten Wert Clock Rate interessiert?
Welchen Dienst meinst Du - MMCS?

Grüße
Fujak
Bild
ESM
Aktiver Hörer
Beiträge: 406
Registriert: 21.12.2012, 22:57
Wohnort: Detmold

Beitrag von ESM »

Hallo Fujak,

Ja, den meinte ich

Gruß Erwin
Bild
Fujak
Moderator
Beiträge: 5753
Registriert: 05.05.2009, 21:00
Wohnort: Bayern
Kontaktdaten:

Beitrag von Fujak »

Hallo Erwin,

der MMCS-Dienst selbst muss nach einer Änderung der clockrate nicht gestartet werden, da dies ja auch nicht beim Start von MQnPlay.exe geschieht, der dann seinen Wert in die Registry schreibt, bevor er kurze Zeit später durch das Skript clockrate448.bat geändert wird.
Was offenbar noch nicht zweifelsfrei geklärt ist, zu welchen Anlässen bzw. in welchem Intervall MMCS den in der Registry hinterlegten Wert abruft.

Siehe auch hier.

Grüße
Fujak
Bild
ESM
Aktiver Hörer
Beiträge: 406
Registriert: 21.12.2012, 22:57
Wohnort: Detmold

Beitrag von ESM »

Hallo Fujak,

genau auf das von dir verlinkte Rätzelraten bin ich doch eingangs eingegangen. Schau noch mal was ich schrieb.
Der Service liest den Wert genau 1x. Und zwar beim starten des Services. kannst glauben, andernfalls solltet ihr das einfach mal überprüfen.
Wenn man also möchte, das der Wert verwendet wird, muss man folgendes tun.
- vor der Wiedergabe den Dienst beenden
- neun Wert für Clock Rate, etc. In die Registry schreiben
- Dienst wieder starten, der wird dann und nur dann gelesen und hat eine Wirkung :wink:
- Wiedergabe starten


Deshalb hatte ich mich ja so gewundert, dass hier fleißig Unterschiede gehört wurden, obwohl das gar nicht möglich war :wink:

Gruß Erwin
Bild
taggart
Aktiver Hörer
Beiträge: 476
Registriert: 28.04.2011, 17:23
Wohnort: Köln

Beitrag von taggart »

Hallo zusammen,

Aleg kann die Prozesse auf seiner 4-Kern-Maschine recht großzügig verteilen. Auf meinen Core i5 mit nur 2 Cores verwende ich die folgende Batch für die Anpassung der Prozess-Prioritäten und die Zuordnung der Prozesse zu den Kernen:

Code: Alles auswählen

@echo off
C:\Mqn\tasker.exe -set -x "mqncontrol.exe" -p high -a 0010
C:\Mqn\tasker.exe -set -x "mqnplay.exe" -p high -a 0010
C:\Mqn\tasker.exe -set -x "totalcmd64.exe" -a 0001
C:\Mqn\tasker.exe -all -x "mqnplay.exe|mqncontrol.exe|mqnload.exe|totalcmd64.exe" -p belownormal -a 0001
[/size]

Zeile 1 und 2 legen für die mqncontrol.exe und mqnplay.exe die Priorität auf "high" (auf manchen Systemen besser als "realtime") und bindet diese Prozesse an den Kern 1 (also an den zweiten Kern, da die Zählung der Kerne bei Null beginnt).
Zeile 3 bindet die totalcmd64.exe an den Kern 0, setzt aber keine Priorität (diese bleibt also auf "normal")
Zeile 4 legt für alle Prozesse (außer mqnplay.exe, mqncontrol.exe, mqnload.exe und totalcmd64.exe) die Priorität auf "belownormal" fest und bindet diese an den Kern 0

Wer die Clock Rate noch in die Registry schreiben möchte, kann dies auch direkt, also ohne den Import einer weiteren *.reg Datei tun. Dafür wäre dann noch folgende Zeile anzuhängen:

Code: Alles auswählen

reg add "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Multimedia\SystemProfile\Tasks\Pro Audio" /v "Clock Rate" /t REG_DWORD /d 448 /f
[/size]

Gruß, Christoph
Bild
Aleg
Aktiver Hörer
Beiträge: 65
Registriert: 26.08.2013, 11:45
Wohnort: Niederlande

Beitrag von Aleg »

ESM hat geschrieben:Hallo Fujak,

...
Der Service liest den Wert genau 1x. Und zwar beim starten des Services. kannst glauben, andernfalls solltet ihr das einfach mal überprüfen.
...

Gruß Erwin
Erwin

Hast du dafür ein Referenz?
Ich habe noch kein einziges Dokument von Microsoft gefunden das dieses bestätigt, auch nicht die Bücher von Windows Internals von Mark Russinovich.
Bild
taggart
Aktiver Hörer
Beiträge: 476
Registriert: 28.04.2011, 17:23
Wohnort: Köln

Beitrag von taggart »

Hallo Erwin,
ESM hat geschrieben:Der Service liest den Wert genau 1x.
Weißt du das sicher? Falls ja, würde mich interessieren, woher du die Information hast!?

Gruß, Christoph
Bild
Fujak
Moderator
Beiträge: 5753
Registriert: 05.05.2009, 21:00
Wohnort: Bayern
Kontaktdaten:

Beitrag von Fujak »

Hallo Erwin,

auch mich würde das interessieren, denn dann wäre auch der von Gordon im Player vorgesehene Wert der clockrate, den er beim Starten des Players in die Registry schreibt, sinnlos; denn der Player löst keinen Neustart von MMCS aus. Man müsste nach dem ersten Start von MQn den Rechner neu starten, der von Gordon eingestellte Wert würde dann als Default übernommen werden.

Grüße
Fujak
Bild
Bernd Peter
Aktiver Hörer
Beiträge: 4013
Registriert: 04.05.2010, 19:37

Beitrag von Bernd Peter »

Hallo,

das tasker.bat Script für Dual-Core, ich habe 2 Versionen zum Test, löst den Raum noch besser auf.

Die härteste Nuss im Hörtest ist bei mir immer am Schluß Giora Feidman mit Badeken di Kallah (Veiling the Bride), wenn ab Minute 3.16 das Getöns losgeht.

Katzenmusik lt. Gert, wenn es schief geht.

Heute selbst in den schwierigsten Passagen saubere Trennung und Durchhörbarkeit.

Klasse.

Bernd Peter
Bild
Aleg
Aktiver Hörer
Beiträge: 65
Registriert: 26.08.2013, 11:45
Wohnort: Niederlande

Beitrag von Aleg »

Christoph

Es wäre besser als mqnplay sein eigene ungeteilte Core hat.
Mqncontrol darf bei den sonstigen prozessen hinzugefügt werden. Mqncontrol ist nicht so wichtig aber mqnplay soll ein ungeteilte core haben und ich meine auch das Realtime für MQnPlay besser ist.

Versuchs mal!

:cheers:

Aleg
Bild
Antworten