![]() |
Xman, na die gesamtlaufzeit von emule ist sicherlich gemeint |
renegade, das dachte ich ja auch.. nur (ich weiß ja nicht was sie von was abzieht): Angenommen Sig läuft 36 h. Esel läuft 4 h. 36 h - 4 h = 32 h (was sollte mir der Wert sagen ?) oder 4 h - 36 h = negativ, also damit kann ich noch weniger anfangen ;-) genau darum steh ich ja auf dem Schlauch ;-) |
also ich denk es ist so: sobald die laufzeit vom emule größer der ist der online-sig, wird die differenz abgezogen, so daß nun die laufzeit der sig angezeigt wird, und nicht die gesamtzeit von emule. bisher war es ja so. emule lief 48 stunden. nun hast du die sig geschlossen und wieder gestartet. die sig schreibt nun sämtliche werte neu, seit wiederbeginn der sig also.(session-dl z.b. fängt wieder bei 0 an. die zeit allerdings wurde von emule übernommen und nicht zurückgesetzt. es stehen also 48 stunden laufzeit da, aber die anderen werte für diese 48 stunden fehlen. und genau diese 48 stunden werden nun abgezogen. beispiel: es sind 49 stunden vergangen seit emule-start, die sig läuft erst 1 stunde. somit werden die 48 stunden unterschied von den 49 stunden gesamtlaufzeit abgezogen. deinen angezeigte zeit und alle anderen werte stimmen somit wieder überein. bei meiner momentanen sig stimmt das noch nicht. ich habe ja nach 29 stunden versehentlich die sig geschlossen. zwar gleich wieder gestartet, aber die dl/ul-werte dieser 29 stunden fehlen mir, da alles wieder bei 0 anfing, aber die komplette zeit der session angezeigt wird, und nicht die seit sig-start. bei der neuen version würde dann da nicht 3 tage 9 stunden stehen, sondern 29 stunden weniger, also 2 tage 4 stunden. hoffe doch das war einigermaßen verständlich. |
OK mom ich suche mal alles zusammen und erkläre dan genau wie ich es mache ;) |
Blacklotus, hab ich es falsch erklärt? :shock: |
Zitat:
Mit dem Rest der Erklärung liegste richtig. Da hatte ich auch kein Verstädnisproblem. Allerdings ging es nicht darum, wenn der Esel länger rennt, sondern wenn die Sig länger an ist ;-) Aber ich glaub Blacklotus erklärt uns das besser ;-) //Edit: glaub auch beim Rest liegste falsch. Meine Sig läuft genau halb solang wie der Esel. |
So erst mal die Werte die mir 100% genau zur Verfügung stehen: Der gesamt Traffic von eMule: i_TotalDownload := Strtoint64(Ini.Readstring('Statistics','TotalDownl oadedBytes','0')); i_TotalUpload := Strtoint64(Ini.Readstring('Statistics','TotalUploa dedBytes','0')); und Die Windowslaufzeit: SessionStartTime := Gettickcount; So wie berechnet sich nun der Session Traffic: einfach der momentane geamt traffic - den vom Start der OnlineSig; g_emule_sdload := i_TotalDownload - Download_start; g_emule_suload := i_TotalUpload - Upload_start; So wie wurde nun mit Hilfe des Charts der DurchschnittsSpeed berechnet: einfach der aktuelle wert + alle Chartwerte durch die anzahl der chart werte + 1 temp := Round(StrtoFloat(g_emule_dload)); for i := 0 to chart.VAC-1 do temp := temp + chart.DL_Values[i]; g_eMule_dload_average := Inttostr(temp div (chart.VAC+1)); temp := Round(StrtoFloat(g_emule_uload)); for i := 0 to chart.VAC-1 do temp := temp + chart.UL_Values[i]; g_eMule_uload_average := Inttostr(temp div (chart.VAC+1)); Nun der neue DurchschnittsSpeed von Xman: aktuelle Windowslaufzeit - Windowslaufzeit zum start der onlinesig = Laufzeit der OnlineSig. sectemp := (Gettickcount - SessionStartTime) div 1000; Dann noch ein kleiner Test weil windof nach 49,7 Tagen wieder von vorne mit zählen anfängt. und durch 0 teilen kommt auch immer blöd. if sectemp < 0 then begin GetspecialData(true,false); exit; end else if sectemp = 0 then sectemp := 1; Nun einfach den Sessiontraffic durch die entsprechende Laufzeit DLaverage := FloatToStrF((g_emule_sdload /1024) / sectemp,fffixed,10,1); ULaverage := FloatToStrF((g_emule_suload /1024) / sectemp,fffixed,10,1); fertig Nun noch was beim reset passiert: Die Werte werden neu ausgelesen und die Startwerte werden neu gesetzt. if ResetSession then begin Download_start :=i_TotalDownload; Upload_start := i_TotalUpload; Das selbe auch für WindowsZeit und Chart Count Anzeige. SessionStartTime := Gettickcount; chart.VAC := 0; end; VAC beduetet Values analysed count also nichts falsches denken ;) Ich hoffe es ist nun alles klar :) P.S. Ja es ginge auch anders aber anders ist es 1. Nicht so schnell wie das und 2. Nicht so genau wie da. |
ohoh... wenn ich mir allein schon die ersten Zeilen anseh kommen mir schon hunderte Fragen :mrgreen: Blacklotus, ich glaub ich werde Dich nacher etwas löchern müssen. Aber erst mal alles in Ruhe durchüberlegen. Zudem bin ich grad mit Bugposting im offiziellen Forum beschäftigt ;-) |
Zitat:
|
Blacklotus, *lach*, na klar. Also nachdem ich mir das auf der Zunge zergehen hab lassen ist die einzige Unklarheit in den ersten Zeilen geblieben. Und zwar: g_emule_sdload := i_TotalDownload - Download_start; g_emule_suload := i_TotalUpload - Upload_start; Welchen Wert repräsentiert denn i_TotalDownload ? Den Download in dieser Esel-Session ? Falls ja, kommen mir da nämlich so einige Gedanken. Übrigens haste das grad super übersichtlich dargestellt. Besser machen und erklären hätte man es nicht können. |
stop.. ich zieh die Frage zurück. Du kannst ja nur die gesamt geladene Menge auslesen. |
Xman, Ist ganz einfach: i_TotalDownload = Ist der momentane gesamt Download von eMule (z.B. 8 MB) i_TotalUpload = Ist der momentane gesamt Upload von eMule (z.B. 7 MB) Download_start und Upload_start = sind auch die gesamt Werte des Down\Uploads nur eben vom Start der OnlineSig bzw dem letzten Reset. aloso z.B. Download_start = 2 MB Upload_start = 1 MB dann bekommen wir mit g_emule_sdload := i_TotalDownload(8MB) - Download_start(2MB); g_emule_suload := i_TotalUpload(7MB) - Upload_start(1MB); den traffic dieser Session. g_emule_sdload = 6MB g_emule_suload = 6MB |
Naja war schon dabei ;) richtig das ist es ja, sonst könnte man sich das sparen ;) |
Ich gibs ja nur ungern zu.. aber: ich habs inzwischen wirklich gecheckt ;-) Muß außerdem auch noch zugeben: mir fällt nix ein was man besser machen kann :mrgreen: Zitat:
Zitat:
Wie gesagt, alle Unklarheiten beseitigt. Hab Dir vielen Dank für die Erklärungen. Bist super! |
danke danke :oops: |
Alle Zeitangaben in WEZ +1. Es ist jetzt 20:54 Uhr. |
Powered by vBulletin® Version 3.8.3 (Deutsch)
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
SEO by vBSEO ©2011, Crawlability, Inc.