Callfrequenz von cSkinXYZDisplayMenu::Flush() und cSkinXYZDisplayChannel::Flush()

  • Hi,


    ich wundere mich seid ca. einer Stunde warum Flush() in den oben genannten Klassen unterschielich oft aufgerufen wird.
    Ich beobachte das cSkinXYZDisplayChannel::Flush() wird viel viel häufiger aufgerufen wird, als die entsprechende Funktion in cSkinXYZDisplayMenu.


    Ich benötige für meinen Skin nämlich ein relativ häufiges Aufrufen von Flush uns bin mit der Frequenz von cSkinXYZDisplayChannel eigentlich zufrieden.
    Wie bringe ich den VDR dazu Flush aus cSkinXYZDisplayMenu häufiger zu triggen ?

    Powered by Point of View ION330 und Mystique SaTiX-S2 Dual
    Geguckt wird auf einem 52PFL5605H/12 per HDMI mit Atmolight Quattro
    Audio optisch per Yamaha RX-V459 auf einem Teufel Concept P
    Non-TV content über XBMC und boblight
    Remote Harmony 525 durch Atric-IR
    Remote und Streaming mit Motorola XOOM und AndroVDR sowie Daroon Player
    Streaming auf ZBOX ID-81 und Desktop per streamdev
    All based on selfbuild OpenenELEC master


    Nebenbei noch ein par andere VDRs

  • Wird der Flush nicht immer dann getriggert, wenn Änderungen zu vermelden sind? Hast Du vielleicht eine Laufschrift im Bild, die einfach hinreichend oft aktualisiert werden muss?


    Bin mir im Moment nicht sicher (schaue aber noch nach), aber ich meine beim Skinclassic z.B. dürfte Flush nur sehr selten aufgerufen werden...


    EDIT: Skins, die solche Laufschriften rendern machen dies üblicherweise über einen eigenen Thread, der Flush() so häufig wie benötigt triggert.

  • Komischerwiese passiert das quasi im Classic Skin in dem ich nur die entsprechende Flush Funktion um ResotreRegin -> SotreRegion -> DrawRectangle erweiter habe.


    Egal. Habe gesehen, das ich statisch über Skins.Flush() ja auch von meinem Input Thread das OSD Flushen kann.


    Gibt es 'ne Daumenregel wie oft man das machen kann/sollte ?

    Powered by Point of View ION330 und Mystique SaTiX-S2 Dual
    Geguckt wird auf einem 52PFL5605H/12 per HDMI mit Atmolight Quattro
    Audio optisch per Yamaha RX-V459 auf einem Teufel Concept P
    Non-TV content über XBMC und boblight
    Remote Harmony 525 durch Atric-IR
    Remote und Streaming mit Motorola XOOM und AndroVDR sowie Daroon Player
    Streaming auf ZBOX ID-81 und Desktop per streamdev
    All based on selfbuild OpenenELEC master


    Nebenbei noch ein par andere VDRs

  • So selten wie möglich (sprich, wenn keine Änderungen in der Anzeige gemacht wurden, dann nicht). Sonst wann immer Du brauchst. Osdpip befeuert das OSD z.B. mit bis zu 25 8bit-Bildern pro Sekunde, wenn das Ausgabedevice schnell genug ist.


    Bei Skins.Flush() bin ich der Meinung, dass es nicht threadsafe ist, d.h. nicht aus einem anderen als dem Hauptthread aufgerufen werden sollte. In text2skin ist es so gelöst, dass ein Thread eigens für das Zeichnen zuständig ist. Dieser wird geweckt, wenn cSkinDisplayXXX::Flush aufgerufen wird, aber auch, wenn andere Threads ein Neuzeichnen erfordern.


    (Insgesamt ist das nicht ganz akkurat, sollte aber erstmal ausreichen)

Jetzt mitmachen!

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