Płynna pętla radaru zaczyna się od liczb, a nie od gotowego filmu. Forecast Bar przeprowadza krajowy skan przez kafelki, weryfikację, pamięć podręczną i renderowanie na urządzeniu, a potem wypełnia przerwy między skanami, aby burze płynnie przesuwały się po ekranie.
Jeden krajowy skan, około szesnastu milionów wartości
NOAA co dwie minuty łączy obserwacje radarowe w krajowy skan. Skan użyty w tym filmie ma 6100 na 2700 punktów, czyli 16 470 000 wartości. Serwer Forecast Bar sprawdza nowy skan co dwadzieścia sekund.
To różne zegary. Sprawdzanie co dwadzieścia sekund nie tworzy nowej obserwacji co dwadzieścia sekund. Podobnie ekran odświeżany wiele razy na sekundę nie dostaje tylu nowych skanów radarowych.
Wyślij wartości, a kolor dodaj później
Radar podróżuje jako liczby, jeden bajt na punkt. Telefon dodaje kolor, gdy rysuje mapę. Dzięki temu surowe wartości radaru są oddzielone od palety, którą widzi użytkownik.
Poszczególne radary nie skanują synchronicznie. Tam, gdzie któryś się spóźnia, jego dane są łagodnie przesuwane w stronę następnego prawdziwego skanu. Film opisuje to jako pracę między prawdziwymi skanami, a nie wymyślanie kolejnej obserwacji.
Twórz pełne klatki ze zweryfikowanych kafelków
Każda klatka jest cięta na kafelki. Kafelek pożycza jednopikselową ramkę od sąsiadów, aby wyświetlane fragmenty łączyły się bez szwów. Każdy kafelek dostaje też odcisk SHA-256.
Klatka staje się dostępna dopiero wtedy, gdy wszystkie jej kafelki przejdą weryfikację. Po publikacji nigdy się nie zmienia. Kafelki potrzebne na ekranie docierają razem jako jeden plik w jednym żądaniu, zamiast pojawiać się jako seria niepełnych fragmentów.
Trzymaj niezmienne klatki blisko
Ponieważ opublikowana klatka się nie zmienia, pamięci podręczne na brzegu sieci mogą trzymać ją przez rok. Stara klatka z pamięci podręcznej to nadal ta sama klatka; odnalezienie najnowszego skanu to osobne zadanie.
Na urządzeniu kafelki trafiają do pamięci GPU, a kolor jest nakładany na każdy piksel podczas rysowania. Zmierzony w filmie czas gotowości autoodtwarzania wyniósł około półtorej sekundy. To miara gotowości do odtworzenia pętli, a nie wiek obserwacji radarowej ani uniwersalny czas dostarczenia.
Przesuwaj burze między skanami zamiast je tylko przenikać
Burze przemieszczają się w minutach między obserwacjami. Zwykłe przenikanie pokazuje starą burzę, która zanika, i nową, która się pojawia, co daje dwie blade kopie.
Zamiast tego GPU szacuje pole ruchu i przesuwa echa po ich trasach między klatkami. Wynik może aktualizować się przy następnym odświeżeniu ekranu, do 120 Hz na zgodnych wyświetlaczach. To górna granica wyświetlania, a nie obietnica dla każdego urządzenia, i nie zwiększa ona częstotliwości obserwacji.
Co warto zapamiętać
Następnym razem pamiętaj:
- Oddzielaj częstotliwość skanów, kontrole serwera i odświeżanie ekranu.
- Czytaj znacznik czasu, nawet gdy animacja wygląda na ciągłą.
- Traktuj płynny ruch jako renderowanie między skanami, a nie nowe obserwacje radarowe.