# Czemu gra rytmiczna nie trzyma rytmu? Dźwięk dociera za późno

> Urządzenie odtwarza dźwięk ze stałym opóźnieniem, więc trafienia w rytm liczą się za późno. Jak to rozpoznać i jak wykalibrować to opóźnienie.

Source: https://apps.swtlm.com/pl/blog/why-does-my-rhythm-game-feel-out-of-sync · TLM Apps — focused mobile apps from a team of engineers.
Published: 2026-08-27 · Updated: 2026-08-27 · TLM Software Design

Gra rytmiczna nie trzyma rytmu, bo urządzenie odtwarza każdy dźwięk stałą chwilę
po tym, jak gra go zażąda. Słuchawki bezprzewodowe dokładają tego opóźnienia
tyle, że [Arrows Rhythm](https://apps.swtlm.com/arrows-puzzle-game) wymierza suwak kalibracji na
±200 ms — przy oknie Perfect wynoszącym ±53 ms na domyślnej ścieżce 90 BPM. To
opóźnienie jest stałą twojego urządzenia, a nie nową liczbą przy każdym starcie.
I właśnie dlatego jedna kalibracja jest warta dwóch minut.

## To twoje wyczucie czy gra?

Opóźnienie wyjścia to odstęp między momentem, w którym gra prosi o dźwięk, a
momentem, w którym ten dźwięk dociera do twoich uszu. Gra prosi, system miksuje,
sprzęt przetwarza i dopiero potem rusza powietrze. Ile to trwa, zależy od
telefonu, od słuchawek i od tego, czy ścieżka idzie kablem.

Gra tymczasem ocenia stuknięcie na własnej siatce uderzeń. Na tej siatce
uderzenie wypadło dokładnie wtedy, gdy poprosiła o dźwięk. Stukasz więc w
uderzenie, które z jej punktu widzenia już minęło.

Czy to zauważysz, decyduje skala. Arrows Rhythm liczy stuknięcie jako Perfect,
dopóki mieści się w 8 % uderzenia z każdej strony. Na ścieżce Steady, od której
gra zaczyna, przy 90 BPM daje to ±53 ms. Opóźnienie tej wielkości jest
niesłyszalne jako opóźnienie i zabójcze jako punktacja.

Jedno sprawdzenie oddziela problem sprzętu od problemu ręki. Pudła z opóźnienia
są przekrzywione: niemal każdy werdykt pada po tej samej stronie uderzenia,
partia za partią. Pudła z wyczucia rozkładają się na obie strony.

## Czemu opóźnienie jest takie samo przy każdym starcie?

Gra ma dwa zegary, w których może zakotwiczyć siatkę uderzeń, i ten wybór
decyduje, czy kalibracja cokolwiek daje.

Ten łatwy to zegar ruszający wraz z aplikacją. Tyle że słyszalne uderzenie 0 nie
wypada przy starcie. Wypada wtedy, gdy platforma naprawdę uruchomi odtwarzacz —
po zmiennej porcji parsowania i przygotowań. Pauza pogarsza sprawę: dźwięk
zamarza, zegar nie, więc każde wyjście na ekran główny znów przesuwa fazę.

Druga możliwość to zakotwiczyć siatkę w samym dźwięku. Arrows Rhythm tak robi.
Odtwarzacz zgłasza pozycję pętli za każdym razem, gdy ta skacze: przy świeżym
starcie albo przy powrocie z tła. Silnik przesuwa wtedy siatkę tak, by uderzenie
0 trafiło w pozycję 0 pętli. Trzyma się to tylko wtedy, gdy pozycja 0 naprawdę
jest uderzeniem 0, więc trzy podkłady tempa są generowane jako całkowita liczba
taktów i zapisywane bezstratnie.

Kotwiczenie nie usuwa opóźnienia wyjścia i nie ma takiego zadania. Zamienia je z
losowego błędu na każde uruchomienie w stały błąd na urządzenie. Na tym stoi cała
idea kalibracji: suwak nie poprawi błędu, który jest losowany od nowa przy
każdym otwarciu gry.

Kodek stratny po cichu zniszczyłby to kotwiczenie. Jego dopełnienie kodera
przesuwa punkt pętli o kilka milisekund na każdym szwie, a przesunięcia się
sumują. Dlatego podkłady są pisane jako pełne takty, z wyłączonym wyciszeniem na
końcu, i trzymane bezstratnie. Siatkę, która zsuwa się o jeden szew naraz,
kalibruje się na początku sesji i już nie na jej końcu.

## Jak wykalibrować w jakieś dwie minuty

Kalibracja to pomiar, więc niech warunki przypominają to, jak naprawdę grasz.

1. **Użyj tego wyjścia, na którym będziesz grać.** Offset opisuje jedną ścieżkę
   dźwiękową. Kalibrowanie na głośniku i granie w słuchawkach myli się dwa razy.
2. **Podgłoś muzykę na tyle, by wyraźnie słyszeć uderzenie, i stukaj w
   dźwięk.** Nie w animację i nie we własne liczenie.
3. **Zagraj krótki kawałek i przeczytaj werdykty.** Zawsze ta sama strona to
   offset urządzenia do usunięcia. Wymieszane — kalibracja nie jest twoim
   problemem.
4. **Przesuń offset i sprawdź jeszcze raz.** Kroki po jakieś 20 ms czuć między
   partiami; dopracowuj, gdy kierunek już się zgadza.

Kierunek to ta część, którą bierze się na odwrót. Słyszeć uderzenie z
opóźnieniem to przy bezprzewodowym dźwięku norma. Znaczy to, że twoje stuknięcie
wypada na siatce gry późno, więc odczyt trzeba przesunąć **wcześniej**, czyli na
minus. Wyprzedzanie uderzenia jest odwrotnością i wymaga plusa.

W Arrows Rhythm ten regulator to **Settings → Rhythm sync**: suwak sięgający
±200 ms, z przyciskiem minus i plus po bokach, które przesuwają go co jedną
milisekundę, oraz Reset wracający do 0. Offset rusza wyłącznie klasyfikator
stuknięć. Fala uderzeń na planszy dalej idzie za dźwiękiem, więc kalibrowanie
punktacji nie rozjeżdża ci ekranu.

## Czemu słuchawki bezprzewodowe to pogarszają?

Bo ścieżka bezprzewodowa wykonuje więcej pracy, zanim do ucha cokolwiek dotrze.
Dźwięk jest kompresowany, przesyłany, buforowany po drugiej stronie i
dekodowany. Każdy z tych kroków kosztuje czas, którego kabel nie wydaje. Dlatego
suwak sięga ±200 ms, a nie kilkudziesięciu: zakres jest wymierzony pod dźwięk
bezprzewodowy, nie pod głośnik telefonu.

Wynikają z tego dwie rzeczy. Zmiana urządzenia wyjściowego oznacza kalibrację od
nowa, bo zapisana liczba opisuje tę ścieżkę, na której ją zapisano. I warto to
powtórzyć po zmianie słuchawek nawet wtedy, gdy nic nie zgrzyta: mniejszy błąd
dalej kosztuje cię werdykty Perfect, które wcześniej były twoje.

Opóźnieniem nazywa się też czas obiegu, który mierzy połączenie — czyli
[ping, jitter i utratę pakietów](https://apps.swtlm.com/pl/blog/what-ping-jitter-and-packet-loss-mean),
inne liczby o innych objawach. Twoje wi-fi nie ma z tą sprawą nic wspólnego.
Zwykłe poziomy Arrows Rhythm chodzą offline, więc i siatka uderzeń, i twoje
stuknięcia są na urządzeniu.

## A jeśli kalibracja nie pomaga?

Wtedy chodzi o jedną z tych rzeczy, a wiedza która to oszczędza ci grzebania w
suwaku, który i tak nic by nie dał.

- **Liczba dobra wczoraj dziś już nie jest.** Gra kotwiczy siatkę inaczej przy
  każdym starcie i żaden zapisany offset tego nie przeżyje. Nie ma tu czego
  ustawiać — i to jest uczciwa odpowiedź.
- **Zaczyna się dobrze, a odpływa w trakcie jednej sesji.** To arytmetyka w
  grze, nie ty. Uderzenie przy 90 BPM trwa 666,666… ms, a wersja zaokrąglająca to
  do 666 zbiera jakąś dziesiątą część procenta na uderzenie, aż obraz rozejdzie
  się z dźwiękiem.
- **Puls widzisz, a dźwięk słyszysz w innych momentach.** Na opóźnionym wyjściu
  naprawdę docierają osobno. Arrows Rhythm rysuje falę z własnej osi czasu
  ścieżki i nie nakłada na nią twojego offsetu. Idź za dźwiękiem i pod niego
  kalibruj.
- **Wolisz nie mieć warstwy rytmicznej.** Zrozumiałe. Przełącznik Rhythm w
  ustawieniach zdejmuje werdykty, falę i statystyki rytmu we wszystkich trybach i
  zamienia podkład perkusyjny na spokojną pętlę ambientową. Każde udane
  stuknięcie w Regular i w Daily płaci wtedy stałą ArrowCoin zamiast kwoty za
  werdykt, więc pętla zarobku tę decyzję przeżywa.

Gra potrafi wydawać się niesprawiedliwa z powodów rozstrzygniętych przy budowie,
a nie w chwili, gdy grasz.
[Mahjong solitaire](https://apps.swtlm.com/pl/blog/are-mahjong-solitaire-boards-always-solvable) ma ten
sam kształt: losowe rozdanie bywa nie do wygrania, zanim go dotkniesz, i dlatego
[Midnight Mahjong](https://apps.swtlm.com/mahjong-solitaire) buduje domyślne układy wzdłuż symulowanej
partii, zamiast najpierw rozsypać kamienie. Rozpoznanie, z którym z dwóch masz do
czynienia, to większość rozwiązania.

[Arrows Rhythm](https://apps.swtlm.com/arrows-puzzle-game) trzyma suwak synchronizacji w zwykłych
ustawieniach, a nie za minigrą kalibracyjną. Poziomy 1–500 są darmowe, reszta
kosztuje jednorazowo $2.99. Jedyna reklama to baner w trybie Zen, jedynym bez
warstwy rytmicznej, a osobny zakup za $1.99 go zdejmuje. Dlaczego mówimy to
wszystko na głos, wyjaśnia
[ile kosztuje abonament w grze logicznej](https://apps.swtlm.com/pl/blog/what-a-puzzle-game-subscription-costs).
Jeśli wolisz popracować nad myśleniem niż nad wyczuciem czasu, następna do
przeczytania jest
[strategia gry z klockami](https://apps.swtlm.com/pl/blog/block-puzzle-strategy-keeping-the-board-open),
a reszta półki stoi na [stronie gier](https://apps.swtlm.com/pl/games).

## Frequently asked questions

**Czemu gra rytmiczna nie trzyma rytmu?**

Urządzenie odtwarza dźwięk stałą chwilę po tym, jak gra go zażąda, więc uderzenie, które słyszysz, na zegarze gry już minęło. Stuknięcie w to, co słyszysz, wypada więc za późno. Offset kalibracji przesuwa sposób, w jaki gra odczytuje stuknięcie, aż oba znów się pokryją.

**Czy opóźnienie jest inne przy każdym uruchomieniu?**

Nie powinno być. Opóźnienie wyjścia należy do urządzenia i do twojej ścieżki dźwiękowej, więc przy każdym starcie jest takie samo — pod warunkiem że gra kotwiczy siatkę uderzeń w dźwięku, a nie w zegarze ruszającym razem z aplikacją. Arrows Rhythm kotwiczy się w pozycji odtwarzania zgłaszanej przez odtwarzacz, i to dlatego raz zapisany offset dalej działa.

**W którą stronę przesunąć offset?**

Jeśli słyszysz uderzenie z opóźnieniem, co przy słuchawkach bezprzewodowych jest normą, twoje stuknięcia wypadają na siatce gry za późno — przesuń odczyt wcześniej, czyli na minus. Jeśli raczej wyprzedzasz uderzenie, weź plus. W Arrows Rhythm ten suwak to Settings → Rhythm sync i sięga ±200 ms.

**Czy po zmianie słuchawek trzeba kalibrować od nowa?**

Tak. Offset to jedna liczba dla jednej ścieżki dźwiękowej, a ścieżka bezprzewodowa dokłada dużo więcej opóźnienia niż głośnik telefonu. Zmiana wyjścia oznacza ustawienie go na nowo albo powrót do 0.

**A jeśli w ogóle nie chcę warstwy rytmicznej?**

Wyłącz ją. Arrows Rhythm ma w ustawieniach główny przełącznik Rhythm: wyłączony znosi werdykty Perfect, Good i Off-beat oraz falę uderzeń, a każde udane stuknięcie w trybie Regular i w Daily płaci wtedy stałą ArrowCoin. Tryb Zen i tak wychodzi bez warstwy rytmicznej.

