RSS Ticker für nOpacity

  • Hi,


    ich habe jetzt mal den Vorschlag von 3PO aufgegriffen und in nOpacity auch einen "standalone RSS Ticker" implementiert...ganz nach dem Prinzip "Was interessiert mich mein Geschwätz von gestern". Eigentlich ist es jetzt ein eigenes Plugin, das in den Skin mit eingebettet ist...sicherlich könnte man argumentieren, dass sowas nicht die Aufgabe eines Skins ist, aber was solls ;D So kann ich zumindest easy auf das eingestellte Theme des Skins zugreifen und habe leicht eine gemeinsame Optik.


    Die Doku im Ausgangsposting habe ich an die aktuellen gegebenheiten angepasst, dort steht alles wesentliche.


    Zoolook: vielleicht lagere ich es auch komplett aus, wenn wir mit den PSLs mal weiter sind :) Dann müsste ich allerdings einen Service definieren, über den sich der Skin den Ticker holen kann.


    Ausserdem habe ich den RSS Feed im VDR Menü per default mal ausgeschalten, um neue User mit langsameren Maschinen erst mal nicht zu verschrecken. Bei ausgeschaltetem Feed gibt es null Auswirkungen auf die Performance des Skins.


    Wäre cool, wenn ihr wieder ein bisschen testen könntet...


    Ciao Louis

  • Das ist aber definitiv ein anderes Problem, das kann nix mit dem Ticker zu tun zu haben. Die Font Einstellungen für den Skin wurden schon immer im Skin Menü gemacht. Vielleicht hast du da aus versehen was verstellt oder es ist etwas durcheinander gekommen?!

    In der tat, da war nach dem Update die Font-Einstellung von nOpacity selber auf irgend ein font dessen Namen ich nicht kannte. Weiß nicht warum, un da ich da im Setup von nOpacity so lange nicht mehr unterwegs war, dachte ich, es verwendet die globale Einstellung und war verwundert. Ich komme halt immer spät in der Nacht dazu, ein bisschen am VDR was zu fummeln...



    Jo das Scrollen des RSS Tickers geht ganz schön auf die CPU, das kann das OSD bei langsameren Systemen wohl ziemlich ausbremsen. Bei mir ist der Performanceverlust minimal und kaum spürbar. Wenn es aber doch so extrem ist, werde ich wohl den RSS Ticker per default auf "aus" stellen. Das würde ich in deinem Fall übrigens auch empfehlen ;D

    Hmm, ich habe mir mal mit top angesehen, da geht tatsächlich die Performance hoch, leider vergaß ich zu schauen, wie die der on-demand-governor die Taktfrequenz gestellt hatte, bei mir geht die bis 2600, ist'n Dual-core wieso sollte das eigentlich nicht reichen? Kann es sein, das da etwas konzeptionell schief ist, möglicherweise sogar in der Vorgabe die Dir VDR macht? Kleines Beispiel: XBMC hat auch einen RSS-Ticker und viele andere optische Gimmicks und Animationen, da wird wohl die CPU-Last auch mal höher ausfallen (das darf doch durchaus sein, wen stört's wenn es nicht hakt oder ruckelt), alles flutscht butterweich, auch wenn es eine ganz andere technische Grundlage ist, zeigt es wohl das es auch anders gehen sollte...


    Zoolook: vielleicht lagere ich es auch komplett aus, wenn wir mit den PSLs mal weiter sind :) Dann müsste ich allerdings einen Service definieren, über den sich der Skin den Ticker holen kann.

    Wäre schön, das komplett in der PSL ganz generisch (also nicht extra für RSS-Ticker, sondern beliebige Verwendung, mit Scroll- und anderen netten Möglichkeiten, da wird man wohl das Konzept der Service-Schnittstelle ein klein wenig ausdehnen, z.B. würde der Interface-Header nicht vom Skin-kommen, sondern vom PSL installiert werden, ein Skin kann das Interface als Provider erfüllen, ein anderes Plugin als Consumer nutzen, beide linken gegen die PSL... Da kann viel Schönes dabei 'raus kommen.


    Ciao, Lucian

  • Hmm, ich habe mir mal mit top angesehen, da geht tatsächlich die Performance hoch, leider vergaß ich zu schauen, wie die der on-demand-governor die Taktfrequenz gestellt hatte, bei mir geht die bis 2600, ist'n Dual-core wieso sollte das eigentlich nicht reichen? Kann es sein, das da etwas konzeptionell schief ist, möglicherweise sogar in der Vorgabe die Dir VDR macht?


    Das ist wohl der Punkt...Scrollen im VDR mit Pixmaps funktioniert so: Pixmap erzeugen mit einem Drawport Rechteck, dass so groß ist, dass der ganze Text reinpasst, und dann in einer Schleife die X Koordinate des Drawports jeweils um 1 Pixel verschieben. Danach über ein osd->Flush() das OSD neu zeichen (bzw. nur den "dirty" Bereich, das macht der VDR selbst). Die Scrollgeschwindigkeit wird über die Zeit gesteuert, die der Thread nach jedem Schleifendurchlauf schläft. Um die Scrollgeschwindigkeit zu erhöhen, muss die Schlafzeit immer kleiner gemacht werden...d.h. der Thread ist ziemlich oft am laufen, um das Scrollen zu erzeugen. Alternativ könnte man den Drawport auch um 2 oder mehr Pixel pro Durchlauf erhöhen, dann ist die Laufschrift aber nicht mehr schön smooth und fängt immer mehr das ruckeln an. Insgesamt ist dieses Konzept für kleinere scrollende Texte oder andere Sachen ok, hier stößt man wohl an eine Grenze.


    XBMC benutzt da wohl OpenGL Features, die das direkt in der GPU abbilden...


    Ciao Louis

  • Alternativ könnte man den Drawport auch um 2 oder mehr Pixel pro Durchlauf erhöhen, dann ist die Laufschrift aber nicht mehr schön smooth und fängt immer mehr das ruckeln an. Insgesamt ist dieses Konzept für kleinere scrollende Texte oder andere Sachen ok, hier stößt man wohl an eine Grenze.

    Das wäre eventuell sogar eine erwägenswerte Option, was glaubst Du, diesen Shift-Offset in Grenzen (eventuell von 1 bis 5 Pixel, default auf 1) konfigurierber zu machen?



    XBMC benutzt da wohl OpenGL Features, die das direkt in der GPU abbilden...

    Ja, darauf wollte ich ja hinaus. Natürlich ist der VDR historisch mit der altbackenen FF-Karte entstanden, und die soll auch weiterhin noch unterstützt werden, aber vielleicht wäre es doch möglich da doch etwas sinnvolles am API umzugestalten, so daß Ausgabedevices die es besser machen könnten, auf HW-Unterstutzung auch beim Zeichnen des Osd zurückgreifen. Wahrscheinlich müßte man hierfür in Softhddevice z.B. noch viel Arbeit 'rein stecken, vielleicht hat jemand ein genauerers Gesamtbild...


    Ciao, Lucian

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!