Wysokie zużycie procesora/Wysokie kodowanie/Zbyt długo trwa kodowanie? Przeczytaj to najpierw!

Kodowanie wideo jest operacją bardzo wymagającą procesora, a OBS nie jest wyjątkiem. OBS używa najlepszej dostępnej biblioteki kodowania wideo open source, x264, do kodowania wideo i może używać koderów sprzętowych, takich jak NVENC na wysokiej klasy układach GPU. Jednakże, niektórzy ludzie mogą doświadczyć wysokiego wykorzystania CPU, a inne programy uruchomione na twoim komputerze mogą doświadczyć pogorszenia wydajności, gdy OBS jest aktywny, jeśli ustawienia są zbyt wysokie dla sprzętu twojego komputera. W niektórych przypadkach, OBS powie „Encoding overloaded!” na swoim pasku stanu, co oznacza, że komputer nie może kodować wideo wystarczająco szybko, aby utrzymać ustawienia, które masz ustawione, co spowoduje zatrzymanie wideo po kilku sekundach lub okresowe zacinanie się.
Oto kilka sposobów, aby zmniejszyć wykorzystanie zasobów i, miejmy nadzieję, sprawić, że zarówno OBS, jak i twoje programy będą działać szybciej podczas kodowania:
Zmniejsz rozdzielczość wyjściową
Rozdzielczość, w której kodujesz, ma największy wpływ na wykorzystanie procesora. Na przykład rozdzielczość 1080p ma ponad dwa razy więcej pikseli w każdej klatce niż 720p, co odpowiednio zwiększa użycie procesora. Najczęstszym sposobem zmniejszenia użycia CPU jest zmniejszenie rozdzielczości. Gdy zmniejszasz rozdzielczość, OBS bierze scenę i zmniejsza ją tak bardzo, jak mu każesz, zanim przekaże ją do kodera. Możesz chcieć mieć rozdzielczość podstawową 1080p, ponieważ w takiej rozdzielczości jest twoja zawartość, ale twój procesor może nie być w stanie zakodować nieskalowanego wideo 1080p. Można więc zmniejszyć rozdzielczość do 720p (lub niższej), aby zachować ten sam obraz, ale użyć mniejszej rozdzielczości w celu zmniejszenia obciążenia procesora.
Możesz zmienić, jak bardzo chcesz zmniejszyć rozdzielczość w Ustawienia > Wideo > Rozdzielczość wyjściowa (skalowana). Możesz zachować rozdzielczość bazową (Canvas) taką samą, aby układ nie uległ zmianie, a następnie zmniejszyć rozdzielczość do takiej, która zapewni Ci dobrą wydajność.
Różne filtry zmniejszania rozdzielczości (bilinear, bicubic i Lanczos) po prostu zmieniają algorytm używany do zmniejszania obrazu: bilinear jest najszybszy i zajmuje najmniej zasobów, ale nie wygląda tak dobrze, podczas gdy Lanczos zajmuje więcej zasobów, ale wygląda lepiej. Wydajnościowo jednak nie różnią się one aż tak bardzo. Feel free to experiment with which filter works best for you.
Lower your frame rate
If you’re streaming above 30 FPS, another option is to consider is lowering your frame rate to 30 FPS. Zmniejszy to liczbę klatek, które twój procesor musi przetworzyć w danym przedziale czasowym, co zmniejszy zużycie procesora. Możesz nawet poczuć potrzebę obniżenia liczby klatek na sekundę do czegoś poniżej 30 FPS, w przypadku gdy twój procesor centralny jest naprawdę słaby i zmaga się z problemami.
Użyj koderów sprzętowych (Quicksync, AMF lub NVENC)
Quicksync, AMF i NVENC to kodery sprzętowe, które są dostępne odpowiednio w najnowszych zintegrowanych procesorach graficznych Intela, nowszych procesorach graficznych AMD i najnowszych procesorach graficznych NVIDIA. Możesz odciążyć te kodery sprzętowe kosztem nieco zauważalnego spadku jakości przy tej samej przepływności, choć nowsze karty NVIDIA osiągają w tym zakresie lepsze wyniki niż kodowanie programowe.) Należy pamiętać, że QSV / AMF są szczególnie złe przy niskich przepływnościach, więc nie są zalecane do strumieniowania.
Jeśli masz jeden z wymienionych koderów sprzętowych, możesz sprawdzić, czy te opcje są dostępne w ustawieniach kodowania.
Quicksync jest nieco trudniejszy do skonfigurowania, ale tutaj jest przewodnik: https://obsproject.com/forum/resources/how-to-use-quicksync.82/
Podobnie, tutaj jest przewodnik rozwiązywania problemów dla kodera AMF: https://github.com/Xaymar/obs-studio_amf-encoder-plugin/wiki/Troubleshooting-Guide
Zmień ustawienia wstępne x264
Jeśli używasz kodera programowego (x264), ma on kilka „ustawień wstępnych”, które odpowiednio zmienią jakość wideo i użycie procesora. Domyślnym ustawieniem OBS jest veryfast, co w większości przypadków jest najlepszą równowagą między zużyciem procesora a jakością wideo. To ustawienie może być zmienione w Ustawieniach > Wyjście (sprawdź Enable Advanced Encoder Settings jeśli jesteś w trybie Simple) > Preset Encodera.
Nazwa presetu jest przeznaczona do wskazania jak „szybko” koder powinien działać. Szybsze ustawienia będą używać mniej CPU kosztem jakości obliczeń. Wolniejsze ustawienia użyją więcej obliczeń dla jakości, ale użyją znacznie więcej CPU.
Na przykład, jeśli chciałbyś spróbować zmniejszyć użycie CPU bez zmiany rozdzielczości lub FPS, możesz zmniejszyć użycie CPU zmieniając ustawienia x264 na superszybkie lub ultraszybkie, a x264 spędzi mniej czasu próbując sprawić by obraz wyglądał dobrze, i oszczędzi ci trochę cykli CPU. Obraz może wyglądać na nieco bardziej zbity lub rozpikselowany, ale będziesz w stanie zachować swoją rozdzielczość/fps.
Bądź bardzo ostrożny z tym ustawieniem, ponieważ nawet jeden krok szybciej lub wolniej może mieć ogromny wpływ na użycie CPU. Na przykład ustawienie wstępne o nazwie „faster” może zużywać dwa razy więcej procesora niż ustawienie „veryfast”, znajdujące się tuż nad nim. Jeśli nie jesteś pewien, na co je ustawić, zawsze ustawiaj je z powrotem na „veryfast”.
Sprawdź swoje źródła
Niektóre źródła, takie jak kamery internetowe i karty przechwytujące, mogą zużywać dużo CPU przez sam fakt, że znajdują się na scenie, ponieważ muszą dekodować dane wideo. Jeśli używasz kamery internetowej, sprawdź, czy nie działa w zbyt wysokiej rozdzielczości (więcej niż 480p jest rzadko potrzebne, jeśli nie jest to pełny ekran). Źródła przeglądarkowe mogą również zużywać procesor, jeśli aktywne są złożone animacje lub skrypty.
Jeśli masz wiele różnych scen dla różnych scenariuszy, rozważ podzielenie ich na oddzielne kolekcje scen, jeśli jest to właściwe. Zmniejszy to liczbę aktywnych źródeł, które OBS musi śledzić, co może zmniejszyć zużycie procesora.
Zmodernizuj swój sprzęt
Niektóre procesory są tak słabe, że są prawie beznadziejne, jeśli chodzi o uzyskanie czegokolwiek przyzwoicie działającego. Dwurdzeniowe procesory i APU AMD są z tego powodu szczególnie notoryczne. Być może uda im się uruchomić strumień 360p w 25 FPS przy użyciu ustawienia ultrafast, ale z pewnością nie będzie to wyglądało dobrze. Decyzja należy do Ciebie. Jeśli masz procesor Sandy Bridge i5 lub i7 lub nowszy, lub AMD 6-rdzeniowy lub 8-rdzeniowy lub nowszy, to powinieneś być w stanie uzyskać przyzwoicie wyglądający strumień w rozsądnych rozdzielczościach i z rozsądną liczbą klatek na sekundę.
OBS różni się od wielu innych programów do strumieniowania/nagrywania tym, że wykorzystuje procesor graficzny w celu uzyskania lepszej wydajności. Niestety, na niektórych starszych lub budżetowych modelach układów GPU może to stanowić wąskie gardło dla wydajności Twojego strumienia. Jest to zazwyczaj spowodowane niską przepustowością pamięci i/lub niską liczbą rdzeni procesora. Układy GPU takie jak nVidia GTX serii 200 (250, 260, 280) oraz 9800GT i wcześniejsze były kiedyś bardzo wydajne, ale obecnie są to bardzo stare karty, które sprawią, że wydajność OBS znacznie ucierpi.
Uruchamiaj wszystkie źródła dźwięku z tą samą częstotliwością
Jeśli dźwięk na pulpicie działa z częstotliwością 44100 Hz, ale masz OBS ustawiony na kodowanie z częstotliwością 48000 Hz, będzie on musiał ponownie próbkować dźwięk, co zużywa czas procesora. Im więcej źródeł audio dodasz (np. mikrofon, źródła multimedialne), które używają różnych częstotliwości próbkowania, tym więcej CPU będzie zużywane przez resampling. Uruchom wszystkie swoje urządzenia audio i OBS na tej samej częstotliwości, aby tego uniknąć.
Inne programy/gry też używają CPU
Niektóre programy (szczególnie gry) mogą używać dużo CPU. Dotyczy to zarówno tych oczywistych, takich jak Battlefield 4, jak i nieoczywistych, takich jak gry odtwarzane przez emulatory. Jeśli gra używa dużo CPU, może zakłócać działanie OBS, tak samo jak OBS może zakłócać działanie gry, więc będziesz musiał rozważyć zmniejszenie tych ustawień, aby skompensować grę, w którą grasz. Można również użyć ustawienia „Priorytet procesu” w Ustawienia > Zaawansowane, aby zwiększyć lub zmniejszyć priorytet procesora programu. To jest wspólne, aby dać OBS „Powyżej normalnego” priorytet procesu, aby zapewnić, że OBS jest priorytetem przez system i działa płynnie, choć używać go z ostrożnością.
Run your log through the log analyzer for more advice
Jeśli są jakieś inne rzeczy, które mogą być przyczyną OBS do uruchomienia wolno, często można je znaleźć przez uruchomienie OBS log przez R1CH’s log analyzer. Dzięki niemu dowiesz się o innych problemach z wydajnością, które mogą spowalniać działanie systemu, lub o innych problemach, które możesz mieć z ustawieniami. Możesz to zrobić z menu Pomoc OBS > Pliki dziennika, lub wklejając swój dziennik do pola na stronie analizatora.

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany.