also, zu aller erst, was die datei macht ist in der FAQ der homepage gesagt. sie speichert die SivkaFileSettings (im folgenden SFS).
im grunde sollte es auch nicht unglaublich häufig gerufen werden. ein typischer fall für das rufen ist neue datei, SFS geändert oder FollowTheMajority einstellungen geändert.
das schreiben als solches wird mit einer klasse gemacht, die standard in emule ist und auch für alle anderen *.ini dateien verwendet wird. der speichervorgang selbst ist so gestaltet, dass eine gruppe (durch [] angezeigt in der FileSettings.ini) pro download erzeugt wird und in ihr werden die verschiedenen optionen gespeichert.
der nachteil ist, dass sie etwas viel cpu braucht. der vorteil ist, gegenüber einer .met datei, dass wir immernoch die einstellungen manuell verändern können, wenn emule geschlossen ist. da ich um die problematik wusste habe ich das ganze nun gethreaded und dieser thread ist auch auf niedrigster priorität. der upload, download und alles weitere ist von daher nicht mehr beeinträchtigt, beim speichern. das einzige was bleibt ist, dass dein computer mit der cpu last so zu kämpfen hat, dass die gui nicht mehr ansprechbar wird.
nun, es gibt drei möglichkeiten das ganze zu optimieren. alle drei gehen aber damit einher, dass die FileSettings garnicht mehr oder nur noch teilweise über die gespeicherte datei verändert werden können.
szenario 1: wir speichern nur noch veränderte (sprich nicht-default/standard) einstellungen. vorteil, wir speichern weniger. nachteil, wir müssten selbst nicht vorhandene gruppen und einträge einfügen.
szenario 2: wir speichern alles in einer .met datei. vorteil, keinerlei nutzung der doch recht langsamen ini klasse. nachteil, wir könnten absolut nichts mehr verändern außerhalb des programms.
szenario 3: kombination aus 1 und 2, sprich wir speichern nur veränderte einstellungen in einer .met. die vorteile kombinieren sich, die nachteile entsprechen dem von szenario 2.
da mir eigentlich keine der lösungen 100% gefallen hab ich es bis aufs weiter gelassen und auf threading gesetzt. wenn ihr - damit meine ich alle nutzer - meint, dass sollte ich nach einem der szenarien (s.o.) ändern, dann sagt das bitte.
zu deinem genauen problem, wieviele downloads hast du überhaupt? wenn du natürlich unglaublich viele downloads hast ist die last ungleich höher.
PS: bitte beim nächsten mal die standardschrift, auch wenn sie dir schlechter gefällt. das ist weniger anstrengend zu lesen und ich muss mir nicht überlegen, ob du irgendwas wichtiges hervorheben musst... hab vorhin die hälfte überlesen beim ersten anlauf... und für logs nutze bitte das quote/zitat bzw. code kommando des boards.
__________________ Here comes the Kaiser Von Shizer! Oufweidersehen. with Hanzel und Gretyl
der nachteil ist, dass sie etwas viel cpu braucht. der vorteil ist, gegenüber einer .met datei, dass wir immernoch die einstellungen manuell verändern können, wenn emule geschlossen ist. da ich um die problematik wusste habe ich das ganze nun gethreaded und dieser thread ist auch auf niedrigster priorität. der upload, download und alles weitere ist von daher nicht mehr beeinträchtigt, beim speichern. das einzige was bleibt ist, dass dein computer mit der cpu last so zu kämpfen hat, dass die gui nicht mehr ansprechbar wird.
"Etwas" ist gut... und eines der Hauptprobleme bei den SFS ist dass die Datei jedesmal komplett gelöscht und neu erstellt wird... wenigstens beim Speichern könnte man also leicht einen txt-Mode benutzen und damit um ein VIELFACHES schneller speichern.
Zitat:
nun, es gibt drei möglichkeiten das ganze zu optimieren. alle drei gehen aber damit einher, dass die FileSettings garnicht mehr oder nur noch teilweise über die gespeicherte datei verändert werden können.
szenario 1: wir speichern nur noch veränderte (sprich nicht-default/standard) einstellungen. vorteil, wir speichern weniger. nachteil, wir müssten selbst nicht vorhandene gruppen und einträge einfügen.
szenario 2: wir speichern alles in einer .met datei. vorteil, keinerlei nutzung der doch recht langsamen ini klasse. nachteil, wir könnten absolut nichts mehr verändern außerhalb des programms.
szenario 3: kombination aus 1 und 2, sprich wir speichern nur veränderte einstellungen in einer .met. die vorteile kombinieren sich, die nachteile entsprechen dem von szenario 2.
Zu 1) was genau meinst du denn da?
Zu 2) du könntest einen Editor basteln
Zu 3) naja siehe 2...
Du könntest auch noch (s.o.) einen anderen Modus zum Speichern verwenden oder eine andere .ini-Implementierung (eMulePlus) benutzen die (weitaus!) schneller sind.
Das geschilderte Problem ist jedoch nicht von der Hand zu weisen da offenbar sehr sehr viele Leute das Problem haben seit du Threadings eingeführt hast... das ist auch kein Angriff sondern einfach ein Anstoss da nochmal nachzuforschen, sonst geht es dir wie David mit dem Neo: 1000 Funktionen und fast alle haben irgendwo einen Haken.
Sollte das nicht > sein? Und SAVE_WAIT_TIME könnte direkt als 5000 definiert werden, wäre lesbarer.
Die ganzen ...TakeOver Variablen sind an sich auch total sinnlos... sie sparen ja nicht wirklich irgendwas ein
Ich hatte komischer Weise seit dem letzten Posting keinen Absturz(Einfrierung) mehr. Mein Rechner ist relativ neu habe nen Dualcore@2,5Ghz und 2Gb Ram. Windows Xp Sp3. Also daran sollte es nicht liegen. Die Downloadanzahl ist nicht höher als 100. Verbindungen auf 800.
Hatte minimal hier und da mal was verändert(dazu die Erklärungen in den Tooltipps natürlich durchgelesen) und weiß nicht, es läuft wie gesagt wieder.
Auf welches Level sollte ich eigentlich die Verbose-Log stellen falls mal was passiert? Oder ist das egal wenn eine Crash-Dump erstellt wird? Ist das der gleiche Datei-Typ wie diese .logs?
Ansonsten..."Never change a running system". *Scherz*
Edit 1: *War ja nen Denkfehler und hatte sich erledigt...*
Nochmal Edit: @Stulle: Kann es sein das die Prioritätsabstufungen innerhalb von Powershare sehr gering sind? Ich habe da jetzt über mehrere Tage kaum einen Unterschied bemerkt. Von Powershare zu normalen Upload ist klar. Normaler Release ohne Powershare auch. Aber innerhalb von Powershare...ich habe nämlich versucht gewisse Dateien auszubremsen, aber trotzdem noch normalen Downloads zu bevorzugen, damit andere Dateien mit Powershare stärker verteilt werden. So blieb mir nur erstmal übrig die in den normalen Abstufungen ganz runterzuschrauben. Ich weiß das es die Möglichkeit gibt PS zu automatisieren über Quellen und Datenmengenlimits. Aber irgendwie stimmen die Quellenangaben nicht immer habe ich das Gefühl. Wenn nämlich keine Anfrage der Quelle da war meine ich. Und ich selber auch bei keinen in der Liste stehe. Anders als z.B. bei Dateien die ich im Download habe die aber auch als unfertige Shares gelten. Hatte nämlich vorhin vorm Rechnerneustart bei einer Datei 8-9 Quellen. Jetzt 2 Stunden später zeigt der immer nur noch eine. Und die haben die ja nicht alle rausgenommen. Naja, ansonsten mache ich das vorher manuell und lasse es dann laufen. Das geht auch.
Und wenn ich die besagten Dateien per Release und die anderen mit Powershare uploade dann haben die Download/Uploads von mir kaum noch ne Chance. Bei Powershare wird immer noch genügend Platz für nen Normalupload gelassen. Stelle ich die Datein auf "Normal" und "Hoch" ist kein großer Effekt. Da bleibt mir dann eben nur noch ganz ausbremsen "niedrig" und "sehr niedrig" und später wieder Powershare reinmachen wenn die andere Dateien im Powershare weiter fortgeschritten sind. Wenn ich mir sicher bin das es genug andere Quellen gibt deaktiviere ich dann sowieso nach und nach wieder PS, damit das mit den Credits auch wieder normal läuft und meine Downloads voran kommen.
PS: Ist wie ich gesagt habe. Habe mal eben den "Xtreme" paralell angemacht. Ohne Downloads usw. Nur einfach die Kadsuche benutzt. Da werden für die besagte Datei die Quellen angezeigt. Nur im "Stulle" noch nicht. Da die ja jetzt wahrscheinlich fleissig so sharen(alle nötigen Teile haben) und ich deswegen keine Anfragen da drauf habe. Hierfür kann ich PS deaktivieren.
Geändert von NakedM (2. January 2009 um 23:58 Uhr)
crashdumps sind für mich. dafür brauchst du visual studio, den src code und natürlich die entsprechende .pdb zur exe. kurz um, du müsstest selbst compilen.
danke für die glückwünsche.
__________________ Here comes the Kaiser Von Shizer! Oufweidersehen. with Hanzel und Gretyl
crashdumps sind für mich. dafür brauchst du visual studio, den src code und natürlich die entsprechende .pdb zur exe. kurz um, du müsstest selbst compilen.
danke für die glückwünsche.
Und genau deswegen wollte ich heute abend posten, habs heute vor der Arbeit nicht mehr geschafft.
Also hier Stulle habe ich mal eine crashdump Sammlung für Dich, hoffe es hilft.
6.1 crashdumps @ stulleamgym at gmx dot net. no further comments... "drink up bitches, it's christmas eve!
Ach jo, sorry die nächsten kommen per mail.
Habe heute morgen nochmal die 6.1 gestartet, bin mal gespannt wie lange die läuft und ob es auch mal ne dump gibt wenn sie abschmiert.
@Stulle: Das Problem ist das ich wissen möchte was dort drin steht. Bei den Logs soll man ja auch persönliche Informationen usw entfernen.
@Maulbongo: Ich teste jetzt im Moment Version 6.0. In der Hoffnung das die nicht so oft abschmiert wie die 6.1.. Hatte mir jetzt nämlich extra mehr Zeit gelassen um das zu beobachten. Ok, vorher war es eher ein hin/her da war ich mir noch nicht so sicher. Aber Version 6.1 stürzt z.B. bei mir sogar ab wenn ich in der Dateisuche Rechtsklick mache und das Menü/Reiter geöffnet wird. Dann friert Emule ein - keine Rückmeldung. Das schlimmste ist aber das man Emule nichtmal mit den Taskmanager dann beenden kann. Das ist ein regelmäßiger Absturz. Der andere ereignet sich meistens dann wenn ich die Mod nen paar Stunden laufen lasse(netterweise wird jetzt dazu regelmäßig ne crashdump erstellt). Komischer Weise immer Nachts. Bin ich in der Nähe dann passiert nichts.
Ältere Versionen von Stulle-Mulle habe ich leider nicht mehr. Die liefen bei mir zumindest stabiler.
Geändert von NakedM (21. January 2009 um 15:56 Uhr)
1. wenn du nicht die funktionsweise von den dumps verstehst, dann kann ich dir nicht begreiflich machen was sie tun. grundsätzlich ist es mir aber rotz egal was ihr ladet oder wie auch immer und interessiere mich ausschließlich für den code.
2. StulleMule und nichts anderes, sonst werd ich grantig.
__________________ Here comes the Kaiser Von Shizer! Oufweidersehen. with Hanzel und Gretyl