Neutrino lahmt beim Bouquet umschalten!

Das Original Benutzerinterface Neutrino-SD incl. zapit, sectionsd, yWeb etc...
Houdini
Developer
Beiträge: 2183
Registriert: Mittwoch 10. Dezember 2003, 07:59

Beitrag von Houdini »

The answer to the problem is very easy:

When u hit ok to open the channellist or switch to different bouquets Neutrino requests the current events of all channels (not only of the ones in the bouquet). If more channels have a current event, more events have to be read and transferred to neutrio (remember: each time you switch to a different bouquet).
When an event is transferred sectionsd has to read all of the strings from the event (sometimes even multiple times).
Now each time the filter (far more complex) is called instead of just returning the string which is the 2nd part of the performace hog.

Houdini
arzka
Developer
Beiträge: 19
Registriert: Sonntag 10. April 2005, 23:21

Beitrag von arzka »

Houdini hat geschrieben:Now each time the filter (far more complex) is called instead of just returning the string which is the 2nd part of the performace hog.
I noticed that the code made unnecessary copy of std::map everytime when filter was called. I removed it and reduced few temporary string creation.
(Most probably that string stuff was already optimized by the compiler)

Hopefully this patch helps at least a little.

--
Arzka
zexma
Tuxboxer
Tuxboxer
Beiträge: 2067
Registriert: Mittwoch 6. März 2002, 15:29

Beitrag von zexma »

arzka hat geschrieben:Hopefully this patch helps at least a little.
Arzka
No, regretfully it doesn't.
At my point of view (at current point of developing) a very little increase in comfort (for a very little number of utilizer) but an inacceptable performance decrease . :-?
Bimmel
Interessierter
Interessierter
Beiträge: 64
Registriert: Samstag 31. Juli 2004, 18:11

Beitrag von Bimmel »

Für mich ist OpenSource für alle da , nicht nur für die Merheit oder die genug laut schreien.
Und jetzt hat man ein Prblem zu lösen und nicht einfach reverten . Reverten ist keine Lösung.
Nico 77
Semiprofi
Semiprofi
Beiträge: 1383
Registriert: Freitag 18. April 2003, 15:12

Beitrag von Nico 77 »

Kann eventuell jemand auf Deutsch erklären was Arzka zu dem Patch gesagt hat in wie fern man seinen Patch performanter machen könnte oder was er zu dem Performance Problem sagt?

BabelFish übersetzt nur wirres Zeug. :oops:
Sorry Arzka, i can no english. :oops:
arzka
Developer
Beiträge: 19
Registriert: Sonntag 10. April 2005, 23:21

Beitrag von arzka »

BTW. How many channels you have in that box where problem occurs and how much memory your sectionsd is using?

And to make it sure if the problem is in my patch can someone of you who have the problem flash some older (better working) software package then download precompiled sectionsd from my web page and run it instead of sectionsd from distribution. Is it as bad as current one?

--
Arzka
JtG-Riker
Image-Team
Beiträge: 1015
Registriert: Freitag 7. Februar 2003, 18:37

Beitrag von JtG-Riker »

Nico 77 hat geschrieben:Kann eventuell jemand auf Deutsch erklären was Arzka zu dem Patch gesagt hat in wie fern man seinen Patch performanter machen könnte oder was er zu dem Performance Problem sagt?

BabelFish übersetzt nur wirres Zeug. :oops:
Sorry Arzka, i can no english. :oops:
Houdini hat im anderen Thread ein diff gepostet was den Mulit-Language-EPG ein/abschaltbar beim compilieren macht, wär ja auch eine Lösung, da wir das hier bei uns in Deutschland ja nicht brauchen.

Riker
zexma
Tuxboxer
Tuxboxer
Beiträge: 2067
Registriert: Mittwoch 6. März 2002, 15:29

Beitrag von zexma »

