[SkinNopacity] Aktuelle Probleme

  • Danke fuer's Fixen.

    - Im breiten Aufzeichnungsmenü gibt es ja nur eine Zeile und es werden auch keine Fehler angezeigt, nur das "!".

    Ich sollte diese beiden Menüpunkte dann auch nur anzeigen, wenn "Schmales Menü" eingestellt ist.

    Oder habe ich da noch was falsch verstanden?

    Dann habe ich das falsch verstanden. Ja, es gibt das "!", das ist auch richtig so. In den Details zur Aufnahme stehen dann die Anzahl Fehler, aber das soll vermutlich nicht abschaltbar sein. Da habe ich die beiden Menues vermutlich verwechselt.

    Wenn diese Einstellungen nicht angezeigt werden, wenn sie keinen Unterschied ergeben, dann wäre das wahrscheinlich weniger verwirrend.


    - Das Kanallogo ist jetzt in der Lage konfigurierbar "Vertikale Ausrichtung" -> unten, mittig, oben.

    Wenn Du hier beim Default-Theme "unten" einstellst, sollte sich gegenüber dem alten Branch nichts verändert haben (die Berechnung der Lage ist dann die Selbe).

    Ich habe das wie vorher auf "unten" stehen. Der Logohintergrund ist jetzt eine(?) Zeile höher und der Radius von dem Logohintergrund oben-links hat dadurch einen anderen Mittelpunkt wie der Radius der Fensterbegrenzung daneben. Nur oben-links passt es nicht (etwas zu hoch), unten-links passt es , rechts faellt es ggf. nicht auf. Ich hoffe, das ist halbwegs verständlich erklärt. Muss ich sonst selber irgendwann debuggen, haengt vielleicht auch von den eingestellten Raendern usw. ab.


    Es geht hier um jedes neue OSD (osd = CreateOsd()), genauer den ersten Flush() .

    Da muesste ich jetzt nachschauen, wann man ein CreateOSD aufruft. Jedes Mal, wenn man ein OSD-Fenster oeffnet? Vermutlich schon, weil ja die Größe immer anders ist. Bei meinen Versuchen schien es mir, dass nach dem Senderwechsel der erste Aufruf etwas langsamer ist, aber das kommt vermutlich von der Abfrage von EPG und Timern und hat nichts mit Deinem Problem zu tun.


    Diese erste Verzögerungszeit ist außerdem abhängig von der OSD Größe und nicht skinnopacity spezifisch, tritt allerdings nicht bei Nutzung eines anderen Ausgabeplugin auf. Dadurch schließe ich den Core-VDR ursächlich aus, und wenn man davon ausgeht, das auch die TT6400 selbst nicht Ursache ist, bleibt nur noch das dvbhddevice-Plugin übrig.

    Das Debuggen des dvbhddevice-Plugin übersteigt aber im Moment meine Möglichkeiten.

    Hm, wuerde ich mir schon genauer ansehen, nur habe ich diesen Effekt bei mir nicht. Bei mir gibt es keine "Gedenksekunde", oder ich merke es nicht.

    Hast Du irgendwo den Patch zum Anzeigen der Verzoegerung? Am besten bei abgeschaltetem Einblendeffekt und ohne Threads, das kann ich aber sonst auch Einschalten, wo ich jetzt den selben Branch verwende. Vielleicht ist es doch ein Effekt durch die "verbotenen" Thread-OSD-Zugriffe!?


    Gruss,

    S:oren

  • In den Details zur Aufnahme stehen dann die Anzahl Fehler, aber das soll vermutlich nicht abschaltbar sein.

    Ja, das soll nicht abschaltbar sein.

    Ich habe das wie vorher auf "unten" stehen. Der Logohintergrund ist jetzt eine(?) Zeile höher und der Radius von dem Logohintergrund oben-links hat dadurch einen anderen Mittelpunkt wie der Radius der Fensterbegrenzung daneben. Nur oben-links passt es nicht (etwas zu hoch), unten-links passt es , rechts faellt es ggf. nicht auf. Ich hoffe, das ist halbwegs verständlich erklärt. Muss ich sonst selber irgendwann debuggen, haengt vielleicht auch von den eingestellten Raendern usw. ab.

    OK, das muss ich mir dann mal genauer ansehen. Evtl. könnte das auch ein Rundungsfehler sein.


    Jedes Mal, wenn man ein OSD-Fenster oeffnet?

    Ja, jedes mal, wenn ein OSD geöffnet wird.

    Hm, wuerde ich mir schon genauer ansehen, nur habe ich diesen Effekt bei mir nicht. Bei mir gibt es keine "Gedenksekunde", oder ich merke es nicht.

    Hast Du irgendwo den Patch zum Anzeigen der Verzoegerung? Am besten bei abgeschaltetem Einblendeffekt und ohne Threads, das kann ich aber sonst auch Einschalten, wo ich jetzt den selben Branch verwende. Vielleicht ist es doch ein Effekt durch die "verbotenen" Thread-OSD-Zugriffe!?


    Mhh, wenn ich die Animation im Setup global abschalte, dann wird auch kein Thread gestartet...


    Anbei mal ein Patch für die Kanalanzeige, der die Zeit vom ersten Flush misst. Animation dabei global aus.

    Bei mir sieht das dann so aus:


    Mai 02 14:49:08 vdr[364594]: [364594] skinnopacity: First Flush(): 626 ms


    Die Zeit variiert auch immer ein wenig.


    Grüße

    kamel5

  • Mit welcher Version ging es denn noch? Version 1.1.9 ist ja auch schon eine Weile raus, und bisher gab es dazu keine Meldungen.


    Das Magick hier ein segfault liefert, hat erst einmal keine Bedeutung, da das alle Fehler einsammelt.


    Was ich bräuchte, ist ein aussagekräftiger Backtrace. Dann könnte man sicher mehr dazu sagen.

    Ich verwende MLD 5.5. testing.

    Die 1.1.9 hat lange Zeit funktioniert mit VDR 2.4.7.

    Dann gab es vor Kurzem ein Update auf VDR 2.6.1 und seit dem gehts nicht mehr.


    Wenn Du mir sagts, wie ein backtrace geht, dann liefere ich ab...;)



    Danke und Grüße

    wayne

    streamdev-Server: ASRock J3160, MLD 5.5 testing, Mystique SaTiX-S2 V3 Dual + DuoFlex S2, 8GB, 60GB System,

    streamdev-Client 1: NUC6CAYS (Intel HD Graphics 500), MLD 5.5 testing, One For All URC 7960,

    streamdev-Client 2: NUC6CAYH (Intel HD Graphics 500), MLD 5.5 testing, One For All URC 7960,

    Media-Server: Synology DS215j

    AV-Geräte: Hisense H65MEC5550, Dali Zensor 5 AX, Teufel S6000SW


  • Die 1.1.9 hat lange Zeit funktioniert mit VDR 2.4.7.

    Dann gab es vor Kurzem ein Update auf VDR 2.6.1 und seit dem gehts nicht mehr.

    Das ist schon seltsam. Wenn es mit 2.4.7 ging, fällt mir im Moment kein Grund ein, warum es mit 2.6.1 nicht auch gehen sollte.

    Vielleicht doch beim Kompilieren etwas schief gegangen, oder nicht alles richtig upgedated.


    Zum Backtrace bei MLD kann ich nicht viel sagen, da müsstest Du dort mal im Forum fragen...


    Ich habe hier auch noch einen NUC mit MLD. Ich werde mal sehen, ob ich das damit zeitnah testen kann. Das könnte aber ein paar Tage dauern.


    Grüße

    kamel5

    VDR 2.6.6: ASUS Prime X470-PRO, Ryzen 7 5700X, 64GB, 6TB HD, GT1030, Fedora 39 Kernel 6.8 X86_64, Devicebonding 2 x 1 auf 2, TT6400, DVBSky S952 V3

    Git-Repo: gitlab.com/kamel5

  • Anbei mal ein Patch für die Kanalanzeige, der die Zeit vom ersten Flush misst. Animation dabei global aus.

    Bei mir sieht das dann so aus:


    Mai 02 14:49:08 vdr[364594]: [364594] skinnopacity: First Flush(): 626 ms

    Bei mir

    May 2 20:33:33 rockpro64 vdr: [1547] skinnopacity: First Flush(): 331 ms


    Diese Drittel-Sekunde (329 - 334 ms in 10 Versuchen) hatte ich bisher als normal und unvermeidbar angesehen - auf einem RockPro64 (arm64) und der S2-6400 hinter einem PCIe-Switch (PCI bridge: ASMedia Technology Inc. Device 1182).


    Ob es sich bei den Zeiten lohnt, da bei mir weiter zu suchen?


    Gruss,

    S:oren

  • Bei mir

    May 2 20:33:33 rockpro64 vdr: [1547] skinnopacity: First Flush(): 331 ms

    Du hattest irgendwo mal geschrieben, das Du ein 720p OSD benutzt, dann wäre das erklärbar, denn es hängt von der OSD Größe ab. Ansonsten schon interessant, das es auf Deiner "kleinen" Hardware so viel schneller wäre.

    Ob es sich bei den Zeiten lohnt, da bei mir weiter zu suchen?

    Ich denke nicht. Man gewöhnt sich ja auch an Alles. Klar wäre es schön, wenn es diese Verzögerung nicht gäbe, zum Glück ist die weitere Bedienung aber flüssig. Und auch die Annimationen sind mit dem "workaround" erträglich.


    Grüße

    kamel5

    VDR 2.6.6: ASUS Prime X470-PRO, Ryzen 7 5700X, 64GB, 6TB HD, GT1030, Fedora 39 Kernel 6.8 X86_64, Devicebonding 2 x 1 auf 2, TT6400, DVBSky S952 V3

    Git-Repo: gitlab.com/kamel5

  • Jetzt mal mit 1080i probiert: 308 bis 325 ms.

    Dann wieder mit 720p: 301 bis 331 ms.

    Bei mir sieht das ganz Anders aus:

    Mit 1080 -> skinnopacity: First Flush(): 596 ms

    Mit 720 -> skinnopacity: First Flush(): 282 ms


    Schon seltsam, ich würde es trotzdem aber erst einmal darauf beruhen lassen.


    Bezüglich des Logohintergrundes ist mir aufgefallen, das es da Unterschiede zwischen den verschiedenen OSD-Auflösungen gibt.

    Und auch an anderen Stellen, z.B. bei Texten und das auch noch Theme abhängig, fällt das auf. Es wird hier ursprünglich wohl mal eine Optimierung für eine OSD-Auflösung von 1920x1080 stattgefunden haben und die anderen Auflösungen haben sich dann ergeben.

    Ich werde da wohl eine Weile brauchen, bis ich das alles durchschaut habe...


    Grüße

    kamel5

    VDR 2.6.6: ASUS Prime X470-PRO, Ryzen 7 5700X, 64GB, 6TB HD, GT1030, Fedora 39 Kernel 6.8 X86_64, Devicebonding 2 x 1 auf 2, TT6400, DVBSky S952 V3

    Git-Repo: gitlab.com/kamel5

  • Schon seltsam, ich würde es trotzdem aber erst einmal darauf beruhen lassen.

    Die OSD-Größe "Folge Auflösung" scheint nicht (immer?) richtig zu funktionieren. Wenn ich die fest auf 1920x1080 stelle, dann sehe ich auch größere Zeiten (~745ms). Dann war das doch nur eine Einstellungssache bei mir, sorry.


    Ist das OSD bei Dir schärfer (bunter, hübscher) mit 1080er als mit 720er Auflösung? Ich habe hier an meinem Test-VDR eh nur einen alten Fernseher mit 720er Panel, da sehe ich (bis auf "Geometriebesonderheiten" bei der Darstellung / Logogröße) keinen Unterschied. Ist aber tatsächlich deutlich langsamer.


    Gruß,

    Sören

  • Ist das OSD bei Dir schärfer (bunter, hübscher) mit 1080er als mit 720er Auflösung? Ich habe hier an meinem Test-VDR eh nur einen alten Fernseher mit 720er Panel, da sehe ich (bis auf "Geometriebesonderheiten" bei der Darstellung / Logogröße) keinen Unterschied. Ist aber tatsächlich deutlich langsamer.

    Schöner und bunter ist es bei mir nicht, schärfer schon.:)


    Ich muss allerdings zugeben, das ich gar nicht so der skinnopacity Nutzer bin. Den habe ich damals im Paket mit skindesigner und tvguide vom Original-Author übernommen. Das ist andererseits aber auch kein Problem, weil ich intensiver Nutzer von tvguide bin und es zwischen den 3en sehr viele Gemeinsamkeiten gibt und ich dadurch optimale Lösungen hin und her schieben kann. Und man lernt dabei auch immer was Neues.

    Manchmal dauert das Umsetzen halt etwas länger.

    Ich selber bin LCARS-Fan und habe mir deshalb einen eigenen LCARSNG Skin gemacht (auch auf 1080er Auflösung optimiert).

    Apropos deutlich langsamer, ist bei LCARS auch so. Aber immer noch im Rahmen, so das man nicht nervös wird.


    Übrigens habe ich gerade festgestellt, das die Zeit auch vom Farbformat abhängt, bei ARGB4444:

    1080: skinnopacity: First Flush(): 336 ms

    720: skinnopacity: First Flush(): 150 ms

    Schon sehr seltsam.


    Grüße

    kamel5

    VDR 2.6.6: ASUS Prime X470-PRO, Ryzen 7 5700X, 64GB, 6TB HD, GT1030, Fedora 39 Kernel 6.8 X86_64, Devicebonding 2 x 1 auf 2, TT6400, DVBSky S952 V3

    Git-Repo: gitlab.com/kamel5

  • Übrigens habe ich gerade festgestellt, das die Zeit auch vom Farbformat abhängt, bei ARGB4444:

    1080: skinnopacity: First Flush(): 336 ms

    720: skinnopacity: First Flush(): 150 ms

    Schon sehr seltsam.

    Bei ARGB4444 gehen ja nur halb so viele Daten ueber den Bus wie bei ARGB8888.


    Habe gerade nochmal kurz in den Code geschaut, dvbhddevice hat tatsaechlich zwei verschiedene OSD-Implementierungen, die aber beide hardware-gerendert werden. Das hatte ich anders in Erinnerung.

    Waere nochmal interessant, ob Software-Rendering bei modernen Mehrkernprozessoren nicht schneller ist. Wenn ich mal viel Zeit habe...


    Gruss,

    S:oren

  • Was ich bräuchte, ist ein aussagekräftiger Backtrace. Dann könnte man sicher mehr dazu sagen.


    Hier mal ein erster backtrace...

    streamdev-Server: ASRock J3160, MLD 5.5 testing, Mystique SaTiX-S2 V3 Dual + DuoFlex S2, 8GB, 60GB System,

    streamdev-Client 1: NUC6CAYS (Intel HD Graphics 500), MLD 5.5 testing, One For All URC 7960,

    streamdev-Client 2: NUC6CAYH (Intel HD Graphics 500), MLD 5.5 testing, One For All URC 7960,

    Media-Server: Synology DS215j

    AV-Geräte: Hisense H65MEC5550, Dali Zensor 5 AX, Teufel S6000SW


  • OK, corefile hast Du schon mal. Das nützt mir aber so nichts. Zum Auswerten braucht es nicht nur das corefile, sondern auch das passende binary dazu.


    Du musst auf dem Rechner, wo Du das core-file erzeugt hast, folgendes machen:


    gdb /pfad_zum_vdr/vdr corefile --> gdb ggfls. installieren und Pfad zum vdr nicht vergessen


    Dann bekommst Du einen Prompt.

    Am Prompt dann:

    set logging file backtrace.txt

    set logging on

    bt full

    hier so oft "Enter"-Taste drücken, bis alles angezeigt wurde

    quit


    Danach hast Du eine Datei backtrace.txt und die brauche ich.


    Grüße

    kamel5

    VDR 2.6.6: ASUS Prime X470-PRO, Ryzen 7 5700X, 64GB, 6TB HD, GT1030, Fedora 39 Kernel 6.8 X86_64, Devicebonding 2 x 1 auf 2, TT6400, DVBSky S952 V3

    Git-Repo: gitlab.com/kamel5

  • ...zweiter Versuch.... :whistling:

    Dateien

    streamdev-Server: ASRock J3160, MLD 5.5 testing, Mystique SaTiX-S2 V3 Dual + DuoFlex S2, 8GB, 60GB System,

    streamdev-Client 1: NUC6CAYS (Intel HD Graphics 500), MLD 5.5 testing, One For All URC 7960,

    streamdev-Client 2: NUC6CAYH (Intel HD Graphics 500), MLD 5.5 testing, One For All URC 7960,

    Media-Server: Synology DS215j

    AV-Geräte: Hisense H65MEC5550, Dali Zensor 5 AX, Teufel S6000SW


  • Ich würde den Skin auch gern mal anpassen, aber mit dem Paket von seahawk1986 und auch mit selbst kompiliertem Plugin bekomme ich ein:


    Magick: abort due to signal 11 (SIGSEGV) "Segmentation Fault"...


    und vdr startet nicht...


    Installiert sind:


    Könnt Ihr weiterhelfen?

  • Habe gerade nochmal kurz in den Code geschaut, dvbhddevice hat tatsaechlich zwei verschiedene OSD-Implementierungen, die aber beide hardware-gerendert werden.

    Wenn man etwas laenger hinschaut, sieht man, dass das TrueColor-OSD eigentlich komplett vom VDR intern gerendert wird. Das dvbhddevice nimmt die VDR-gerenderten Pixmaps, konvertiert die ggf. von ARGB8888 in ARGB8565 oder ARGB4444 (je nach Einstellung im Setup), teilt das Ergebnis ggf. auf (weil die Buffer-Maximalgröße fuer einen Treiberaufruf 1MByte betraegt), und schickt das auf die Karte. Das Hardware-Rendering beschraenkt sich dann auf das Zusammenkopieren der Teile.


    Ich habe jetzt als aktuelle Lösung ein zusätzliches Lock() Unlock() Paar vor die Animationsschleife gesetzt.

    Das LOCK_PIXMAPS ist wirklich nur ein Mutex. Ja, das wird beim Flush im dvbhddevice gelockt. Aber wenn das zu Verzögerungen führt, dass muss ja ein anderer Thread auch gerade ein Lock auf dem Mutex haben. Aber welcher Thread sollte das sein, wenn nur ein einziger Thread sich mit dem OSD befasst?


    Gruss,

    S:oren

  • Ich würde den Skin auch gern mal anpassen, aber mit dem Paket von seahawk1986 und auch mit selbst kompiliertem Plugin bekomme ich ein:


    Magick: abort due to signal 11 (SIGSEGV) "Segmentation Fault"...


    und vdr startet nicht...

    ...das Problem habe ich hier schon beschrieben und einen Post über deinem einen backtrace geliefert...

    streamdev-Server: ASRock J3160, MLD 5.5 testing, Mystique SaTiX-S2 V3 Dual + DuoFlex S2, 8GB, 60GB System,

    streamdev-Client 1: NUC6CAYS (Intel HD Graphics 500), MLD 5.5 testing, One For All URC 7960,

    streamdev-Client 2: NUC6CAYH (Intel HD Graphics 500), MLD 5.5 testing, One For All URC 7960,

    Media-Server: Synology DS215j

    AV-Geräte: Hisense H65MEC5550, Dali Zensor 5 AX, Teufel S6000SW


  • wayne

    Ah, ok ich lese dann mal mit...

  • Hallo wayne,


    Der Backtrace ist recht nichtssagend.

    Könntest Du bitte alle *.dbg Pakete für VDR + Plugins installieren, und dann noch einen erzeugen?

    Also vdr-plugin-skinnopacity-dbg, vdr-dbg, ...


    ~ Markus

    Client1: ASUS P5QC, Dual Core 3G, Cine S2, Ext. Board von TBE, Xubuntu 20.04, VDR 2.6x

    Client2: RPI3

    Server: RPI4, Sundtek SkyTV Dual 2x

  • wayne , Taipan ,


    das Problem ist, das es bei mir und bei Anderen funktioniert und ich nicht weiss, was da mld oder yavdr ggfls. anders machen.

    Es kann also eigentlich kein grundsätzliches Problem sein.

    Magick: abort due to signal 11 (SIGSEGV) 

    Das ist leider nicht hilfreich, weil Magick hier den eigentlichen Fehler unterdrückt.

    Da hilft nur ein aussagekräftiger Backtrace.


    wayne , Dein Backtrace hilft mir da leider nicht, weil Du Binarys ohne Debug-Symbole benutzt hast.

    Ich weiss auch nicht, ob es bei mld Debug-Pakete dazu gibt.

    Wenn ich mir das mal ansehen soll, dann brauche ich ein Backtrace von Binarys mit Debug-Symbolen.


    Ansonsten müsste ich mir hier mal ein atuelles mld installieren und sehen, ob ich das nachvollziehen kann.

    Das könnte aber einige Zeit dauern.


    MarkusE , Danke, hat sich gerade überschnitten.


    Grüße

    kamel5

    VDR 2.6.6: ASUS Prime X470-PRO, Ryzen 7 5700X, 64GB, 6TB HD, GT1030, Fedora 39 Kernel 6.8 X86_64, Devicebonding 2 x 1 auf 2, TT6400, DVBSky S952 V3

    Git-Repo: gitlab.com/kamel5

Jetzt mitmachen!

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