Login
Newsletter
Werbung

Fr, 15. Oktober 2010, 09:26

Software::Desktop::KDE

Die Zukunft des Plasma-Desktops

Plasma-Entwickler Aaron Seigo hat in seinem Blog die künftige Entwicklungsrichtung des KDE-Desktops skizziert. Um eine durchgängige Hardware-Beschleunigung zu erzielen, sind grundlegende interne Umstrukturierungen nötig.

Über »Plasma in den nächsten 18-24 Monaten« spekuliert Seigo in seinem Blog. Nach seinen Angaben stehen umfangreiche Arbeiten an, die jedoch bereits begonnen haben.

Seigo ist mit zwei Punkten in der aktuellen Version von Plasma in KDE 4.5 nicht zufrieden: Zum einen enthält die Bibliothek libplasma (neben anderen Dingen) auch elementare GUI-Komponenten, die seiner Ansicht nach in Qt gehören. Zum anderen verwenden die Entwickler die Komponente QGraphicsView, die die Leistung moderner Grafik-Hardware nicht annähernd ausnutzen kann. Die Geschwindigkeit von KDE ist zwar seiner Meinung nach ausreichend, um selbst auf schwacher Hardware nutzbar zu sein, könnte aber viel höher sein.

Der Schlüssel zur Beschleunigung liegt in den neuesten Entwicklungen der C++-Klassenbibliothek Qt, die mit QtComponents, QML und Qt Scene Graph einerseits stark in Richtung deklarative Programmierung geht. Andererseits ermöglicht Qt Scene Graph, jede grafische Operation in Plasma Hardware-beschleunigt auszuführen. Effekte wie Unschärfe und Schatten würden keine zusätzliche Zeit mehr kosten.

Diese Neuerungen können momentan noch nicht wirklich genutzt werden, da sie noch in Entwicklung sind. Beispielsweise wurde erst ein Teil der üblichen Kontrollelemente wie Buttons, Schieberegler usw. implementiert. Der Weg dorthin scheint aber schon recht klar. Laut Seigo müssen die Entwickler die Verwendung der Klasse QPainter aufgeben, da deren Operationen nicht beschleunigt sind. Das würde bedeuten, alle Teile von Plasma mit QML neu zu implementieren. Teilweise ist dies in der Mobil-Variante von Plasma, die u.a. in MeeGo eingesetzt wird, schon geschehen, der Rest ist aber ein enormer Aufwand. Glücklicherweise muss die Änderung aber nicht in einem Schritt durchgeführt werden, denn die Widgets können nach und nach umgestellt werden.

Eine Integration von Plasma und QML wird die Basis dieser Änderungen bilden. Sie ist bereits in Arbeit und wird in KDE 4.6 erscheinen. Somit können erste Widgets bereits auf QML umgestellt werden. Mit der Zeit sollen alle Plasmoids angepasst werden. Dabei ist die meiste Arbeit an den in C++ geschriebenen Plasmoids nötig, während die in JavaScript implementierten von den Änderungen weitgehend abgeschirmt sind.

Die Migration zu QML wird die Entwicklung einer neuen Plasma-Bibliothek (libplasma2) erfordern, die inkompatibel mit libplasma sein wird. Allerdings wird das laut Seigo eine interne Änderung sein, die wenig Auswirkungen auf andere Komponenten hat.

Die Mühe der Portierung wird sich laut Seigo in vieler Hinsicht lohnen. Die Oberfläche wird wesentlich schneller und der Ressourcenverbrauch wird abnehmen. Der neue Scene Graph wird das Rendern in mehreren Threads ermöglichen, was Plasma bisher nicht kann, und kann damit die Arbeit auf verschiedene Prozessoren verteilen. Da dann jedes Plasmoid in einem eigenen Thread laufen würde, soll es außerdem keine Blockaden der Oberfläche mehr geben, wenn eines der Plasmoids auf irgend etwas warten muss. Ferner könnten CPU- und Ressourcenverbrauch jedes einzelnen Plasmoids kontrolliert und beschränkt werden.

Werbung
Pro-Linux
Pro-Linux @Facebook
Neue Nachrichten
Werbung