Bimmel hat geschrieben:Für mich ist OpenSource für alle da , nicht nur für die Merheit oder die genug laut schreien.
Und jetzt hat man ein Prblem zu lösen und nicht einfach reverten . Reverten ist keine Lösung.
Mein lieber Bimmel: Ich äußere hier meine Meinung bzgl. des aktuellen Softwarestandes. Dieser ist für mich nicht aktzeptabel, da der sectsionsd bis zur Änderung erheblich performanter war. Das hat nix mit "laut schreien zu tun" - dies überlasse ich lieber Dir.
Eine simple Funktion (config/Schalter) zum Deaktivieren würde (wie oben bereits erwähnt) schon genügen.
Ich jedenfalls habe keine Lust mich mit der trägen Bedienung rumzuärgern.
Bzgl. reverten: hätte etwas dagegen gesprochen, die Funktion zunächst zum Testen "freizugeben", bevor das mehr oder weniger kommentarlos ins cvs eingecheckt wird?
Und mal hypothetisch angenommen ein neues "Feature" ist wirklich mal "Mist" lautet meine Lösung u.U. auch mal "reverten".

@arzka:
using about ~550channels (astra/eutelsat) distributed in 14 bouquets.

i don't really understand what you mean about your 2nd paragraph.
i tried/tested two(three) different cvs-sectionsd:
sectionsd 25/03 vs. sectionsd 12/04 and 13/04
Npq
Senior Member
Beiträge: 1339
Registriert: Donnerstag 24. April 2003, 12:12

Beitrag von Npq »

JtG-Riker hat geschrieben:Houdini hat im anderen Thread ein diff gepostet was den Mulit-Language-EPG ein/abschaltbar beim compilieren macht, wär ja auch eine Lösung, da wir das hier bei uns in Deutschland ja nicht brauchen.
Und natürlich würde jemand aus anderen Ländern nie auf die Idee kommen, eines der "deutschen" Images benutzen zu wollen oder wie?
zexma
Tuxboxer
Tuxboxer
Beiträge: 2067
Registriert: Mittwoch 6. März 2002, 15:29

Beitrag von zexma »

Npq hat geschrieben:
JtG-Riker hat geschrieben:Houdini hat im anderen Thread ein diff gepostet was den Mulit-Language-EPG ein/abschaltbar beim compilieren macht, wär ja auch eine Lösung, da wir das hier bei uns in Deutschland ja nicht brauchen.
Und natürlich würde jemand aus anderen Ländern nie auf die Idee kommen, eines der "deutschen" Images benutzen zu wollen oder wie?
Ich finde diese Frontalangriffe nicht richtig. Es hat doch niemand etwas gegen das Feature, aber muß das auf Kosten der generellen Bedienbarkeit gehen? Schließlich betrifft dies doch auch die "Nicht"-Deutschen Benutzer. :gruebel:
mb405
Tuxboxer
Tuxboxer
Beiträge: 2331
Registriert: Donnerstag 24. März 2005, 21:52

Beitrag von mb405 »

kann man nicht die define es gegen eine abfrage ersetzen, ob eine datei da ist, und dann das auswerten ?? finde ich praktischer. denn nach kompile ist ja nix mehr änderbar sonst.
Houdini
Developer
Beiträge: 2183
Registriert: Mittwoch 10. Dezember 2003, 07:59

Beitrag von Houdini »

Der momentane CVS Stand ist nicht wirklich zu gebrauchen.
Ich habe bei mir den Kram weg"defined" bis es eine vernünftige Lösung gibt.
Man kann bestimmt mit wenig Aufwand eine ähnliche zur Laufzeit konfigurierbare Variante machen.

Houdini
Npq
Senior Member
Beiträge: 1339
Registriert: Donnerstag 24. April 2003, 12:12

Beitrag von Npq »

