Du bist nicht eingeloggt.

B2B-Realm Status

Social Networks

B2B auf Twitter
B2B auf Facebook

Bugtracker

Account erstellen   |   Login   |   Download / How To Play   |  FAQ   |   Support

81

Donnerstag, 7. März 2013, 08:30

Das ist der Link des AH's zur Homepage?

Hoeloe

Lehrling

Beiträge: 8

Registrierungsdatum: 23.02.2013

  • Private Nachricht

82

Donnerstag, 7. März 2013, 09:58

Okay, cool...
Und jetzt noch für die "ich hab kein Plan was das sein soll"-Leute? :D

BTW: Die Lags sind zwar nerftötend, aber es ist auszuhalten. Es ist egal wie lange es dauert, hauptsache man sieht das dran gearbeitet wird. Gute Arbeit! :thumbup:
Lg Hoeloe

fgreinus

Ehemaliges Teammitglied

Beiträge: 2 626

Registrierungsdatum: 10.12.2011

Wohnort: Hamburg

  • Private Nachricht

83

Donnerstag, 7. März 2013, 10:02

Vermutlich meint er damit, dass das Online-Auktionshaus (Navigation links auf der Seite -> Auktionshaus) und die damit einhergehenden Kern-Funktionen vom Spiel-Server nicht gerade sehr performant sind und u.A. für Laggs sorgen.

Edit:
@Exo: Iiiiiiih KDE :D. Xfce <3 !

84

Donnerstag, 7. März 2013, 10:40

Die Systemauslastung ist aktuell so gering und ein Hardwareschaden kann auch komplett ausgeschlossen werden, so dass Laggs nun wirklich nur noch am Core liegen können.
1.Server: Mangos: s1514 SD2: s2438
2.Server: CMangos: 1982

85

Donnerstag, 7. März 2013, 11:09

Bevor ich dich jetzt flame würde ich gern erst wissen was du willst.

Mod

Ehemaliges Teammitglied

Beiträge: 1 308

Registrierungsdatum: 14.08.2010

Wohnort: Darmstadt

Hauptcharakter: Mareni

Gilde: Afterlife

  • Private Nachricht

86

Donnerstag, 7. März 2013, 11:11

Einen Performancekiller hat Exo bereits ausfindig gemacht:

Valgrind <3. Das ist der Handler, wenn der Client das AH durchstöbert ;). Also nichts mit HP oder so, dass Problem wird ingame verursacht. Es bedeutet auf dem ersten Blick auch nicht, dass es garantiert Laggs erzeugt. Aber es frisst zeitweise unnatürlich hohe CPU-Ressourcen, was tatsächliche dann zu Laggs führen kann.







PS: Dev != GM -> Supportanfragen werden von mir konsequent ignoriert!

Exordian

Administrator

Beiträge: 178

Registrierungsdatum: 02.05.2012

  • Private Nachricht

87

Donnerstag, 7. März 2013, 11:19

Da nun bereits bekannt ist woran es genau liegt - falls sich jemand Gedanken drüber machen will:
https://github.com/cmangos/mangos-tbc/bl…andler.cpp#L570

AuctionSorter sorter(Sort, GetPlayer());
std::sort(auctions.begin(), auctions.end(), sorter);

Die beiden Zeilen müssen raus.

Das Problem is das wir atm 5.500 Auktionen haben, diese werden beim Ansprechen von einem Auktionator erstmal sortiert. Das die Implementierung von std::sort is ne Mischung aus nem Quick und Heapsort - somit is die Komplexität N*log(N), jedoch ist beim Vergleichsvorgang nochmals eine Iteration die maximal 12x ausgeführt wird.
Somit haben wir ungefähr 5500*log(5500) * 12 ~ im Worstcase 500.000 Iterationen für nur eine Sortierung, wobei der Großteil davon garnicht für den Client relevant ist, weil der eh nur 30 Items angezeigt bekommt. Dadurch dass alle Spieler in der gesammten Welt gleichzeitig in einen neuen World Update Cycle kommen müssen, müssen auch alle Spieler warten bis der, der beim Auktionshaus nach der Item Liste angefragt seine Antwort hat.

