The West zu performancelastig

jeudi 4 septembre 2014

Hallo erst einmal.



Bevor die ersten gleich wieder rumjammern: "Das hatten wir doch schon alles...", ich habe mit der Suchfunktion versucht etwas ähnliches aufzuspüren, bin aber lediglig auf einen Thread gestoßen, um den es um starke Prozessor-Auslastung durch blinkende Animationen ging. In diesen Post will ich jedoch darauf aufmerksam machen, dass in "The West" generell enorm Resourcen-verschwenderischer Code verwendet wird, der eigentlich schon jenseits von gut und böse ist.



Vielleicht erstmal etwas zu meiner Person: bin Systemtechniker im mittleren Alter und spiele jetzt "The West" schon fast ein Jahr lang aktiv. Habe einen Account auf Welt 1 und noch einen zweiten auf Welt 16.



Nun aber zum eigentlichen Problem:

"The West" ist so geschaffen, dass man sich regelmäßig über den Tag verteilt kurz einloggen muss um dann Aktionen ausführen zu können. Da mir mein neuwertiger Desktop-PC zu schade ist, regelmäßig nur für kurze Handlungen in "The West" hoch und runter zu fahren, benutze ich hin und wieder mein altes Gamer-Notebook. Es ist schon etwas in die Jahre gekommen und verfügt auch nur über einen Single-Core-Processor. Neue anspruchsvolle Spiele laufen darauf natürlich nicht mehr zufriedenstellend, aber vor einpaar Jahren habe ich darauf noch aufwendige 3D-Games wie z.B. "Testdrive Unlimited" ohne Probleme gezockt, ist ja schließlich auch ein Gamer-Notebook.



Obwohl "The West" eigentlich ein relativ einfaches Browsergame ist, musste ich schmerzhaft feststellen, dass es denoch in der Lage ist, mein Gamer-Notebook bis an die Leistungsgrenze zu bringen. Ich wollte es erst nicht glauben, eingeloggt in "The West" ist der Prozessor permanent mit 100% ausgelastet. Ständig gibt es Aussetzer von 2-6 Sekunden, bei denen die Bildausgabe stoppt und auch keine Aktionen möglich sind. Es laufen keine weiteren Tasks. Die 100% Auslastung liegen komplett auf dem Browser-Prozess und auch im Browser ist nur ein einziger Tab aktiv mit "The West".



Wie bereits erwähnt habe ich mit diesem Notebook ältere aber dennoch anspruchsvolle Spiele ohne jegliche Performence-Probleme zocken können. Als Beispiel nannte ich hier bereits "Testfrive Unlimited" ein openWorld 3D-Racinggame. "The West" mit "Testdrive Unlimited" zu vergleichen, käme ein Vergleich mit "DOS 5.0" und "Windows 8" sehr nahe. Zwischen diesen Spielen liegen einfach Welten, was es vor allem den multimedialen Inhalten anbelangt. Dass "The West" trotzdem so leistungshungrig ist, mag höchstwahrscheinlich an die Unfähigkeit der Programmierer bei InnoGames zurückzuführen sein. Das Problem liegt nämlich bei der Ausführung von Skripten.



Anscheinend werden endlos viele Skripte in Dauerschleife ausgeführt, was die hohe Systemauslastung erzeugt.

Die Endlosausführung ist eine Problem: Es macht einfach keinen Sinn, bestimmte Skripte viele Male in einer Sekunde auszuführen. Es würde völlig ausreichen, wenn bestimmte Proceduren nur einmal in der Sekunde oder sogar nur alle x Sekunden ausgeführt würden.



Das andere Problem: Viele Skripte könnten komplett gestoppt werden und bräuchten eigentlich nur bei bestimmten Ereignissen einmal ausgeführt werden.

Einige Funktionen sind sogar extrem nervig und meines Erachtens nach absolut sinnfrei: zu nennen wäre hier z.B. die Sortierung und Auflistung der Freundesliste in Echtzeit. Der Großteil meiner "Freunde" wurden rein zweckmäßigerweise betreff idiotischer "Klick'n'nerv-Events" geaddet und mir interessiert es im Grunde genommen nicht die Bohne wer gerade online, abwesend oder offline ist und schon garnicht interessiert mich die bürokratische Sortierung nach Level oder Status. Wenn ich wirklich wissen will, was einer meiner "wichtigen Freunde" treibt, nutze ich den Search-Button.

