EPG in EPG-Liste flackert beim Umschalten
-
- Interessierter
- Beiträge: 24
- Registriert: Donnerstag 10. September 2009, 08:17
EPG in EPG-Liste flackert beim Umschalten
Ich entschuldige mich schon einmal für den Titel, besser ging es gerade nicht.
Bei Blättern ich der EPG-Liste (rote Taste und Pfeil hoch bzw. runter) kommt es beim Wechsel des Kanals zu einem kurzen Flackern den EPG-Eintrages.
Es wird der alte Eintrag des vorherigen Kanals gelöscht und man sieht wie der Eintrag kurz ganz weiß ausgefüllt wird.
Diesen Zustand habe ich mal in einem Bild versucht darzustellen
Kann daran jemand etwas ändern?
MfG
Olli96
Bei Blättern ich der EPG-Liste (rote Taste und Pfeil hoch bzw. runter) kommt es beim Wechsel des Kanals zu einem kurzen Flackern den EPG-Eintrages.
Es wird der alte Eintrag des vorherigen Kanals gelöscht und man sieht wie der Eintrag kurz ganz weiß ausgefüllt wird.
Diesen Zustand habe ich mal in einem Bild versucht darzustellen
Kann daran jemand etwas ändern?
MfG
Olli96
-
- Contributor
- Beiträge: 1509
- Registriert: Donnerstag 27. Dezember 2007, 12:59
Re: EPG in EPG-Liste flackert beim Umschalten
Fix: reduce flickering of infobox in channellist and audioplayer
Patch:reduce_flickering_infobox.diff
Patch:reduce_flickering_infobox.diff
-
- CDK-Experte
- Beiträge: 4335
- Registriert: Donnerstag 3. April 2008, 14:05
Re: EPG in EPG-Liste flackert beim Umschalten
Sieht gut aus, committed:
http://article.gmane.org/gmane.comp.vid ... x.scm/2232
http://article.gmane.org/gmane.comp.vid ... x.scm/2232
-
- Einsteiger
- Beiträge: 110
- Registriert: Freitag 9. Januar 2009, 18:22
Re: EPG in EPG-Liste flackert beim Umschalten
jau, "flackern" is wech
cu FlatTV
cu FlatTV
-
- CDK-Experte
- Beiträge: 4335
- Registriert: Donnerstag 3. April 2008, 14:05
Re: EPG in EPG-Liste flackert beim Umschalten
Ja, aber nun klappt etwas anders nicht mehr:
- Sender einschalten
- OK drücken für Programm-Liste
- die Box mit den Infos zur laufenden Sendung unten ist weiß umrandet
- ? drücken für EPG-Langtext
- Home drücken, um zur Programm-Liste zurückzukehren
- die Box mit den Infos zur laufenden Sendung unten ist nicht mehr weiß umrandet
- Sender einschalten
- OK drücken für Programm-Liste
- die Box mit den Infos zur laufenden Sendung unten ist weiß umrandet
- ? drücken für EPG-Langtext
- Home drücken, um zur Programm-Liste zurückzukehren
- die Box mit den Infos zur laufenden Sendung unten ist nicht mehr weiß umrandet
-
- Contributor
- Beiträge: 1509
- Registriert: Donnerstag 27. Dezember 2007, 12:59
Re: EPG in EPG-Liste flackert beim Umschalten
Jo, dann mach in der Hide-Funktion mal alreadyPainted = false; rein.
Hab gerade gesehen das die hide-Funktion ja an verschiedenen Stellen
ausgeführt wird.
Hab gerade gesehen das die hide-Funktion ja an verschiedenen Stellen
ausgeführt wird.
-
- CDK-Experte
- Beiträge: 4335
- Registriert: Donnerstag 3. April 2008, 14:05
Re: EPG in EPG-Liste flackert beim Umschalten
So?GetAway hat geschrieben:Jo, dann mach in der Hide-Funktion mal alreadyPainted = false; rein.
Code: Alles auswählen
--- apps/tuxbox/neutrino/src/gui/channellist.cpp 2010-05-25 21:52:11.000000000 +0200
+++ apps/tuxbox/neutrino/src/gui/channellist.cpp 2010-05-25 21:54:34.000000000 +0200
@@ -503,6 +503,7 @@
{
frameBuffer->paintBackgroundBoxRel(x, y, width, height+ info_height+ 5);
clearItem2DetailsLine ();
+ alreadyPainted = false;
//displayNext = 0; // always start with current events
}
-
- CDK-Experte
- Beiträge: 4335
- Registriert: Donnerstag 3. April 2008, 14:05
Re: EPG in EPG-Liste flackert beim Umschalten
Funktioniert, aber es gibt ein kurzes Flackern, nachrhabarber1848 hat geschrieben:So?
rhabarber1848 hat geschrieben:- Home drücken, um zur Programm-Liste zurückzukehren
-
- Contributor
- Beiträge: 1509
- Registriert: Donnerstag 27. Dezember 2007, 12:59
Re: EPG in EPG-Liste flackert beim Umschalten
Ja, eleganter wäre natürlich eine Funktion die nur Rahmen, mit/ohne Rundung
in verschiedenen Stärken zeichnen könnte. So werden halt immer 2 Rechtecke
übereinander gezeichnet, daher das kurze flackern, besonders wenn das darunter-
liegende sehr hell ist.
in verschiedenen Stärken zeichnen könnte. So werden halt immer 2 Rechtecke
übereinander gezeichnet, daher das kurze flackern, besonders wenn das darunter-
liegende sehr hell ist.
-
- Einsteiger
- Beiträge: 110
- Registriert: Freitag 9. Januar 2009, 18:22
Re: EPG in EPG-Liste flackert beim Umschalten
Wie sieht es denn aus, wenn man 4/6 kleine Rechtecke zeichnet?
Also nur schmale oben/unten und links/rechts.
cu FlatTV
Also nur schmale oben/unten und links/rechts.
cu FlatTV
-
- Administrator
- Beiträge: 2675
- Registriert: Donnerstag 28. September 2006, 19:18
Re: EPG in EPG-Liste flackert beim Umschalten
Weshalb an der Stelle bis vor kurzem noch nichts rund war, hatte schon seinen Grund. Das Rendern mit jeder Menge Boxes eskaliert hier nur. Grundsätzlich würde ich auch sagen, dass man das nur im Framebuffer mit einer eigenen Funktion macht, die nur einen Rahmen rendert. So wird das nur Gefrickel.
-
- Einsteiger
- Beiträge: 110
- Registriert: Freitag 9. Januar 2009, 18:22
Re: EPG in EPG-Liste flackert beim Umschalten
Ich würde bis dahin wieder "eckige Ecken" anzeigen
Edit: Patch entfernt
cu FlatTV
Edit: Patch entfernt
cu FlatTV
Zuletzt geändert von FlatTV am Donnerstag 27. Mai 2010, 13:52, insgesamt 1-mal geändert.
-
- Einsteiger
- Beiträge: 110
- Registriert: Freitag 9. Januar 2009, 18:22
Re: EPG in EPG-Liste flackert beim Umschalten
Das ganze hat mir keine Ruhe gelassen
Mit diesem Patch flackert es mit meiner Box nicht mehr und die Ecken sind gerundet.
cu FlatTV
Mit diesem Patch flackert es mit meiner Box nicht mehr und die Ecken sind gerundet.
Code: Alles auswählen
diff -Naurw ./tuxbox_source/apps/tuxbox/neutrino/src/gui/channellist.cpp ./tuxbox_diff/apps/tuxbox/neutrino/src/gui/channellist.cpp
--- ./tuxbox_source/apps/tuxbox/neutrino/src/gui/channellist.cpp 2010-05-26 17:38:28.020861479 +0200
+++ ./tuxbox_diff/apps/tuxbox/neutrino/src/gui/channellist.cpp 2010-05-27 09:17:31.893517302 +0200
@@ -503,6 +503,7 @@
{
frameBuffer->paintBackgroundBoxRel(x, y, width, height+ info_height+ 5);
clearItem2DetailsLine ();
+ alreadyPainted = false;
//displayNext = 0; // always start with current events
}
@@ -1018,8 +1019,10 @@
{
if (!alreadyPainted) //reduce flickering of infobox
{
- frameBuffer->paintBoxRel(x - 4, y + height, 20, info_height, COL_MENUCONTENT_PLUS_1, RADIUS_MID);
- frameBuffer->paintBoxRel(x - 3, y + height, width + 3, info_height, COL_MENUCONTENT_PLUS_6, RADIUS_MID);
+ frameBuffer->paintBoxRel(x+4, y+height ,width-10, 2, COL_MENUCONTENT_PLUS_6);
+ frameBuffer->paintBoxRel(x+4, y+height+info_height-2, width-10, 2, COL_MENUCONTENT_PLUS_6);
+ frameBuffer->paintBoxRel(x-3, y+height, 20, info_height, COL_MENUCONTENT_PLUS_6, RADIUS_MID, CORNER_LEFT);
+ frameBuffer->paintBoxRel(x+width-20, y+height, 20, info_height, COL_MENUCONTENT_PLUS_6, RADIUS_MID, CORNER_RIGHT);
alreadyPainted = true;
}
frameBuffer->paintBoxRel(x + 2, y + height + 2, width - 4, info_height - 4, COL_MENUCONTENTDARK_PLUS_0, RADIUS_MID);
-
- Contributor
- Beiträge: 1509
- Registriert: Donnerstag 27. Dezember 2007, 12:59
Re: EPG in EPG-Liste flackert beim Umschalten
Super, sollte nun auch beim firstPaint nicht mehr flackern.
Obere Zeile muss aber drin bleiben, sonst fehlt links der Schatten.
Patch: reduce_flickering_2nd_try.diff
Edit:
Den Bresenham im frambuffer.cpp fasse ich eh nicht an.
Edit: **push**
Obere Zeile muss aber drin bleiben, sonst fehlt links der Schatten.
Patch: reduce_flickering_2nd_try.diff
Edit:
Da sollte erst mal rein, damit das auch wieder funktioniert.rhabarber1848 hat geschrieben:Ja, aber nun klappt etwas anders nicht mehr:
- ? drücken für EPG-Langtext
- Home drücken, um zur Programm-Liste zurückzukehren
- die Box mit den Infos zur laufenden Sendung unten ist nicht mehr weiß umrandet
Den Bresenham im frambuffer.cpp fasse ich eh nicht an.
Edit: **push**
-
- Contributor
- Beiträge: 1688
- Registriert: Donnerstag 17. Februar 2005, 20:24
Re: EPG in EPG-Liste flackert beim Umschalten
Ich habe mir den "2nd try" heute mal mit ins Image eingebaut. Funktionieren tut's. Ich habe allerdings keinen Vergleich zum "1st try" (also dem aktuellen CVS-Stand), da ich den nie auf der Box hatte.
-
- Administrator
- Beiträge: 2675
- Registriert: Donnerstag 28. September 2006, 19:18
Re: EPG in EPG-Liste flackert beim Umschalten
Es ist aber nach wie vor besser, eine paintFrame() Funktion im Framebuffer dafür zu nehmen.
-
- Contributor
- Beiträge: 1688
- Registriert: Donnerstag 17. Februar 2005, 20:24
Re: EPG in EPG-Liste flackert beim Umschalten
Das mag ja sein. Aber so wie ich das verstanden habe, funktioniert der aktuelle CVS-Stand nicht richtig. Eine vernünftige Lösung kann man ja dann später noch nachliefern.
-
- CDK-Experte
- Beiträge: 4335
- Registriert: Donnerstag 3. April 2008, 14:05
Re: EPG in EPG-Liste flackert beim Umschalten
In der Version dieses Patches vom 27.05.2010, 17:52 Uhr, ist das Problem:GetAway hat geschrieben:Patch: reduce_flickering_2nd_try.diff
nicht mehr vorhanden.GetAway hat geschrieben:rhabarber1848 hat geschrieben:Ja, aber nun klappt etwas anders nicht mehr:
- ? drücken für EPG-Langtext
- Home drücken, um zur Programm-Liste zurückzukehren
- die Box mit den Infos zur laufenden Sendung unten ist nicht mehr weiß umrandet
-
- Contributor
- Beiträge: 1688
- Registriert: Donnerstag 17. Februar 2005, 20:24
Re: EPG in EPG-Liste flackert beim Umschalten
Kommt GetAways Patch nun noch ins CVS? Falls nicht, sollte zumindest der Teil aus diesem Posting rein, damit der Rahmen nicht verschwindet:
http://forum.tuxbox.org/forum/viewtopic ... 12#p376612
http://forum.tuxbox.org/forum/viewtopic ... 12#p376612
-
- CDK-Experte
- Beiträge: 4335
- Registriert: Donnerstag 3. April 2008, 14:05
Re: EPG in EPG-Liste flackert beim Umschalten
committed:GetAway hat geschrieben:Patch: reduce_flickering_2nd_try.diff
http://article.gmane.org/gmane.comp.vid ... x.scm/2336
-
- Contributor
- Beiträge: 1509
- Registriert: Donnerstag 27. Dezember 2007, 12:59
Re: EPG in EPG-Liste flackert beim Umschalten
Hier habe ich mal eine neue Funktion für den Framebuffer gebaut, die Rahmen zeichnet.
Dadurch ist ein übereinander legen von 2 Boxen bzw. umständlichen drumherum zeichnen
um einen Rahmen zu erzeugen, nicht mehr nötig und verhindert das überhaupt
eine Situation entsteht bei der es Flickern könnte.
Hier ein paar Beispiele.
Umgesetzt habe ich es gleich in der channelist.cpp und audioplayer.cpp
Bitte testen.
Patch: new_function_paintBoxFrame.diff
Dadurch ist ein übereinander legen von 2 Boxen bzw. umständlichen drumherum zeichnen
um einen Rahmen zu erzeugen, nicht mehr nötig und verhindert das überhaupt
eine Situation entsteht bei der es Flickern könnte.
Hier ein paar Beispiele.
Umgesetzt habe ich es gleich in der channelist.cpp und audioplayer.cpp
Bitte testen.
Patch: new_function_paintBoxFrame.diff
-
- Administrator
- Beiträge: 2675
- Registriert: Donnerstag 28. September 2006, 19:18
Re: EPG in EPG-Liste flackert beim Umschalten
Danke! Schon mal nicht schlecht. Interessanter wäre es evtl. wenn man das als Parameter für paintBoxRel() angibt, also so ähnlich wie das bei den Radien gelöst ist mit den verschiedenen Varianten für oben, unten, links, rechts, breite etc. und als i-Tüpfelchen ein Parameter für Beleuchtung, was dann einen plastischen Effekt im GUI-Design hätte.
Ist so sicher bei der Auflösung nur begrenzt umsetztbar, aber für NeutrinoHD hätte das was.
Ist so sicher bei der Auflösung nur begrenzt umsetztbar, aber für NeutrinoHD hätte das was.
-
- Contributor
- Beiträge: 1509
- Registriert: Donnerstag 27. Dezember 2007, 12:59
Re: EPG in EPG-Liste flackert beim Umschalten
Ja, mach mal.
-
- Administrator
- Beiträge: 2675
- Registriert: Donnerstag 28. September 2006, 19:18
Re: EPG in EPG-Liste flackert beim Umschalten
Wenn mal Zeit wäre, da siehts momentan ebbe aus.
-
- Contributor
- Beiträge: 1509
- Registriert: Donnerstag 27. Dezember 2007, 12:59
Re: EPG in EPG-Liste flackert beim Umschalten
Ich würde mich freuen, wenn das mal ins CVS fließen würde, ist jedenfalls
sauberer als die jetzige Lösung und läßt sich immer noch erweitern.
Ja, und mit Sicherheit ist das was für die Cooli, da flackerts genauso, aus dem gleichen Grund.
sauberer als die jetzige Lösung und läßt sich immer noch erweitern.
Ja, und mit Sicherheit ist das was für die Cooli, da flackerts genauso, aus dem gleichen Grund.