Anwendung nicht blockieren when Daten aktualisierert werden

Ideen, wie TV-Browser verbessert werden kann
Antworten
RoToRa

Anwendung nicht blockieren when Daten aktualisierert werden

Beitrag von RoToRa »

Funktionell tut TV-Browser alles was ich benötige. Was mich aber immer immens stört ist, dass das Anwendungsfenster blockiert wird, wenn beim Beenden der Anwendung noch die Aktuallisierung der Daten durchgeführt werden muss.

Ich würde es vorziehen wenn dies im Hintergrund, eventuell in einem eigenen, minierbaren(!) Dialogfenster passieren würde.
ds10
Site Admin
Beiträge: 19101
Registriert: 23 Jun 2005, 12:36
Kontaktdaten:

Re: Anwendung nicht blockieren when Daten aktualisierert werden

Beitrag von ds10 »

Ist ziemlich schwierig, da die Nutzer das ja merken sollen, sonst wird am Ende das System herunter gefahren, obwohl TV-Browser noch am Aktualisieren ist.
"First they ignore you, then they ridicule you, then they fight you, then you win." - Mahatma Gandhi
Unterstütze die Weiterentwicklung von TV-Browser
uzi
Site Admin
Beiträge: 2294
Registriert: 02 Jul 2009, 14:32

Re: Anwendung nicht blockieren when Daten aktualisierert werden

Beitrag von uzi »

vielleicht ist es ja möglich, die aktualisierung schlicht zu stoppen?
ds10
Site Admin
Beiträge: 19101
Registriert: 23 Jun 2005, 12:36
Kontaktdaten:

Re: Anwendung nicht blockieren when Daten aktualisierert werden

Beitrag von ds10 »

Auch das ist nicht so einfach, denn die Aktualisierung der Lieblingssendungen läuft in Threads über die geänderten Daten, die kann man nicht so einfach stoppen, weil dann die Information über die geänderten Daten verloren geht und die Lieblingssendungen nicht korrekt aktualisiert würden. Es steckt ein ziemlich großer Aufwand dahinter, das umzuprogrammieren.
"First they ignore you, then they ridicule you, then they fight you, then you win." - Mahatma Gandhi
Unterstütze die Weiterentwicklung von TV-Browser
uzi
Site Admin
Beiträge: 2294
Registriert: 02 Jul 2009, 14:32

Re: Anwendung nicht blockieren when Daten aktualisierert werden

Beitrag von uzi »

ich spinne hier mal fröhlich weiter, vielleicht ist ja einer der ansätze mittel- oder langfristig realisierbar:

1. es gibt ja vermutlich 2 schritte. zum einen das reine holen der daten und danach die verarbeitung der neuen daten. solange man noch beim holen ist, sollte ein abbruch vergleichsweise leicht sein. im einfachsten fall verwirft man alle geladenen daten und fängt beim nächsten start des tvb von vorn an.

2. wenn dann die datenverarbeitung läuft, kann man das gefühlte problem verringern, in dem man den schritt schneller bekommt. dann hängt der tvb nicht so lange. ich vermute, da ist schon viel getan worden und weil es die plugin-schnittstelle betreffen dürfte, sind änderungen wahrscheinlich oft nicht trivial. trotzdem wäre es vielleicht ein lohnenswertes ziel, hier nochmal gehirnschmalz zu investieren und vielleicht einen profiler zu bemühen. eine verbesserte parallelisierung könnte auf modernen cpus zb viel potenzial haben - stichwort java stream api. da ist ja auch eine gewisse abwärtskompatibilität gegeben, so dass möglicherweise die pluginschnittstelle nicht betroffen ist oder nur geringfügig erweitert werden muss.

3. vielleicht kann die datenverarbeitung in chunks aufgeteilt werden, die zwar im ganzen durchlaufen müssen, zwischen denen man aber die arbeit unterbrechen kann. dann wäre es möglich, den tvb nach dem abarbeiten eines chunks zu beenden und die arbeit beim neustart wieder aufzunehmen.
ds10
Site Admin
Beiträge: 19101
Registriert: 23 Jun 2005, 12:36
Kontaktdaten:

Re: Anwendung nicht blockieren when Daten aktualisierert werden

Beitrag von ds10 »

Das Problem ist, dass das Datenupdate schon jetzt sehr komplex ist und bereits stark parallelisiert arbeitet. Es werden auch schon während des Downloads Daten verarbeitet. Ein Abbruch wäre also nur für noch nicht herunter geladene Daten möglich. Und weil das Ganze so komplex ist, möchte ich daran eigentlich nichts ändern, denn dann dürften sich neue Fehler einschleichen. Es funktioniert jetzt und man muss unter Umständen ein bisschen warten, wenn beim Beenden ein Datenupdate durchläuft. Ich sehe da ehrlich gesagt, kein großes Problem. Man kann ja auch das automatische Datenupdate deaktivieren, dann lädt TV-Browser die Daten nur, wenn man das selbst angestoßen hat und dann kommt es erst gar nicht zu der Situation, dass das Datenupdate beim Beenden noch läuft. Aber selbst bei Verwendung des automatischen Datenupdates, aktualisiert TV-Browser nur einmal am Tag, die Chance es beim Beenden zu treffen ist also auch noch eher klein.
"First they ignore you, then they ridicule you, then they fight you, then you win." - Mahatma Gandhi
Unterstütze die Weiterentwicklung von TV-Browser
Jo
Site Admin
Beiträge: 11805
Registriert: 07 Apr 2006, 23:39

Re: Anwendung nicht blockieren when Daten aktualisierert werden

Beitrag von Jo »

Ich sehe das wie ds10. Die Komplexität ist sehr hoch, der Nutzen eher gering. Das ist was, wenn man sehr viel Zeit und nichts zu tun hat und viele Beta-Tester. Und die Abhilfe ist, wie erwähnt einfach: Datenupdates nicht automatisch machen sondern manuell anstoßen. Da kann man dann auch die Daten und Plugins auswählen, dann dauert es ggf. nicht so lange, wenn man vermutet, dass man bald plötzlich neustarten muss. Oder man macht automatisches Update nur für das Haupt-Plugin und einen kurzen Datenzeitraum und den Rest ggf. manuell.
Antworten