-
Notifications
You must be signed in to change notification settings - Fork 4
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Mudlet Lag nach langen Kämpfen #68
Comments
Die Ursache liegt wohl in initCharGUI() und darin dem registerAnonymousEventHandler auf gmcp.MG.char: function initCharGUI()
GUI = GUI or {}
GUI.Char = GUI.Char or {}
getGMCPdata()
initCharFrame()
if not table.is_field(gmcp, "MG.char") then
-- anscheinend noch nicht eingeloggt, dann können wir noch nix anzeigen!
registerAnonymousEventHandler("gmcp.MG.char", function()
tempTimer(1, function()
display("-- initCharFrame Timer activated.")
killAnonymousEventHandler(GUI.Char.initCharFrameHandler)
initCharGUI()
end)
display("-- initCharFrame Timer scheduled.")
end)
return
end
initName()
initGauges()
initFlucht()
initAvatar()
initStufe()
end Im Kampf zeigt sich hier dank display(), dass der Timer bei jedem Tick eingeplant und aktiviert wird. Es zeigt sich hier sogar bei Login, dass der Timer über 5x aufgerufen wird. Die (schnelle, dreckige) Lösung könnte darin liegen, diesen Timer nur genau 1x zu rufen, dann nie wieder. |
Nach einer Weile fällt auf, dass Mudlet nicht mehr reagiert.
Es scheint damit zusammen zu hängen, dass per GMCP neue Infos reinkommen.
Bspw. wenn man im Kampf zaubert oder gehauen wird, und sich KP/LP verändern.
Dann anschließend, wenn die KP/LP langsam wieder hochticken, passiert es erneut.
Da das Lag teilweise einige Sekunden dauert, kommt schon der nächste Tick, und das Problem multipliziert sich.
Das Lag bedeutet auch nicht nur, dass Text aus dem Spiel verzögert angezeigt wird.
Statt dessen reagiert Mudlet komplett gar nicht mehr auf Eingaben.
Man kann keine Buttons klicken, nicht ein anderes Profil öffnen, usw.
Windows zeigt Mudlet weiß verfärbt an und titelt "(keine Rückmeldung)"
Der Task Manager zeigt deutlich erhöhte CPU-Auslastung in dieser Zeit.
Nachdem das Lag verschwunden ist, erscheint im Mudlet Debug mehrfach folgender Text:
Da wiederholt sich "createLabel" ziemlich oft, nämlich ebenfalls alle paar Sekunden, und schlägt fehl.
Seltsam daran ist, dass nirgendwo im ganzen Code von mg-mudlet die Funktion createLabel gerufen wird.
Augenscheinlich liegt es an Adjustable.Container:new(), der dann intern weitere Funktionen ruft.
Diese internen Funktionen passen zu den ersten Fehlermeldungen, die sich hier wiederholen, bspw.
The text was updated successfully, but these errors were encountered: