Hallo zusammen
Ich habe die OSD-Implementation des rpihddevice-Plugins überarbeitet und Unterstützung für Pixmaps eingebaut. Die Änderungen sind in git eingecheckt und bereit zum testen. Ich selber habe bisher, abgesehen von den Default-Skins, mit skinenigmang, skinnopacity (nativ) und skindesigner mit den drei Standard-Skins getestet. Auch das osddemo-Plugin funktioniert nun.
Mit dem Support von beschleunigten Pixmaps ist nun aber der Speicherverbrauch der GPU etwas dynamischer geworden. Folgendes trägt zum Verbrauch bei:
- die eigentliche Drawing-Surface in der Grösse der eingestellten Auflösung, mit jeweils 4Byte/Pixel, doppelt gebuffert
- jedes OSD mit gesetzten Areas, wobei eine default-Pixmap alle Areas umschliesst, 4Byte/Pixel
- jede zusätzliche Pixmap, 4Byte/Pixel, maximal 2048x2048px
- jeder Font, abhängig von der Anzahl der Zeichen
- jedes gecachte cImage
Mit 256MB funktionieren aber die mitgelieferten Skins von skindesigner zuverlässig und dank GPU-Beschleunigung selbst auf dem alten Raspberry Pi recht flott. Weiter optimieren liesse sich die Performance nur noch, wenn skindesigner das im VDR vorgesehene, und nun auch im rpihddevice implementierte, Cachen von Bildern nutzen würde. Gerade bei häufig genutzten Bildern wie Icons oder andern grafischen Elementen brächte dies noch ein wenig mehr "Schub".
Bitte beachtet, dass in skindesigner noch ein kleiner Fehler steckt. Der angehängte Patch behebt diesen, womit auch das Ausblenden sauber funktioniert. (louis will diesen bei der nächsten Bugfixing-Runde einbauen)
Viel Spass beim Testen!
Gruss
Thomas