Kodi ist eine plattformübergreifende Softwareanwendung, deren Kern hauptsächlich in C++ programmiert ist. Kodi verwendet OpenGL (oder OpenGL ES) Grafik-Rendering unter Kodi sowohl für Linux als auch für MacOS, während Kodi für Windows das Multimedia-Framework Microsoft DirectX und Direct3D-Rendering verwendet, wie es die Xbox-Version von XBMC tat.
Was ist Kodi?
Kodi beruht auf der Programmiersprache C++
Einige der Kodi-eigenen Bibliotheken sowie viele Bibliotheken von Drittanbietern, auf die Kodi angewiesen ist, sind in der Programmiersprache C geschrieben, statt in C++ als Kodi-Kern, aber sie werden dann meist mit einem C++-Wrapper verwendet und aufgrund der monolithischen Natur des Kodi-Kerns über einen dynamischen Linker-Loader geladen, um zur Laufzeit bei Bedarf geladen und entladen zu werden. Kodi verwendet auch teilweise noch immer das Multimedia-Framework SDL (Simple DirectMedia Layer) für die Eingabe unter Linux, aber seine Entwickler arbeiten daran, diese kleine verbleibende Abhängigkeit von SDL vollständig zu beseitigen.
Wo begnet Usern Kodi?
Kodi wird zudem von unterschiedlichen TV-Boxen zur Erweiterung der Funktionalität von Fernsehern als Softwarebasis verwendet, dazu zählt auch beispielsweise der deutsche TV Box Hersteller Vavoo mit Vavoo TV und den dazugehörigen Bundles. Weitere Informationen zu Vavoo finden Sie auf dieser Seite.
Aufgrund des Ursprungs von Kodi/XBMC mit den Ressourcenbeschränkungen auf der Hardware und der Umgebung der Xbox-Spielkonsolenplattform der ersten Generation war die gesamte Softwareentwicklung von Kodi/XBMC immer darauf ausgerichtet, die begrenzten Ressourcen zu reservieren, die auf der Hardware eingebetteter Systeme, wie der ursprünglichen Xbox (die nur ein 733 MHz Intel Pentium III und insgesamt 64 MB RAM als gemeinsam genutzter Speicher war), existierten, sowie die heute noch relativ geringen Ressourcen der Geräte eingebetteter Systeme, deren Haupthindernis immer die Menge des jeweils verfügbaren System-RAM und Grafikspeichers war. Dies bedeutet, dass Kodi/XBMC bewusst sehr ressourcen- und stromsparend programmiert wurde und daher auf sehr preiswerter und relativ preiswerter Hardware laufen kann, insbesondere im Vergleich zu anderen Media-Center-Software-Designs für HTPC-Nutzung.
Aber aufgrund seiner Ursprünge aus der Xbox-Spielkonsole läuft der alte Kodi/XBMC-Grafikrenderer immer noch in einer Umgebung, in der es mehr um das Rendern von Spielschleifen geht, anstatt ein vollständig ereignisgesteuertes und On-Demand-Rendering zu verwenden, was bedeutet, dass die GUI fast ständig neu gezeichnet und die Frames so schnell wie möglich aktualisiert werden, selbst wenn sich auf dem Bildschirm nichts ändert. Dies führt zu einer sehr hohen CPU- und GPU-Auslastung, wie sie bei eingebetteten Systemen und Low-End-Maschinen zu beobachten ist, und verursacht daher hohe Temperaturen, hohe Lüfteraktivität und hohen Stromverbrauch, es sei denn, die maximale Bildwiederholrate wird bei einer Konfiguration mit einer maximalen Bildwiederholrate pro Sekunde für diesen speziellen Plattformaufbau begrenzt. Die Entwickler arbeiten jedoch ständig daran, Kodi/XBMC auf stromsparenden und eingebetteten Systemen mit viel weniger Ressourcen laufen zu lassen, was indirekt auch allen nicht eingebetteten Systemen zugute kommen wird. Es wird jedoch an Effizienzverbesserungen in diesem Bereich gearbeitet, um von der alten Spiel-Loop-Umgebung wegzukommen und die hohe CPU/GPU-Nutzung durch die GUI zu reduzieren, zumal die XBMC-Nutzung auf eingebetteten Plattformen mit begrenzten CPU/GPU-Ressourcen immer beliebter wird. XBMC 11.0 (Eden) führte die Rendering-Option Dirty-Regions für die Textur-Unterstützung der XBMC-Skin-Engine als Option ein, und XBMC 12.0 (Frodo) aktivierte das Rendern von Dirty-Regions, um den gesamten Bildschirm auf einer einzigen Dirty-Region standardmäßig auf allen Plattformen neu zu zeichnen. Es wird auch daran gearbeitet, dass XBMC 14.0 ein abstrahiertes Szenengrafik-Rendering mit verzögerter Darstellung für die GUI-Renderer-Abstraktion einführt.
Du interessierst dich für die Entwicklung einer VR oder AR Applikation? Du hast vielleicht schon eine konkrete Idee oder bist noch auf der Suche nach Inspiration? Mache heute den ersten Schritt und erhalte Antworten auf deine Fragen:
Unsere VR-Experten helfen dir gerne bei einer unverbindlichen Einschätzung deines Projekts! Erfahre jetzt alles was du wissen musst, um deine Firma oder Organisation in die Welt der virtuellen und erweiterten Realität zu führen. Es lohnt sich!
Du interessierst dich für die Entwicklung einer VR oder AR Applikation? Du hast vielleicht schon eine konkrete Idee oder bist noch auf der Suche nach Inspiration? Mache heute den ersten Schritt und erhalte Antworten auf deine Fragen:
Unsere VR-Experten helfen dir gerne bei einer unverbindlichen Einschätzung deines Projekts! Erfahre jetzt alles was du wissen musst, um deine Firma oder Organisation in die Welt der virtuellen und erweiterten Realität zu führen. Es lohnt sich!