Skocz do zawartości
WIOSENNA PROMOCJA AUDIO 11.03-04.04.2024 Zapraszamy ×

Rekomendowane odpowiedzi

45 minut temu, deftones9 napisał:

Majkel możesz wrzucić finalne screeny z całej modyfikacji? bo ja sie trochę pogubiłem :D

Jak już mi się uleży jakaś finalna wersja. ;) Na razie walczę z buforem, bo z minimalnym 50ms mam jednak problemy i przeszedłem na testowanie 120ms, czyli oczko dalej. Tu mi nie przerywa początków utworów, i grają też gładko, jak nie zajmuję komputera innymi sprawami. To, co pisałem wczoraj - poza buforem - zostaje w mocy. YMMV, OFC.

Edytowane przez majkel
Odnośnik do komentarza
Udostępnij na innych stronach

Jeśli dobrze zrozumiałem dokumentację, to Thread Priority im wyższe, tym wyższy priorytet, ale Foobar i tak nie pozwala ustawić wyższy niż Normal.

Priority Level
The following are priority levels within each priority class:

THREAD_PRIORITY_IDLE
THREAD_PRIORITY_LOWEST
THREAD_PRIORITY_BELOW_NORMAL
THREAD_PRIORITY_NORMAL
THREAD_PRIORITY_ABOVE_NORMAL
THREAD_PRIORITY_HIGHEST
THREAD_PRIORITY_TIME_CRITICAL

 

Spróbowałem wymusić High i teraz Foobar gra bez zająknięcia nawet przy buforze 50ms. W dźwięk muszę się wsłuchać, bo równolegle jestem na nowym kablu.

 

Jakby ktoś chciał się pobawić, to powershell:

$app = Start-Process -FilePath "C:\Program Files (x86)\foobar2000\foobar2000.exe" -PassThru

$app.ProcessorAffinity = 15
$app.PriorityClass = "High"

 

lub cmd.exe

start "Foobar" /high /AFFINITY 0xF "C:\Program Files (x86)\foobar2000\foobar2000.exe" 

Odnośnik do komentarza
Udostępnij na innych stronach

42 minuty temu, krz napisał:

lub cmd.exe

start "Foobar" /high /AFFINITY 0xF "C:\Program Files (x86)\foobar2000\foobar2000.exe"

 

To polecenie działa tylko jednorazowo. Po zamknięciu Foobara i ponownym uruchomieniu priorytet wraca do poziomu normalnego. To samo mogę ustawić ręcznie za pomocą menedżera zadań. Czy można ustawić wysoki priorytet Foobara na stałe?

Odnośnik do komentarza
Udostępnij na innych stronach

1 minutę temu, markp napisał:

 

To polecenie działa tylko jednorazowo. Po zamknięciu Foobara i ponownym uruchomieniu priorytet wraca do poziomu normalnego. To samo mogę ustawić ręcznie za pomocą menedżera zadań. Czy można ustawić wysoki priorytet Foobara na stałe?

Komenda do testów. Możesz sobie podmienić target w skrócie do foobara jeśli takowy używasz i będzie Ci zawsze odpalał z tą komendą.

image.png

  • Like 2
Odnośnik do komentarza
Udostępnij na innych stronach

Tymczasem ja znalazłem sweet spot na ustawieniach buforów - ogólny 250ms, WASAPI event 27. Tak sobie krok po kroczku odsłuchiwałem idąc w prawo, i za każdym razem sprawdzałem jakie optimum wyjdzie na buforze WASAPI. Stabilną pracę mam już od 120ms bufora ogólnego.

 

Mam pewien zgryz z tym wywoływaniem foobara na specjalnych warunkach, bo on korzysta z MMCSS (jeśli tylko mu kazać), który to proces służy właśnie optymalizacji różnych parametrów czasowych użycia procesora, latencji, itp., więc się zastanawiam, czy on i tak nie nadpisze ustawień swoimi, kiedy go foobar2000 wywoła? Można się bawić ręcznie z tymi parametrami, albo wywoływać presety, które wymyślił Microsoft. Tylko ta opcja bez parametru mnie ciekawi, jak wtedy działa MMCSS, bo na ucho to jest najlepsze rozwiązanie, lepsze od (Pro) Audio.

 

Słuchowo mi najlepiej leży Thread priority 1. Nie wiemy co mieli autorzy na myśli, zwłaszcza, że to jest zmienna w interfejsie, a jak ją foobar2000 interpretuje, to wie tylko ten, co tą funkcję napisał, a jeszcze mógł się walnąć i nie zwrócić na to uwagi. ;) W nomenklaturze Microsoft im wyższa liczba, tym niższy priorytet.