- Dies passt auch sehr gut damit zusammen, dass die Lags erst bei mehr Spielern aufgetreten sind, und auch Nachts, wenn weniger Online sind, auftreten, da die Lags proportional zu den AH Items skallieren.

Achja - sollte sich ein Community Dev dem Problem annehmen würden wir das nicht ablehnen, die Quick-Fix Lösung wird vermutlich ein vorrübergehndes Schließen des Auktionshaus sein.

Cato

Ehemaliges Teammitglied

Beiträge: 997

Registrierungsdatum: 31.01.2012

Wohnort: Österreich

  • Private Nachricht

88

Donnerstag, 7. März 2013, 11:22

Zusätzlicher Lösungsansatz: AH-Gebühren wieder einführen, das Auktionshaus läuft mittlerweile offensichtlich ja ziemlich gut. Die wurden ja aus dem Spiel genommen, um den Handel und die Wirtschaft anzukurbeln, allerdings wird derzeit echt jeder Blödsinn auktioniert.
Ceterum censeo.... ach, was soll's.

Asmodan

Heroe

Beiträge: 892

Registrierungsdatum: 20.06.2011

  • Private Nachricht

89

Donnerstag, 7. März 2013, 11:35

hmh, nen weiterer ansatzwäre vielleicht, da ich nicht weiß wie es umsetzbar ist,
das Ah/die Items die drin sind zu splitten in teilAHs - hab das mal auf nem anderen Server gesehn in soner Art.




mangos: 1749 / sd2: s2634

antifreak

Drachentöter

Beiträge: 1 366

Registrierungsdatum: 01.09.2010

Gilde: Innocence of Cræck

  • Private Nachricht

90

Donnerstag, 7. März 2013, 11:41

klingt für mich so, als wäre das allgemeine design ein wenig fraglich. klar, der user hat ein paar optionen, die er einstellen kann, aber im endeffekt könnte man den kram doch schon grundlegend sortiert im speicher halten, und dann wärend der abfrage eben nur iterieren und ein paar vergleichesoperatoren aufrufen, und das ganze bei <=30 auktionen terminieren lassen. hab mir das jetzt nicht so genau angesehen, und weiß auch nicht ganz, wie das auslaufen der auktionen gehandhabt wird, aber ein sortierter container wäre meiner meinung nach schon sinnvoll.


fgreinus

Ehemaliges Teammitglied

Beiträge: 2 626

Registrierungsdatum: 10.12.2011

Wohnort: Hamburg

  • Private Nachricht

91

Donnerstag, 7. März 2013, 12:20

Ich hatte mich als erstes gefragt, wie TrinityCore das gelöst hat. Habe gerade nicht die Zeit mich da intensiver reinzulesen, aber hier ist die Zeile in deren Core:https://github.com/lamas525/Trinitycore-…andler.cpp#L583

kitharo

Lehrling

Beiträge: 3

Registrierungsdatum: 21.01.2013

  • Private Nachricht

92

Donnerstag, 7. März 2013, 12:30

Danke euch. Ich denke der Schritt zur Integration auf RG wird viele Vorteile für beide bringen.
Danke für die Zeit die ihr investiert.

Jetzt falle ich gleich mal mit der Tür ins Haus:

Sind MovementMaps nun möglich bzw. gibts die schon bei Mang0s?

Betagan

Wandelnde Legende

Beiträge: 1 698

Registrierungsdatum: 22.08.2010

Wohnort: Kiel

Hauptcharakter: Betagan

Gilde: Bloodline

  • Private Nachricht

93

Donnerstag, 7. März 2013, 12:37

Es macht eigentlich keinen Sinn, dass dort sortiert wird. Das sollte clientseitig gehen oO



fgreinus

