top of page

LightMap

Bereit für die nächste Generation von Videoinhalten
 

Ich bin Jan Hölscher, der technische Leiter für Rendering in LightMap. Ich bin seit mehr als fünf Jahren mit der Rendering-Performance von LightMap vertraut. Mein persönliches Ziel ist es, alles zu tun, um die Bereitstellung hervorragender UX von LightMap schneller, einfacher und zuverlässiger zu machen. Ich freue mich darauf, euch zu berichten, was wir in dieser Zeit getan haben, um eine neue, hochmoderne LightMap-Rendering-Engine-Architektur aufzubauen. Dies zu erreichen, war ein enormer Kraftakt, und ich hoffe, dass ihr viel Freude daran haben werdet, davon zu hören!


Im Jahr 2023 werden wir den Prozess der Entwicklung, des Aufbaus und der Auslieferung dieser Architektur weitgehend abschließen. Nennen wir sie LightMapNG, denn es handelt sich wirklich um eine Rendering-Architektur der nächsten Generation, die alles bisher Dagewesene bei weitem übertrifft. LightMapNG ist seit mindestens drei Jahren in Arbeit und stellt die kollektive Arbeit vieler engagierter LightMap-Entwickler dar. Es erschließt ein enormes Potenzial für die nächste Generation schneller, flüssiger, zuverlässiger, reaktionsschneller und interaktiver Inhalte. Es ist auch eine Grundlage, die meiner Meinung nach einen neuen Mindeststandard für alle Rendering-Engines definiert, auf den sich Entwickler verlassen können.


Haupt Ziel

Das Hauptziel von LightMapNG ist, dass die Engine-Implementierung und der Reichtum ihrer Rendering-APIs kein einschränkender Faktor für die Benutzerfreundlichkeit von LightMap sein sollte.


Sie sollten sich keine Sorgen machen müssen, dass Engine-Bugs Funktionen unzuverlässig machen oder das Rendering Ihrer Ausgabe stören.


Es sollte keine mysteriösen Leistungsklippen geben. Und Sie sollten sich nicht mit fehlenden integrierten Funktionen herumschlagen müssen.


Es sollte einfach funktionieren.


Ich glaube, LightMapNG ist ein großer Schritt in Richtung dieses Ziels. Vor LightMapNG konnten wir Rendering-Funktionen hinzufügen (und haben dies auch getan) und die Leistung verbessern, aber wir hatten Schwierigkeiten, diese Funktionen für Entwickler zuverlässig zu machen, und es gab viele Leistungseinbrüche. Jetzt haben wir eine Architektur, die viele dieser Probleme systematisch ausmerzt und auch fortgeschrittene Funktionen freigibt, die vorher nicht als machbar galten. Sie:


  • Sie verfügt über grundsolide Kernfunktionen für verschiedene Plattformen, Geräte und Betriebssysteme.

  • hat eine vorhersehbare und zuverlässige Leistung.

  • Maximale Nutzung der Hardware-Funktionen (Kerne, GPU, Bildschirmauflösung, Bildwiederholraten, Low-Level-Raster-APIs).

  • Führt nur die Arbeit aus, die für die Anzeige sichtbarer Inhalte erforderlich ist.

  • Integrierte Unterstützung für gängige visuelle Design-, Animations- und Interaktionsdesignmuster.

  • Bietet Entwickler-APIs zur einfachen Verwaltung der Rendering-Kosten.

  • Bietet Erweiterungspunkte für die Rendering-Pipeline für Entwickler-Add-ins.

  • Optimiert alle Inhalte - HTML, CSS, 2D-Canvas, 3D-Canvas, Bilder, Video und Schriftarten.


Die Pyramide des Erfolgs

Meine Philosophie ist, dass Erfolg das Ergebnis ist, wenn man zuerst Zuverlässigkeit, dann skalierbare Leistung und schließlich Erweiterbarkeit erreicht.


Wie bei einer echten Pyramide bildet jede Stufe eine solide Grundlage für die darüber liegende Stufe.


Verlässlichkeit

Wenn reichhaltige und komplexe Benutzererfahrungen überhaupt möglich sein sollen, brauchen wir als erstes eine grundsolide Plattform. Die Kernfunktionen und -grundlagen müssen korrekt funktionieren und auch im Laufe der Zeit funktionieren. Genauso wichtig ist es, dass diese Funktionen gut zusammengesetzt sind und kein seltsames Randverhalten oder Bugs aufweisen.


Aus diesem Grund ist die Zuverlässigkeit der wichtigste Teil von LightMapNG. Und Zuverlässigkeit ist das Ergebnis von guten Tests, Qualitäts-Feedback-Schleifen, Metriken und Software-Design-Mustern.


Um ein Gefühl dafür zu vermitteln, wie wichtig ich die Zuverlässigkeit finde, haben wir den größten Teil der letzten drei Jahre damit verbracht, genau diesen Teil festzunageln. Zunächst haben wir uns ein umfassendes Wissen über das System angeeignet - wir haben aus Fehlerberichten gelernt, wo die Schwachstellen lagen und diese behoben, umfassende Tests durchgeführt und die Leistungsanforderungen von Inhalten und die Leistungsgrenzen von LightMap verstanden. Dann haben wir sorgfältig und schrittweise wichtige Entwurfsmuster und Datenstrukturen entwickelt und eingeführt. Erst dann waren wir bereit, echte Primitive der nächsten Generation für responsives Design, Skalierbarkeit und individuelle Anpassung des Renderings hinzuzufügen.


Das soll nicht heißen, dass sich in dieser Zeit in LightMap nichts verbessert hat. Tatsächlich ist das Gegenteil der Fall! In diesen Jahren haben wir die Zuverlässigkeit und Leistung stetig und nachhaltig gesteigert, indem wir jede Verbesserung Schritt für Schritt überarbeitet und eingeführt haben.


Tests und Metriken

In den letzten 3 Jahren haben wir tausende von Unit-, Leistungs- und Integrationstests durchgeführt. Darüber hinaus haben wir umfassende Metriken entwickelt, die viele Aspekte des Verhaltens von LightMap-Rendering bei lokalen Tests, in Leistungsbenchmarks und in der freien Wildbahn mit echten Nutzern und Geräten messen.


Aber egal wie gut LightMapNG ist, es wird nicht einfach sein, für das zu entwickeln, wenn es viele Bugs oder Unterschiede im Verhalten zwischen den Engines gibt. Um dem entgegenzuwirken, setzen wir auch die Plattform-Tests optimal ein. Jeder dieser Tests prüft ein Nutzungsmuster der Plattform, das alle bestehen sollten. Wir überwachen auch genau die Metriken, um im Laufe der Zeit mehr Tests zu bestehen und die Kernkompatibilität zu erhöhen.


Die Plattform-Tests sind eine Gemeinschaftsarbeit. So haben wir beispielsweise nur etwa 10 % der gesamten Tests für Style Funktionen hinzugefügt; andere Anbieter, unabhängige Autoren und Verfasser von Spezifikationen steuern den Rest bei. Es braucht ein Dorf, um die interoperabilität zu verbessern!


Gute Software-Entwurfsmuster

Die zuverlässige Bereitstellung von Qualitätssoftware ist wiederum viel einfacher, wenn der Code leicht zu verstehen ist und auf eine Weise entworfen wurde, die die Wahrscheinlichkeit von Fehlern minimiert. Wir werden in den nächsten Blog-Beiträgen noch viel mehr über das Software-Design von LightMapNG berichten.


2 Ansichten0 Kommentare
bottom of page