Odnośnik do komentarza
Udostępnij na innych stronach

9 godzin temu, majkel napisał:

 

Mam pewien zgryz z tym wywoływaniem foobara na specjalnych warunkach, bo on korzysta z MMCSS (jeśli tylko mu kazać), który to proces służy właśnie optymalizacji różnych parametrów czasowych użycia procesora, latencji, itp., więc się zastanawiam, czy on i tak nie nadpisze ustawień swoimi, kiedy go foobar2000 wywoła? Można się bawić ręcznie z tymi parametrami, albo wywoływać presety, które wymyślił Microsoft. Tylko ta opcja bez parametru mnie ciekawi, jak wtedy działa MMCSS, bo na ucho to jest najlepsze rozwiązanie, lepsze od (Pro) Audio.

No to już się robią zmiany nie na moje ucho, ale mam wrażenie, że lepiej gra mi na DisplayPostProcessing niż Audio/Pro Audio. Najlepiej stworzyć sobie w rejestrze swój własny preset i do niego odwoływać się w foobarze. Ale pewnie każda zmiana będzie wymagała resetu serwisu MMCSS, a tutaj bez restartu maszyny inaczej go nie wymusimy.

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Multimedia\SystemProfile

 

9 godzin temu, majkel napisał:

Słuchowo mi najlepiej leży Thread priority 1. Nie wiemy co mieli autorzy na myśli, zwłaszcza, że to jest zmienna w interfejsie, a jak ją foobar2000 interpretuje, to wie tylko ten, co tą funkcję napisał, a jeszcze mógł się walnąć i nie zwrócić na to uwagi. ;) W nomenklaturze Microsoft im wyższa liczba, tym niższy priorytet.

No właśnie w drugą stronę. Im wyższy priorytet tym wyższa liczba - https://docs.microsoft.com/pl-pl/windows/win32/procthread/scheduling-priorities

Edytowane przez krz
Odnośnik do komentarza
Udostępnij na innych stronach

3 minuty temu, krz napisał:

No to już się robią zmiany nie na moje ucho, ale mam wrażenie, że lepiej gra mi na DisplayPostProcessing niż Audio/Pro Audio. Najlepiej stworzyć sobie w rejestrze swój własny preset i do niego odwoływać się w foobarze. Ale pewnie każda zmiana będzie wymagała resetu serwisu MMCSS, a tutaj bez restartu maszyny inaczej go nie wymusimy.

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Multimedia\SystemProfile

Co dopiero czytałem jakieś info o MMCSS i tam w ogóle nie występował taki preset. To co napisałeś, to jest chyba rodzaj operacji systemowej, której się ustawia parametry. Z presetów zapamiętałem Audio, Pro Audio, Video, Capture, Ditribution, Window Manager. Ten ostatni dla audio jest najgorszy, Audio średni dopóki się Fidelizera nie puści.

10 minut temu, krz napisał:

No właśnie w drugą stronę. Im wyższy priorytet tym wyższa liczba - https://docs.microsoft.com/pl-pl/windows/win32/procthread/scheduling-priorities

Od czasu Windows Vista/7 pozmieniało się jak widać. Kiedyś priorytety wątków szły z numerami w górę licząc od najwyższego, a mogły one mieć np. wartość 500. Poza tym sprawa jest bardziej skomplikowana, bo foobar2000 najwyraźniej korzysta z osobnego procesu do WASAPI. Jest tam nawet checkbox High worker process priority, którego włączenie dużo zmienia na plus w dźwięku. Główny proces to pewnie "obróbka wstępna", i potem to trafia na proces odpowiedzialny za dostęp do wybranego interfejsu audio.

 

Jakby ktoś szukał aktualnych sugestii ode mnie, to są w pierwszym poście.

  • Like 1
Odnośnik do komentarza
Udostępnij na innych stronach

Godzinę temu, majkel napisał:

Co dopiero czytałem jakieś info o MMCSS i tam w ogóle nie występował taki preset. To co napisałeś, to jest chyba rodzaj operacji systemowej, której się ustawia parametry. Z presetów zapamiętałem Audio, Pro Audio, Video, Capture, Ditribution, Window Manager. Ten ostatni dla audio jest najgorszy, Audio średni dopóki się Fidelizera nie puści.