Ehemaliges Teammitglied

Beiträge: 2 626

Registrierungsdatum: 10.12.2011

Wohnort: Hamburg

  • Private Nachricht

94

Donnerstag, 7. März 2013, 12:39

Nehmt die Zeilen halt mal raus und guckt was passiert :D:D:D.

Asmodan

Heroe

Beiträge: 892

Registrierungsdatum: 20.06.2011

  • Private Nachricht

95

Donnerstag, 7. März 2013, 12:46

Nehmt die Zeilen halt mal raus und guckt was passiert :D:D:D.
Schlimmer werden kanns ja aktuell kaum ;D

Ähm, wenn durch das sortieren so viel Leistung gefressen wird, wie verhalten sich dann Addons, die das Ah "durchsuchen"

also u.a. Auctioneer, mit dem ja das AH durchsuchen kann um datenzu speichern, wird da bei jeder Seite erneut alles durchlaufen?Oo
Falls ja, könnte das evtl mit beitragen zu den laggs...




mangos: 1749 / sd2: s2634

RalPhish

Fachmann

Beiträge: 282

Registrierungsdatum: 12.11.2011

  • Private Nachricht

96

Donnerstag, 7. März 2013, 12:49

Mit dem Addon Auctioneer kann man Auktionen nach mehr Kategorien sortieren als das Standard Blizz Auktionshaus und da ich bezweifle dass ein Addon Aktionen auf dem Server auslöst sollte es wohl zumindest eingeschränkte Möglichkeiten geben das im Client zu erledigen

Ist das das Standard Mangos AH? Das sollte ja dann an sich nicht so ressourcenfressend sein, oder?

Sobald sich das rumspricht werden die Leute massenhaft ans AH gehen und schaun obs lagt wenn sie da was machen^^

antifreak

Drachentöter

Beiträge: 1 366

Registrierungsdatum: 01.09.2010

Gilde: Innocence of Cræck

  • Private Nachricht

97

Donnerstag, 7. März 2013, 12:50

alle addons kommunizieren nicht mit dem server. macht auch keinen sinn. auctioneer verwaltet nur die daten, die vom server an den client bereit gestellt werden, es fordert keine an.


kitharo

Lehrling

Beiträge: 3

Registrierungsdatum: 21.01.2013

  • Private Nachricht

98

Donnerstag, 7. März 2013, 13:18

alle addons kommunizieren nicht mit dem server. macht auch keinen sinn. auctioneer verwaltet nur die daten, die vom server an den client bereit gestellt werden, es fordert keine an.

Jedoch kann ein Addon wie Auctioneer schneller auf das AH zugreifen als es ein Mensch könnte und somit mehr Serverabfragen generieren.

Duke

Fachmann

Beiträge: 252

Registrierungsdatum: 05.08.2011

Wohnort: Baden-Württemberg

  • Private Nachricht

99

Donnerstag, 7. März 2013, 13:21

Wird die Sortierung wirklich jedes Mal neu berechnet, wenn ein Auktionator angesprochen wird ? oO
Wäre es nicht sinnvoller die Sortierung nur beim Hinzufügen/Entfernen (Einstellen/Kaufen) von Auktionen neu zu berechnen (pauschal für den gesamten Server) und dann den Spielern einfach die bereits sortierte "Datenbank" zu schicken, anstatt jedes Mal wieder neuen Rechenaufwand zu haben ?

Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von »Duke« (7. März 2013, 13:28)


p4ddY

Fachmann

Beiträge: 318

Registrierungsdatum: 30.08.2010

  • Private Nachricht

100

Donnerstag, 7. März 2013, 13:32

Wäre es möglich als Übergangsfix eine stündliche Abfrage für den Server zu generieren? Der für alle gültig ist?
So müsste es jede Stunde einmal zur zu nem lag kommen.
Kp nur ein Vorschlag kenne mich nicht so sehr mit programmieren aus
Mfg

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »p4ddY« (7. März 2013, 13:41)