Wydajność - ograniczenia protokołu ASIO/DSP, optymalizacja projektów w DAW, multi CPU
Witajcie.
Czas pogadać na tematy które zaczynają doskwierać tym którzy na potęgę wykorzystują nowoczesne komputery do pracy z DAW.
Nadeszły czasy kiedy wielordzeniowe procesory są zbyt wydajne w stosunku do możliwości aplikacji.
Wiedzą o tym szczególnie ci którzy lubią pracować w trybie online i mieć wszystko wyliczane w realtime. Zarówno partie midi jak i procesory sygnałowe. Bez freezowania. Są tego oczywiste korzyści - mniejsze zużycie dysku, miejsca na dysku, możliwość łatwej korekty/edycji czy transpozycji lub zmiany tempa. Wszystkich plusów trudno wypisać.
Ale w całej tej pięknej sielance nieograniczonych, wydawałoby się, możliwości jest coś co skutecznie ukróca nasze nasze nieograniczone ambicje.
Mianowicie:
1. Złożone projekty audio-midi szybko zapychają system DSP w naszym DAW. Efekt jest taki mając zużycie 4 rdzeniowego CPU na poziomie 30% system DSP oscyluje w granicach 90%.
Przykład - Superior Drummer z ustawionym pełnym zestawem procesorów w mikserze obciąża DSP około 13%. Kiedy CPU oblicza to lekko paroma procentami.
2. Asynchroniczna praca rdzeni powodowana różnym czasem zakańczania różnych zadań w sesji. Często widzimy sytuacje gdzie jeden rdzeń idzie na full, drugi na na połowę a reszta na 40%. Przy czym DSP idzie na max. Zadanie wykonane szybciej czeka na pozostałe.
Oczywiście każda sesja zachowuje się inaczej gdyż wynika to z konfiguracji sesji. Ile BUS'ów, SUB mixów czy insertów na ścieżkach czy sekcji master. Czasami udaje się obciążyć CPU mocniej. Szczególnie w mniej skomplikowanych sesjach ale obciążonej jednostkowo cięższymi zadaniami. Sytuacja dotyczy oczywiście wszystkich DAW'ów.
Mam tutaj jedno pytanie. Na czym dokładnie polega wyliczanie % zużycia systemu DSP. Do czego się konktretnie odnosi? Gdyż nie jest to procentowe zużycie mocy CPU. Na moje oko jest to wykaz możliwej do wykorzystania mocy ustawionym buforze do pracy z niskim poziomie latencji. Ale skoro tak jest, to jaka przyszłość nas czeka? Ze CPU będa sie rozwijały a my będziemy ograniczeni poprzez DSP? Jak rozwiązać ten problem, czy da sie to załatwić zmianą/ulepszeniem protokołu ASIO, komunikacji miedzy interfejsem a aplikacją.
Gdzie konkretnie leży problem? Na dłuższą metę jest to poważne ograniczenie.
Czekam na jakieś ciekawe informacje od ludzie którzy temat znają od strony programowania i są to wstanie jakość łatwo przekazać.
Pozdrowienia!
Lukas