Gerade bei den eben genannten "Klick-Events" wurden die Nerven teilweise arg gefordet, wenn man gerade wieder mal den gesammten "Freundes-Stamm" durchging und wie ein Bessener die Klickorgien zum Event durchführte und dann alle 2-3 Sekunden, wenn jemand on, off oder abwesend ging, die komplette Freundesliste neu sortiert wurde. Da musste man dann schon mal die Freundesliste mehrmals durchscrollen, um auch ja niemanden zu vergessen. Also echt mal ... Hier wäre es wohl sinnvoller einen neuen Button neben den bereits bestehenden einzuführen, auf dem man klicken könnte, wenn mal jemand wirklich seine Freundesliste aktuallisiert und sortiert haben möchte, denn besonders das ständige Sortieren der Freundesliste sorgt für die Sekundenlangen Aussetzer. Und übrigens: das Ausblenden der Freundesleiste scheint keinen Einfluss auf die Aktualliesierung und Sortierung derselben zu haben. Wäre doch eigentlich logisch wenn bei Ausblendung der Leiste alle Skripts diesbezüglich gestoppt wären. Warum dies nicht so ist, werden wir wohl nie erfahren.



Wie unlogisch und nicht nachvollziehbar der Code dieses Browsergames ist, zeigt auch folgende Tatsache nochmal ganz deutlich: starte ich meinen Web-Browser und öffne die URL "http://ift.tt/Yfglof;, also die Einlog-Seite von "The West", dann ist mein Gamer-Notebook bereits just in diesen Augenblick, obwohl wirklich keine anderen Anwendungen oder Browser-Tabs aktiv sind, zu ca. 30% bis 70% (stark schwankend) ausgelastet. Eine Website mit einem Mouse-Button zum Einloggen reizt die Systemleistung eines Gamer-Notebooks, mit dem ich mir ohne Probleme High-Resolution-Videos anschaue oder anspruchsvolle Games zocke, wenn auch nicht mehr aktuelle, zu 70% aus. Hallelujah, da hat einer aber seine Hausaufgaben nicht korrekt gemacht. Wahrscheinlich wird auf der Login-Seite 1.267.456 mal pro Sekunde eine Eingabeabfrage durchgeführt, ob der Einlog-Button mit der Mouse angeklickt wurde. Schließlich will man den Nutzer nicht lange warten lassen und möglichst schnell auf seine Eingabe reagieren. Neh echt jetzt Spass bei Seite und eine ernst gemeine Frage an InnoGames: Was passiert da eigentlich auf der Login-Seite? Ich meine man ist nicht eingeloggt und das Spiel ist nicht geladen, lediglich die Willkommens-Seite mit dem Login-Button ist zu sehen, eigentlich müßte das Anzeigen dieser Website exakt 0% Systemauslastung betragen.



Ich habe übrigens die oben erwähnten Phänomene von "The West" auch auf anderen Computer-Systeme ausgiebig getestet und reproduzieren können.

Bei einem Duo-Core-Desktop mit 2GHz systemtakt schlägt "The West" im Schnitt mit ca. 70-80% Systemauslastung zu buche.

Selbst bei meinem Achtkerner-PC mit 3.8 Ghz Takt ist die Resourcen-verschwenderische Orgie von "The West" mit ca. 8% deutlich zu erkennen. Klingt erstmal wenig, aber hallo ich spreche hier von einem System mit acht Kernen mit jeweils 3.8Ghz, wobei die 8% Gesammtauslastung umgerechnet einen Kern zu ca. zwei Drittel auslastet und das dafür, damit im Browesertab ein statisches Bild als Map angezeigt wird und darauf eine kleine Animation mit einem Cowboy zu sehen ist. Die Anzeige von dem Bild benötigt, nachdem das Bild einmal geladen und dargestellt wurde, genau Null Leistung. Die Cowboyanimation hätte ein 8086-XT mit 8Mhz Takt ohne Probleme bewältigt. Gut gemacht InnoGames!





Da die Länge von Beiträgen in diesen Forum auf 10.000 Bytes beschnitten, muß ich meinen Post in zwei Beiträgen splitten.



--- FORTSETZUNG IM NÄCHSTEN BEITRAG ---




0 commentaires:

Enregistrer un commentaire

 

Lorem

Ipsum

Dolor