Hi Louis
zwar ein bisschen OT, aber passt hier eigentlich ganz gut: siehst du es auch so, dass die Implementierung der Fonts im VDR nicht ganz optimal für ein High Level OSD ist? Meiner Ansicht nach müsste das Requesten eines Fonts aus einer Anwendung heraus (Skin oder Plugin) besser z.B. über den OsdProvider laufen, damit das High Level Osd das auch mitbekommt. Aktuell geht das ja komplett am High Level Osd vorbei, und der Font muss zweimal erzeugt und im Speicher gehalten werden. Hätte das High Level Osd die Möglichkeit, die Fonts selbst zu verwalten, könnte man das ressourcenschonender implementieren.
Ich sehe das ähnlich wie du, das OSD sollte die einzige Instanz sein, die sich um Fonts kümmern muss. Ich würde sogar so weit gehen und die Default-Implementation des OSD (also das Lowlevel-OSD) in ein Plugin auszulagern. So könnte man auch die Abhängigkeit von VDR zu Freetype eliminieren.
Ein grosses Problem mit dem Speicher sehe ich aktuell trotzdem nicht. Schliesslich werden die einzelnen Glyphs ja nur gerendert, wenn sie mittels cFreetypeFont gezeichnet werden, oder jemand die Länge eines Strings über cFont abfragt.
Wenn man sich hier eh schon Änderungen überlegt, könnte man dieses Thema ggf. auch mal komplett durchdenken...
Finde ich gut. Ich fände es auch erstrebenswert, bestehende High-Level-Implementationen losgelöst vom Ausgabeplugin für andere verfügbar zu machen. Gerade OpenGL wird ja recht breit unterstützt.
Gruss
Thomas