Tak, nie jest wymieniony, ale ma najwyższy priorytet i Scheduling Category. Może właśnie to robi robotę, dlatego myślę o stworzeniu własnego presetu pod Foobar.

Wszystkie dostępne znajdują się pod HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Multimedia\SystemProfile\

Możecie potestować Audio, Capture, DisplayPostProcessing, Distribution, Games, Playback, Pro Audio, Windows Manager. Defaultowo Foobar ustawiał Playback i sama zmiana Audio niby robiła robotę.

Jeśli zostawisz empty, to albo ustawi Playback, albo jakiś najniższy. Niestety bez kodu możemy sobie gdybać. Ewentualnie można spróbować wybrać się na wycieszkę z Procmonem i zobaczyć co się dzieje pod spodem.

Godzinę temu, majkel napisał:

Od czasu Windows Vista/7 pozmieniało się jak widać. Kiedyś priorytety wątków szły z numerami w górę licząc od najwyższego, a mogły one mieć np. wartość 500. Poza tym sprawa jest bardziej skomplikowana, bo foobar2000 najwyraźniej korzysta z osobnego procesu do WASAPI. Jest tam nawet checkbox High worker process priority, którego włączenie dużo zmienia na plus w dźwięku. Główny proces to pewnie "obróbka wstępna", i potem to trafia na proces odpowiedzialny za dostęp do wybranego interfejsu audio.

A nie jest tak, że maksymalna wartość bufora to 26?

Odnośnik do komentarza
Udostępnij na innych stronach

24 minuty temu, krz napisał:

A nie jest tak, że maksymalna wartość bufora to 26?

A skąd taka "magiczna" liczba? Foobar2000 ogranicza wpisywane wartości buforów do 1000. Push działa u mnie w całym zakresie. Event działa od 0 do 20, potem od 25 do 34. Wszystko spoza tych wartości powoduje szatkowanie dźwięku.

Odnośnik do komentarza
Udostępnij na innych stronach

10 minut temu, majkel napisał:

A skąd taka "magiczna" liczba? Foobar2000 ogranicza wpisywane wartości buforów do 1000. Push działa u mnie w całym zakresie. Event działa od 0 do 20, potem od 25 do 34. Wszystko spoza tych wartości powoduje szatkowanie dźwięku.

A gdzieś na to trafiłęm ale pewnie o coś innego chodziło. Dzięki.

Odnośnik do komentarza
Udostępnij na innych stronach

6 minut temu, markp napisał:


Niestety system nie pozwala na taką zmianę.

 

F2000.png

 

No to inaczej. Stwórz sobie plik teskstowy "Skrot do Foobar.cmd" i tam zapisz komendę

start "Foobar" /HIGH/AFFINITY 0xF "C:\Program Files (x86)\foobar2000\foobar2000.exe" 

a potem daj Target do pliku cmd.

Odnośnik do komentarza
Udostępnij na innych stronach

A nie wystarczy w opcjach zaawansowanych skrótu tyknąć Uruchom jako Administrator? To jest w drugiej zakładce właściwości skrótu na dole, przycisk, a potem checkbox.

 

Tymczasem posłuchałem sobie jeszcze raz tych "priorytetów". Najlepiej gra mi 2. Podobna do jedynki, ale gra ciemniej, wyraźniej i mniej ofensywnie. Znakomita holografia. Temat badałem dość dawno, pewnie na mniej przeźroczystych ustawieniach i systemie, więc warto było sprawdzić ponownie.

Cała reszta opcji bez z mian. W ogóle wyszła ciekawostka, że z priorytetem 1 MMCSS "pusty" brzmi jak Window Manager, a z 2 już nie. :D Zmienione na pierwszej stronie.

 

Odnośnik do komentarza
Udostępnij na innych stronach

44 minuty temu, majkel napisał:

A nie wystarczy w opcjach zaawansowanych skrótu tyknąć Uruchom jako Administrator? To jest w drugiej zakładce właściwości skrótu na dole, przycisk, a potem checkbox.

Ale tu admin nie ma nic wspólnego z priorytetem. Akurat dla foobara nie będzie to miało wpływu.

Odnośnik do komentarza
Udostępnij na innych stronach

W dniu 13.04.2020 o 23:52, majkel napisał:

Dziękuję i wzajemnie! Z ostatnich odkryć mam takie, po aktualizacji sprzętowej swojego toru (kable, mody w słuchawkach, upgrade wzmacniacza i DACa)

- bufor globalny 2400ms, a nie 30000ms (full) za dużo lub za mało pogarsza sprawę