zexma hat geschrieben:Ich finde diese Frontalangriffe nicht richtig. Es hat doch niemand etwas gegen das Feature, aber muß das auf Kosten der generellen Bedienbarkeit gehen?
Zexma, es mag sein, daß ich auf solche "Lösungsvorschläge" generell etwas empfindlich reagiere, vor allen Dingen wenn der Aufwand, eine zur Laufzeit konfigurierbare Lösung zu erstellen sich in Grenzen halten dürfte (wie Houdini ja auch bestätigt).

If nobody wants to take a look at the matter, I'll do it but probably not over the easter holidays.
arzka
Developer
Beiträge: 19
Registriert: Sonntag 10. April 2005, 23:21

Beitrag von arzka »

zexma hat geschrieben: Bzgl. reverten: hätte etwas dagegen gesprochen, die Funktion zunächst zum Testen "freizugeben", bevor das mehr oder weniger kommentarlos ins cvs eingecheckt wird?
How long that testing period should be? I posted at 15. Oct 2005 article to forum and I was telling about my patch. I got one guestion about it and one bug report. I fixed that bug immediately. After that I haven't got any comment.

Here in Finland we are mostly using cable versions of DBox2. Since you have ~500 channels, I have ~50. Difference is quite significant.

--
Arzka
Houdini
Developer
Beiträge: 2183
Registriert: Mittwoch 10. Dezember 2003, 07:59

Beitrag von Houdini »

Hier mal eine konfigurierbare Variante:
http://home.arcor.de/houdini/dbox/secti ... 2-06.patch
Verbraucht aber mehr Speicher.

Houdini

P.S.: EPG BildOptionsUpdate ist auch noch mit drin, das müsst ihr euch dann halt rausnehmen
zexma
Tuxboxer
Tuxboxer
Beiträge: 2067
Registriert: Mittwoch 6. März 2002, 15:29

Beitrag von zexma »

arzka hat geschrieben:How long that testing period should be? I posted at 15. Oct 2005 article to forum and I was telling about my patch. I got one guestion about it and one bug report.
well, nobody except houdini really seemed to take notice the patch -
this might be because there's no need for this functionality for most european tv-providers. (attention: personal statement :wink: )
Therefore a lack of interest might cause that nobody (very few people) tested the patch whatsoever.
Houdini hat geschrieben:Verbraucht aber mehr Speicher.
:-? , verglichen womit? dem pre-arzka-patch oder dem aktuellen cvs-stand?
Houdini
Developer
Beiträge: 2183
Registriert: Mittwoch 10. Dezember 2003, 07:59

Beitrag von Houdini »

because the sectionsd was not in good shape last year i didn't go forward with arzka's patch.
, verglichen womit? dem pre-arzka-patch oder dem aktuellen cvs-stand?
mit allem anderen :-)
vor Arzka: event hat strings
cvs: event hat maps
mein Patch: event hat strings und maps :-?
mb405
Tuxboxer
Tuxboxer
Beiträge: 2331
Registriert: Donnerstag 24. März 2005, 21:52

Beitrag von mb405 »

danke Houdini
also es bedeutet jetzt, wenn ich in epglanguages.conf OFF reinschreibe, dann ist artzkas epglanguage deaktiviert.
das ist ja wieder ein geniestreich. ihr 3 sectionsd spezialisten macht das schon ;)
Houdini
Developer
Beiträge: 2183
Registriert: Mittwoch 10. Dezember 2003, 07:59

Beitrag von Houdini »

epglanguages.conf OFF reinschreibe
oder ganz rauslöschen.
mb405
Tuxboxer
Tuxboxer
Beiträge: 2331
Registriert: Donnerstag 24. März 2005, 21:52

Beitrag von mb405 »

