• IT-Karriere:
  • Services:

TV-Oberfläche: Wie Netflix seine Renderzeiten massiv drückt

Damit die Netflix-App für TV-Geräte schnell reagiert, hat sich das Team viel einfallen lassen. So läuft die Javascript-Anwendung nicht im Browser, nutzt einen eigenen Renderer und das React-Framework ist mit Funktionen aufgebohrt worden, vor deren Einsatz das Team selbst warnt.

Artikel veröffentlicht am ,
Damit Netflix auf dem Fernseher nicht ruckelt, betreiben die Entwickler einen enormen Aufwand.
Damit Netflix auf dem Fernseher nicht ruckelt, betreiben die Entwickler einen enormen Aufwand. (Bild: Netflix)

Seit 2015 nutzt der Videostreaming-Anbieter Netflix das Javascript-Framework React für die Oberfläche seiner App auf Smart-TVs. Das große Problem für Netflix besteht dabei darin, auch auf vergleichsweise leistungsschwachen Geräten eine flüssige Darstellung der App zu liefern. In seinem Techblog erklärt das Unternehmen, dass insbesondere React dafür deutlich angepasst worden ist und das zuständige Team auch ungewöhnliche Wege gegangen ist.

Stellenmarkt
  1. SySS GmbH, Tübingen
  2. Universitätsklinikum Bonn, Bonn

So ist zwar zum Beispiel das UI selbst in Javascript geschrieben, zum Rendern wird aber keine Browserengine genutzt, sondern eine eigene Renderschicht mit dem Namen Gibbon. Dies führt allerdings dazu, dass Netflix das React-Framework an Gibbon anpassen musste. Die neue API verhalte sich ähnlich zu React, das in das DOM rendert. Statt HTML-Elementen wie divs, spans und inputs gebe es aber lediglich ein Widget, das das Inlining von Style-Informationen unterstütze.

Inlining und tiefgreifendes Javascript zur Beschleunigung

Das Inlining wird darüber hinaus für viele weitere Bestandteile des Codes genutzt, allen voran für das Ergebnis des Funktionsaufrufes create.Element, das zur Build-Zeit Inline-ersetzt wird. Damit das Inling auch überall im Code genutzt werden kann, haben die Entwickler zusätzlich dazu ihre interne API so gestaltet, dass vollständig auf die Verwendung des Ref-Attributs verzichtet werden kann.

Explizit nicht zur Nachahmung von Netflix empfohlen ist die Vorgehensweise, verschiedene Props mehrerer Components zusammenzuführen, da diese viele Dinge völlig unerwartet kaputt machen könnte. Netflix nutzt hierzu die Prototypenkette statt einer Iteration, was wiederum aber zum Einfrieren eines Objekts führen könne. In extremen Testfällen habe die Renderzeit damit aber von 500 ms auf nur 60 ms reduziert werden können.

Darüber hinaus ist das Team in der Lage, die Werte von Style-Elementen eines Widgets zu memoisieren, die sich bei einem Rendervorgang nicht ändern. So muss nur die tatsächlich aufgetretene Änderung berechnet werden. Mittels statischer Code-Analyse kann eine mögliche Änderung vorhergesagt werden. Der dafür nötige Code beschleunige die Anwendung zwar weiter, der zu verteilende Code werde dadurch jedoch wesentlich größer.

Derartiger Aufwand rechne sich aber letztlich für Netflix, immerhin sei die Leistung der App das wohl wichtigste Merkmal für die Nutzer.

Bitte aktivieren Sie Javascript.
Oder nutzen Sie das Golem-pur-Angebot
und lesen Golem.de
  • ohne Werbung
  • mit ausgeschaltetem Javascript
  • mit RSS-Volltext-Feed


Anzeige
Top-Angebote
  1. Nach Gratismonat 5,99€ - jederzeit kündbar
  2. 38,99€
  3. (u. a. BenQ 24,5 Zoll Monitor für 99,00€, Sharkoon PureWriter Tastatur 59,90€, Lenovo IdeaPad...
  4. (aktuell u. a. Sharkoon Shark Zone M51, Astro Gaming C40 TR Gamepad für 169,90€, QPAD MK-95...

Bizzi 16. Jan 2017

Ich glaube, die bauen eher auf JS, um Plattformunabhängiger zu sein. Auf meinem SmartTV...

Andre_af 15. Jan 2017

Das ist jetzt aber Äpfel mit Birnen vergleichen. Wenn du die "Alles ohne Mehrkosten...

omtr 14. Jan 2017

tatsächlich war mein erster eindruck, nachdem ich mir seit einigen jahren amazon prime...

Jesper 14. Jan 2017

In den Accounteinstellungen gibt's Punkte für Sound- und Untertitelpräferenzen

opodeldox 14. Jan 2017

Initial wäre es schneller, aber danach hat man viele Technologien am Hals die man alle...


Folgen Sie uns
       


Parksensor von Bosch ausprobiert

Wenn es darum geht, Autofahrer auf freie Parkplätze zu lotsen, lassen sich die Bosch-Sensoren sinnvoll einsetzen.

Parksensor von Bosch ausprobiert Video aufrufen
Sicherheitslücken: Microsoft-Parkhäuser ungeschützt im Internet
Sicherheitslücken
Microsoft-Parkhäuser ungeschützt im Internet

Eigentlich sollte die Parkhaussteuerung nicht aus dem Internet erreichbar sein. Doch auf die Parkhäuser am Microsoft-Hauptsitz in Redmond konnten wir problemlos zugreifen. Nicht das einzige Sicherheitsproblem auf dem Parkhaus-Server.
Von Moritz Tremmel

  1. Application Inspector Microsoft legt Werkzeug zur Code-Analyse offen
  2. Support-Ende Neben Windows 7 ist jetzt auch Server 2008 unsicher
  3. Sprachaufnahmen Gespräche von Skype praktisch ohne Datenschutz analysiert

Kailh-Box-Switches im Test: Besser und lauter geht ein klickender Switch kaum
Kailh-Box-Switches im Test
Besser und lauter geht ein klickender Switch kaum

Wer klickende Tastatur-Switches mag, wird die dunkelblauen Kailh-Box-Schalter lieben: Eine eingebaute Stahlfeder sorgt für zwei satte Klicks pro Anschlag. Im Test merken unsere Finger aber schnell den hohen taktilen Widerstand.
Ein Test von Tobias Költzsch

  1. Keychron K6 Kompakte drahtlose Tastatur mit austauschbaren Switches
  2. Charachorder Schneller tippen als die Tastatur erlaubt
  3. Brydge+ iPad-Tastatur mit Multi-Touch-Trackpad

Ryzen Mobile 4000 (Renoir): Lasst die Ära der schrottigen AMD-Notebooks enden!
Ryzen Mobile 4000 (Renoir)
Lasst die Ära der schrottigen AMD-Notebooks enden!

Seit vielen Jahren gibt es kaum Premium-Geräte mit AMD-Chips und selbst bei vermeintlich identischer Ausstattung fehlen Eigenschaften wie eine beleuchtete Tastatur oder Thunderbolt 3. Schluss damit!
Ein IMHO von Marc Sauter

  1. HEDT-Prozessor 64-kerniger Threadripper schlägt 20.000-Dollar-Xeons
  2. Ryzen Mobile 4000 AMDs Renoir hat acht 7-nm-Kerne für Ultrabooks
  3. Zen+ AMD verkauft Ryzen 5 1600 mit flotteren CPU-Kernen

    •  /