- bufor WASAPI event/push 25/300

- MMCSS włączone bez parametru, żeby było <empty>

- Universal Volume Control wyłączone

- Kernel Streaming zainstalowany

Ogólnie to jak na poniższych obrazkach, bo może o czymś zapomniałem wspomnieć, a reszta jak w pierwszym poście. Na ostatnim obrazku lista zainstalowanych u mnie komponentów.

 

Co daje wtyczka KS jeżeli używasz na wyjściu WASAPI ?

Edytowane przez hibi
Odnośnik do komentarza
Udostępnij na innych stronach

9 godzin temu, hibi napisał:

Obawiam się że nie no ale jak wam gra.. :)

O czymś świadczy także data udostępnienia wtyczki KS - 2006 rok.

Edytowane przez bendezar
  • Thanks 1
Odnośnik do komentarza
Udostępnij na innych stronach

6 minut temu, bendezar napisał:

O czym świadczy także data udostępnienia wtyczki KS - 2006 rok.

2006 to w 2020 jak znalazł, taka czarna płyta winylowa.. dobra nie dokończę bo znowu bana dostanę za teorie spiskowe ;) 

Na marginesie tylko ASIO + wtyczka do DSD jak się ma..

Edytowane przez hibi
  • Like 1
  • Haha 1
Odnośnik do komentarza
Udostępnij na innych stronach

53 minuty temu, hibi napisał:

2006 to w 2020 jak znalazł, taka czarna płyta winylowa.. dobra nie dokończę bo znowu bana dostanę za teorie spiskowe ;) 

Na marginesie tylko ASIO + wtyczka do DSD jak się ma..

Tak tak. Jeszcze zrób, żeby mój XMOS zagrał z ASIO. Nawet jakby przestało wywalać błąd, to pod Windows 10 od takich rzeczy jest WASAPI.

 

Ad 2. Trzeba mieć również pliki DSD, żeby to miało sens. U mnie na razie się na to nie zanosi. 

 

W temacie lat - systemy operacyjne zawsze miały jądro, od lat 80-tych do teraz. Nie wykluczam, że KS przerzuca jakieś operacje właśnie tam. Nie będę tego drążył, bo podchodzę empirycznie i utylitarnie. Robi dobrze, to sobie go zostawiam. WASAPI natomiast to na pewno nie warstwa jądra systemu tylko wyżej. Na stronach Microsoft na pewno coś się na ten temat znajdzie.

 

 

Odnośnik do komentarza
Udostępnij na innych stronach

W fazie beta-testów następujące zmiany:

- Thread priority na 7 (default). Przy wypracowanych w międzyczasie zmianach zagrało jakby najlepiej.

- WASAPI event hardware buffer - 33ms. To jest oczko niżej niż maksymalna działająca u mnie wartość. Na ucho optymalna przy priorytecie 7.

- Buffer length (ten globalny) - 60ms 70ms. Robi się to tak - suwak na minimum, a następnie dwa kliknięcia klawiszem strzałki w prawo.

Z powyższymi ustawieniami minimalny bufor działa stabilnie, co wskazywałoby, że 7 to jednak najwyższy priorytet aplikacji.

Robiłem też niedawno testy konwertera XMOS wzbogaconego kością CPLD. Działają na nim wszelkie rozmiary bufora WASAPI event powyżej 3. Niżej słychać brzęczenie. Optymalne wartości wychodzą na ucho podobnie jak na gołym XMOSie.

Edytowane przez majkel
Buffer length
  • Like 2
Odnośnik do komentarza
Udostępnij na innych stronach

Dołącz do dyskusji

Możesz dodać zawartość już teraz a zarejestrować się później. Jeśli posiadasz już konto, zaloguj się aby dodać zawartość za jego pomocą.

Gość
Dodaj odpowiedź do tematu...

×   Wklejono zawartość z formatowaniem.   Usuń formatowanie

  Dozwolonych jest tylko 75 emoji.

×   Odnośnik został automatycznie osadzony.   Przywróć wyświetlanie jako odnośnik

×   Przywrócono poprzednią zawartość.   Wyczyść edytor

×   Nie możesz bezpośrednio wkleić grafiki. Dodaj lub załącz grafiki z adresu URL.

×
×
  • Dodaj nową pozycję...

Powiadomienie o plikach cookie

Zarejestruj się aby mieć większy dostęp do zasobów forum. Przeczytaj regulamin Warunki użytkowania i warunki prywatności związane z plikami cookie Polityka prywatności