also ich hab festgestellt, das der epg zwar geschrieben wird, aber nun nicht mehr eingelesen wird. das ist nicht so schön. kannst da nochmal drüber sehen ? im log kommt, und die box greift auch auf das mountlaufwerk zu. nur kommt nix im epg :(
[neutrino] registering as event client
commandRegisterEventClient
commandRegisterEventClient
commandRegisterEventClient
commandRegisterEventClient
commandRegisterEventClient
commandReadSIfromXML
commandSetSectionsdScanMode
[basicsocket] send_data: Resource temporarily unavailable
[basicsocket] send_data: Resource temporarily unavailable
commandGetIsTimeSet
[basicsocket] send_data: Resource temporarily unavailable
[basicsocket] send_data: Resource temporarily unavailable
[basicsocket] send_data: Resource temporarily unavailable
[basicsocket] send_data: Resource temporarily unavailable
commandGetIsTimeSet
commandserviceChanged
[neutrino] initialized everything
commandGetIsTimeSet
commandCurrentNextInfoChannelID
commandCurrentNextInfoChannelID
commandserviceChanged
commandCurrentNextInfoChannelID
commandGetIsTimeSet
commandCurrentNextInfoChannelID
avia_gt_core: masking unhandled irq reg 0 bit 6
PES, queue 0 normal.
avia_gt_core: masking unhandled irq reg 0 bit 7
avia_gt_core: masking unhandled irq reg 1 bit 15
commandSetPrivatePid
[controld] VIDEO_EVENT_SIZE_CHANGED 528x576 (4:3 -> 4:3)
commandCurrentNextInfoChannelID
commandCurrentNextInfoChannelID
commandGetIsTimeSet
[timeThread] time(): 14.04.2006 23:55:53, tim: Fri Apr 14 23:55:53 2006
commandGetIsTimeSet
[timeThread] time(): 14.04.2006 23:56:20, tim: Fri Apr 14 23:56:20 2006
commandCurrentNextInfoChannelID
Houdini
Developer
Beiträge: 2183
Registriert: Mittwoch 10. Dezember 2003, 07:59

Beitrag von Houdini »

hehe, dieht so aus mein diff arbeitet nicht gegen nirvanas privaten stand, da muss dann noch was angepasst werden
mb405
Tuxboxer
Tuxboxer
Beiträge: 2331
Registriert: Donnerstag 24. März 2005, 21:52

Beitrag von mb405 »

also auf jeden fall bringt es viiiieeeellllleeee logmeldungen.
und zappen zwischen bouquets ist wieder wie immer.
Danke

shließ dich doch mit nirvana zusammen. damit das endlich ins cvs kommt.
Bimmel
Interessierter
Interessierter
Beiträge: 64
Registriert: Samstag 31. Juli 2004, 18:11

Beitrag von Bimmel »

Houdini hat geschrieben:hehe, dieht so aus mein diff arbeitet nicht gegen nirvanas privaten stand, da muss dann noch was angepasst werden
Das meine ich mit der Frage wozu CVS.
Wieso kommen nicht solche schaen nicht mit #ifdef ALPHA oder was auch immer nicht in CVS ?
Sonst geht alles durcheinander.
Nico 77
Semiprofi
Semiprofi
Beiträge: 1383
Registriert: Freitag 18. April 2003, 15:12

Beitrag von Nico 77 »

@Houdini
Worin liegt der Unterschied zwischen den beiden Patches?
Habe das nicht so ganz verstanden. :oops: :lol:

Möchte auch verwenden. :)

http://home.arcor.de/houdini/dbox/secti ... 1-52.patch
http://home.arcor.de/houdini/dbox/secti ... 2-06.patch
Houdini
Developer
Beiträge: 2183
Registriert: Mittwoch 10. Dezember 2003, 07:59

Beitrag von Houdini »

Patch eins ist altes Verhalten, MultiLanguageEPG Abfragen werden "auskommentiert"
Patch eins ist abhängig von der Laufzeitkonfiguration entweder wird Arzka's MultiLanguageEPG benutzt oder nicht. Die Abfrage erfolgt halt immer beim Aufruf der get() und set() Methoden.

Houdini