Eine flüssige Radarschleife beginnt mit Zahlen, nicht mit einem fertigen Film. Forecast Bar führt einen landesweiten Scan durch Kacheln, Prüfung, Caching und Darstellung auf dem Gerät und überbrückt dann die Lücken zwischen den Scans, damit Gewitter flüssig über den Bildschirm ziehen können.
Ein landesweiter Scan, rund sechzehn Millionen Werte
Die NOAA führt Radarbeobachtungen alle zwei Minuten zu einem landesweiten Scan zusammen. Der in diesem Film verwendete Scan enthält 6.100 mal 2.700 Punkte: 16.470.000 Werte. Der Server von Forecast Bar sucht alle zwanzig Sekunden nach einem neuen Scan.
Das sind verschiedene Uhren. Eine Prüfung alle zwanzig Sekunden erzeugt nicht alle zwanzig Sekunden eine neue Beobachtung. Ebenso bekommt ein Bildschirm, der sich viele Male pro Sekunde aktualisiert, nicht ebenso viele neue Radarscans.
Werte senden, Farbe später ergänzen
Das Radar reist als Zahlen, ein Byte pro Punkt. Die Farbe fügt das Handy hinzu, wenn es die Karte zeichnet. So bleiben die zugrunde liegenden Radarwerte von der Farbpalette getrennt, die du siehst.
Einzelne Radare schwenken nicht synchron. Wo eines spät dran ist, werden seine Daten sanft an seinen nächsten echten Scan herangeführt. Der Film beschreibt das als Arbeit zwischen echten Scans, nicht als Erfinden einer weiteren Beobachtung.
Vollständige Frames aus geprüften Kacheln bauen
Jedes Frame wird in Kacheln geschnitten. Eine Kachel leiht sich von ihren Nachbarn einen Rand von einem Pixel, damit die angezeigten Stücke nahtlos aneinanderstoßen. Jede Kachel bekommt außerdem einen SHA-256-Fingerabdruck.
Ein Frame geht erst live, wenn alle seine Kacheln die Prüfung bestanden haben. Einmal veröffentlicht, ändert es sich nie mehr. Die für den Bildschirm nötigen Kacheln kommen gemeinsam als eine Datei in einer Anfrage an, statt nach und nach als unvollständige Stücke zu erscheinen.
Unveränderliche Frames in der Nähe halten
Weil sich ein veröffentlichtes Frame nicht ändert, können Edge-Caches es ein Jahr lang behalten. Ein altes Frame im Cache ist immer noch genau dieses Frame. Den neuesten Scan zu finden, ist eine eigene Aufgabe.
Auf dem Gerät werden die Kacheln im GPU-Speicher gestapelt, und die Farbe wird beim Zeichnen pro Pixel aufgetragen. Das im Film gemessene Ergebnis für die automatische Wiedergabe lag bei etwa anderthalb Sekunden. Das misst die Bereitschaft, die Schleife abzuspielen, nicht das Alter einer Radarbeobachtung oder eine allgemeine Lieferzeit.
Gewitter zwischen den Scans bewegen, statt nur zu überblenden
Gewitter ziehen in den Minuten zwischen den Beobachtungen weiter. Eine einfache Überblendung zeigt, wie das alte Gewitter aus- und das neue eingeblendet wird, und erzeugt so zwei blasse Kopien.
Stattdessen schätzt die GPU ein Bewegungsfeld und bewegt die Echos zwischen den Frames entlang ihrer Bahnen. Das Ergebnis kann sich mit der nächsten Bildschirmaktualisierung ändern, auf geeigneten Displays mit bis zu 120Hz. Das ist eine Obergrenze des Displays, kein Versprechen für jedes Gerät, und es erhöht nicht die Häufigkeit der Beobachtungen.
Das nimmst du mit
Nutze diese Prüfpunkte beim nächsten Mal:
- Trenne Scan-Takt, Serverprüfungen und Bildschirmaktualisierung.
- Lies den Zeitstempel, auch wenn die Animation durchgehend aussieht.
- Verstehe flüssige Bewegung als Darstellung zwischen den Scans, nicht als neue Radarbeobachtungen.